negodesign 0.0.11 → 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.
Files changed (215) 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/shared/CardButton.svelte +30 -0
  24. package/dist/components/core/card/shared/CardButton.svelte.d.ts +12 -0
  25. package/dist/components/core/card/shared/CardDescription.svelte +23 -0
  26. package/dist/components/core/card/shared/CardDescription.svelte.d.ts +6 -0
  27. package/dist/components/core/card/shared/CardFavorite.svelte +28 -0
  28. package/dist/components/core/card/shared/CardFavorite.svelte.d.ts +7 -0
  29. package/dist/components/core/card/shared/CardStarRating.svelte +20 -0
  30. package/dist/components/core/card/shared/CardStarRating.svelte.d.ts +7 -0
  31. package/dist/components/core/card/shared/CardTags.svelte +56 -0
  32. package/dist/components/core/card/shared/CardTags.svelte.d.ts +10 -0
  33. package/dist/components/core/card/shared/CardThumbnailVideo.svelte +170 -0
  34. package/dist/components/core/card/shared/CardThumbnailVideo.svelte.d.ts +10 -0
  35. package/dist/components/core/card/shared/TruncatableText.svelte +56 -0
  36. package/dist/components/core/card/shared/TruncatableText.svelte.d.ts +8 -0
  37. package/dist/components/core/card/types.d.ts +44 -0
  38. package/dist/components/core/carousel/types.d.ts +23 -0
  39. package/dist/components/core/carousel/ui/SimpleCarousel.svelte +62 -0
  40. package/dist/components/core/carousel/ui/SimpleCarousel.svelte.d.ts +4 -0
  41. package/dist/components/core/datatable/ui/DataTableCore.svelte +5 -5
  42. package/dist/components/core/form/ui/input-code-otp.svelte +3 -3
  43. package/dist/components/core/form/ui/input-code-otp.svelte.d.ts +2 -2
  44. package/dist/components/core/form/ui/input-email-or-phone.svelte +1 -1
  45. package/dist/components/core/form/ui/input-email.svelte +1 -1
  46. package/dist/components/core/form/ui/input-password-confirm.svelte +1 -1
  47. package/dist/components/core/form/ui/input-password.svelte +1 -1
  48. package/dist/components/core/form/ui/input-phone.svelte +1 -1
  49. package/dist/components/core/form/ui/input-username.svelte +2 -2
  50. package/dist/components/core/nav/data/nav-menu-sidebar.d.ts +7 -7
  51. package/dist/components/core/nav/data/nav-menu.d.ts +31 -0
  52. package/dist/components/core/nav/data/nav-user-sidebar.d.ts +1 -1
  53. package/dist/components/core/nav/ui/menu-links.svelte +28 -0
  54. package/dist/components/core/nav/ui/menu-links.svelte.d.ts +10 -0
  55. package/dist/components/core/nav/ui/mobile/nav-menu-drawer.svelte +85 -0
  56. package/dist/components/core/nav/ui/mobile/nav-menu-drawer.svelte.d.ts +9 -0
  57. package/dist/components/core/nav/ui/{nav-menu-bottom-bar.svelte → nav-menu-bottom-sidebar.svelte} +2 -2
  58. package/dist/components/core/nav/ui/nav-menu-bottom-sidebar.svelte.d.ts +10 -0
  59. package/dist/components/core/nav/ui/nav-menu-header-sidebar.svelte.d.ts +10 -0
  60. package/dist/components/core/nav/ui/{nav-menu-bar.svelte → nav-menu-sidebar.svelte} +7 -7
  61. package/dist/components/core/nav/ui/nav-menu-sidebar.svelte.d.ts +7 -0
  62. package/dist/components/core/nav/ui/nav-menu-top-bar-sidebar.svelte.d.ts +4 -0
  63. package/dist/components/core/nav/ui/nav-menu.svelte +98 -0
  64. package/dist/components/core/nav/ui/nav-menu.svelte.d.ts +4 -0
  65. package/dist/components/core/nav/ui/nav-user-sidebar.svelte +2 -2
  66. package/dist/components/core/nav/ui/nav-user-sidebar.svelte.d.ts +2 -2
  67. package/dist/components/core/panel/LeftHero.svelte +3 -3
  68. package/dist/components/core/panel/LeftHero.svelte.d.ts +2 -2
  69. package/dist/components/core/search/01/Search01.svelte +15 -0
  70. package/dist/components/core/search/01/Search01.svelte.d.ts +4 -0
  71. package/dist/components/core/search/02/Search02.svelte +15 -0
  72. package/dist/components/core/search/02/Search02.svelte.d.ts +4 -0
  73. package/dist/components/core/search/SearchInput.svelte +32 -0
  74. package/dist/components/core/search/SearchInput.svelte.d.ts +4 -0
  75. package/dist/components/core/search/shared/SearchInputCore.svelte +66 -0
  76. package/dist/components/core/search/shared/SearchInputCore.svelte.d.ts +4 -0
  77. package/dist/components/core/search/types.d.ts +15 -0
  78. package/dist/components/core/sidebar/MenuBarSidebar.svelte +14 -14
  79. package/dist/components/core/sidebar/MenuBarSidebar.svelte.d.ts +8 -8
  80. package/dist/components/pages/admin/{ui → 01/ui}/AdminContent.svelte +1 -1
  81. package/dist/components/pages/admin/{ui → 01/ui}/AdminContent.svelte.d.ts +1 -1
  82. package/dist/components/pages/admin/{ui → 01/ui}/AdminPanel.svelte +8 -8
  83. package/dist/components/pages/admin/{ui → 01/ui}/AdminPanel.svelte.d.ts +4 -4
  84. package/dist/components/pages/privacy-policy-or-terms-of-use/01/DocsSidebar.svelte +69 -0
  85. package/dist/components/pages/privacy-policy-or-terms-of-use/01/DocsSidebar.svelte.d.ts +10 -0
  86. package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte +73 -0
  87. package/dist/components/pages/privacy-policy-or-terms-of-use/01/PrivacyPolicyOrTermsOfUse01.svelte.d.ts +7 -0
  88. package/dist/components/pages/privacy-policy-or-terms-of-use/01/TableOfContents.svelte +37 -0
  89. package/dist/components/pages/privacy-policy-or-terms-of-use/01/TableOfContents.svelte.d.ts +8 -0
  90. package/dist/components/pages/privacy-policy-or-terms-of-use/02/DocsPageHero.svelte +59 -0
  91. package/dist/components/pages/privacy-policy-or-terms-of-use/02/DocsPageHero.svelte.d.ts +10 -0
  92. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PageHero.svelte +51 -0
  93. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PageHero.svelte.d.ts +14 -0
  94. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte +24 -0
  95. package/dist/components/pages/privacy-policy-or-terms-of-use/02/PrivacyPolicyOrTermsOfUse02.svelte.d.ts +7 -0
  96. package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte +32 -0
  97. package/dist/components/pages/privacy-policy-or-terms-of-use/PrivacyPolicyOrTermsOfUse.svelte.d.ts +4 -0
  98. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/ContentBlockView.svelte +26 -0
  99. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/ContentBlockView.svelte.d.ts +7 -0
  100. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/DocSectionView.svelte +44 -0
  101. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/DocSectionView.svelte.d.ts +7 -0
  102. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte +34 -0
  103. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte.d.ts +7 -0
  104. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/toc.d.ts +8 -0
  105. package/dist/components/pages/privacy-policy-or-terms-of-use/shared/toc.js +14 -0
  106. package/dist/components/pages/privacy-policy-or-terms-of-use/types.d.ts +62 -0
  107. package/dist/components/pages/privacy-policy-or-terms-of-use/types.js +5 -0
  108. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/ForgetPasswordCard.svelte +15 -10
  109. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/ForgetPasswordCard.svelte.d.ts +0 -5
  110. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/FormForgetPassword.svelte +15 -5
  111. package/dist/components/pages/{forget-password → security/forget-password}/01/ui/PageForgetPassword01.svelte +6 -6
  112. package/dist/components/pages/{forget-password → security/forget-password}/PageForgetPassword.svelte +10 -7
  113. package/dist/components/pages/{forget-password → security/forget-password}/PageForgetPassword.svelte.d.ts +0 -7
  114. package/dist/components/pages/{forget-password → security/forget-password}/types.d.ts +3 -3
  115. package/dist/components/pages/{login → security/login}/01/ui/FormLogin.svelte +19 -15
  116. package/dist/components/pages/{login → security/login}/01/ui/FormLogin.svelte.d.ts +0 -6
  117. package/dist/components/pages/{login → security/login}/01/ui/FormLoginEmailPassword.svelte +10 -1
  118. package/dist/components/pages/{login → security/login}/01/ui/FormLoginEmailPassword.svelte.d.ts +0 -1
  119. package/dist/components/pages/{login → security/login}/01/ui/FormLoginPhonePassword.svelte +10 -1
  120. package/dist/components/pages/{login → security/login}/01/ui/FormLoginPhonePassword.svelte.d.ts +0 -1
  121. package/dist/components/pages/{login → security/login}/01/ui/FormLoginUsernamePassword.svelte +10 -1
  122. package/dist/components/pages/{login → security/login}/01/ui/FormLoginUsernamePassword.svelte.d.ts +0 -1
  123. package/dist/components/pages/{login → security/login}/01/ui/FormRegister.svelte +5 -5
  124. package/dist/components/pages/{login → security/login}/01/ui/LoginCard.svelte +28 -20
  125. package/dist/components/pages/security/login/01/ui/LoginCard.svelte.d.ts +13 -0
  126. package/dist/components/pages/{login → security/login}/01/ui/PageLogin01.svelte +12 -11
  127. package/dist/components/pages/security/login/PageLogin.svelte +22 -0
  128. package/dist/components/pages/security/login/PageLogin.svelte.d.ts +8 -0
  129. package/dist/components/pages/security/login/types.d.ts +33 -0
  130. package/dist/components/pages/security/login/types.js +1 -0
  131. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/FormOtpVerification.svelte +13 -3
  132. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/OtpVerificationCard.svelte +15 -10
  133. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/OtpVerificationCard.svelte.d.ts +0 -5
  134. package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/PageOtpVerification01.svelte +12 -6
  135. package/dist/components/pages/{otp-verification → security/otp-verification}/PageOtpVerification.svelte +10 -4
  136. package/dist/components/pages/{otp-verification → security/otp-verification}/PageOtpVerification.svelte.d.ts +0 -4
  137. package/dist/components/pages/{otp-verification → security/otp-verification}/types.d.ts +3 -3
  138. package/dist/components/pages/security/otp-verification/types.js +1 -0
  139. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/FormResetPassword.svelte +15 -5
  140. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/PageResetPassword01.svelte +12 -6
  141. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/ResetPasswordCard.svelte +15 -10
  142. package/dist/components/pages/{reset-password → security/reset-password}/01/ui/ResetPasswordCard.svelte.d.ts +0 -5
  143. package/dist/components/pages/{reset-password → security/reset-password}/PageResetPassword.svelte +10 -4
  144. package/dist/components/pages/{reset-password → security/reset-password}/PageResetPassword.svelte.d.ts +0 -4
  145. package/dist/components/pages/{reset-password → security/reset-password}/types.d.ts +3 -3
  146. package/dist/components/pages/security/reset-password/types.js +1 -0
  147. package/dist/components/ui/button/button.svelte +82 -101
  148. package/dist/components/ui/button/button.svelte.d.ts +36 -63
  149. package/dist/components/ui/button/index.d.ts +2 -2
  150. package/dist/components/ui/button/index.js +2 -2
  151. package/dist/components/ui/carousel/carousel-content.svelte +43 -0
  152. package/dist/components/ui/carousel/carousel-content.svelte.d.ts +5 -0
  153. package/dist/components/ui/carousel/carousel-item.svelte +30 -0
  154. package/dist/components/ui/carousel/carousel-item.svelte.d.ts +5 -0
  155. package/dist/components/ui/carousel/carousel-next.svelte +40 -0
  156. package/dist/components/ui/carousel/carousel-next.svelte.d.ts +4 -0
  157. package/dist/components/ui/carousel/carousel-previous.svelte +40 -0
  158. package/dist/components/ui/carousel/carousel-previous.svelte.d.ts +4 -0
  159. package/dist/components/ui/carousel/carousel.svelte +94 -0
  160. package/dist/components/ui/carousel/carousel.svelte.d.ts +5 -0
  161. package/dist/components/ui/carousel/context.d.ts +31 -0
  162. package/dist/components/ui/carousel/context.js +12 -0
  163. package/dist/components/ui/carousel/index.d.ts +6 -0
  164. package/dist/components/ui/carousel/index.js +8 -0
  165. package/dist/components/ui/input-group/input-group-addon.svelte +6 -0
  166. package/dist/components/ui/input-group/input-group-addon.svelte.d.ts +6 -0
  167. package/dist/components/ui/light-switch/light-switch.svelte +17 -6
  168. package/dist/components/ui/light-switch/light-switch.svelte.d.ts +2 -2
  169. package/dist/components/ui/star-rating/index.d.ts +2 -0
  170. package/dist/components/ui/star-rating/index.js +2 -0
  171. package/dist/components/ui/star-rating/star-rating-star.svelte +41 -0
  172. package/dist/components/ui/star-rating/star-rating-star.svelte.d.ts +4 -0
  173. package/dist/components/ui/star-rating/star-rating.svelte +20 -0
  174. package/dist/components/ui/star-rating/star-rating.svelte.d.ts +4 -0
  175. package/dist/components/ui/star-rating/types.d.ts +5 -0
  176. package/dist/components/ui/star-rating/types.js +1 -0
  177. package/dist/globals.css +602 -36
  178. package/dist/hooks/responsive.svelte.d.ts +3 -0
  179. package/dist/hooks/responsive.svelte.js +18 -0
  180. package/dist/i18n/index.d.ts +2 -2
  181. package/dist/i18n/index.js +2 -2
  182. package/dist/i18n/langs/en.d.ts +22 -8
  183. package/dist/i18n/langs/en.js +22 -8
  184. package/dist/i18n/langs/pt.d.ts +22 -8
  185. package/dist/i18n/langs/pt.js +22 -8
  186. package/dist/i18n/translations.d.ts +44 -16
  187. package/dist/index.d.ts +14 -9
  188. package/dist/index.js +14 -9
  189. package/dist/styles/globals.css +143 -141
  190. package/dist/types/index.d.ts +4 -4
  191. package/package.json +11 -9
  192. package/dist/components/core/carousel/data/CarouselModel.d.ts +0 -11
  193. package/dist/components/core/nav/ui/nav-menu-bar.svelte.d.ts +0 -7
  194. package/dist/components/core/nav/ui/nav-menu-bottom-bar.svelte.d.ts +0 -10
  195. package/dist/components/core/nav/ui/nav-menu-header.svelte.d.ts +0 -10
  196. package/dist/components/core/nav/ui/nav-menu-top-bar.svelte.d.ts +0 -4
  197. package/dist/components/pages/login/01/ui/LoginCard.svelte.d.ts +0 -21
  198. package/dist/components/pages/login/PageLogin.svelte +0 -21
  199. package/dist/components/pages/login/PageLogin.svelte.d.ts +0 -17
  200. package/dist/components/pages/login/types.d.ts +0 -23
  201. /package/dist/components/{pages/forget-password → core/card}/types.js +0 -0
  202. /package/dist/components/{pages/login → core/carousel}/types.js +0 -0
  203. /package/dist/components/core/{carousel/data/CarouselModel.js → nav/data/nav-menu.js} +0 -0
  204. /package/dist/components/core/nav/ui/{nav-menu-header.svelte → nav-menu-header-sidebar.svelte} +0 -0
  205. /package/dist/components/core/nav/ui/{nav-menu-top-bar.svelte → nav-menu-top-bar-sidebar.svelte} +0 -0
  206. /package/dist/components/{pages/otp-verification → core/search}/types.js +0 -0
  207. /package/dist/components/pages/{forget-password → security/forget-password}/01/ui/FormForgetPassword.svelte.d.ts +0 -0
  208. /package/dist/components/pages/{forget-password → security/forget-password}/01/ui/PageForgetPassword01.svelte.d.ts +0 -0
  209. /package/dist/components/pages/{reset-password → security/forget-password}/types.js +0 -0
  210. /package/dist/components/pages/{login → security/login}/01/ui/FormRegister.svelte.d.ts +0 -0
  211. /package/dist/components/pages/{login → security/login}/01/ui/PageLogin01.svelte.d.ts +0 -0
  212. /package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/FormOtpVerification.svelte.d.ts +0 -0
  213. /package/dist/components/pages/{otp-verification → security/otp-verification}/01/ui/PageOtpVerification01.svelte.d.ts +0 -0
  214. /package/dist/components/pages/{reset-password → security/reset-password}/01/ui/FormResetPassword.svelte.d.ts +0 -0
  215. /package/dist/components/pages/{reset-password → security/reset-password}/01/ui/PageResetPassword01.svelte.d.ts +0 -0
@@ -1,11 +1,11 @@
1
- import type { CarouselProps } from "../carousel/data/CarouselModel";
1
+ import type { LoginCarouselProps } from "../../pages/security/login/types";
2
2
  import type { Snippet } from "svelte";
3
3
  type Props = {
4
4
  title?: string | Snippet;
5
5
  variant?: "NUMBER" | "DOT";
6
6
  autoPlayInterval?: number;
7
7
  };
8
- type $$ComponentProps = Props & CarouselProps;
8
+ type $$ComponentProps = Props & LoginCarouselProps;
9
9
  declare const LeftHero: import("svelte").Component<$$ComponentProps, {}, "">;
10
10
  type LeftHero = ReturnType<typeof LeftHero>;
11
11
  export default LeftHero;
@@ -0,0 +1,15 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Search input with full border (variant 1).
4
+ * @component
5
+ */
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import type { SearchItemProps } from "../types";
10
+ import SearchInputCore from "../shared/SearchInputCore.svelte";
11
+
12
+ let { ...restProps }: SearchItemProps = $props();
13
+ </script>
14
+
15
+ <SearchInputCore {...restProps} variant={1} />
@@ -0,0 +1,4 @@
1
+ import type { SearchItemProps } from "../types";
2
+ declare const Search01: import("svelte").Component<SearchItemProps, {}, "">;
3
+ type Search01 = ReturnType<typeof Search01>;
4
+ export default Search01;
@@ -0,0 +1,15 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Search input with bottom border only (variant 2).
4
+ * @component
5
+ */
6
+ </script>
7
+
8
+ <script lang="ts">
9
+ import type { SearchItemProps } from "../types";
10
+ import SearchInputCore from "../shared/SearchInputCore.svelte";
11
+
12
+ let { ...restProps }: SearchItemProps = $props();
13
+ </script>
14
+
15
+ <SearchInputCore {...restProps} variant={2} />
@@ -0,0 +1,4 @@
1
+ import type { SearchItemProps } from "../types";
2
+ declare const Search02: import("svelte").Component<SearchItemProps, {}, "">;
3
+ type Search02 = ReturnType<typeof Search02>;
4
+ export default Search02;
@@ -0,0 +1,32 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Main Privacy Policy / Terms of Use component.
4
+ * Allows choosing between two layout variants:
5
+ * - **1**: Three-column layout with sidebar, content, and TOC (scroll-spy).
6
+ * - **2**: Simple layout with colored hero and centered content.
7
+ *
8
+ * @component
9
+ * @example
10
+ * ```svelte
11
+ * <!-- Variant 1 (default) — docs layout with sidebar -->
12
+ * <PrivacyPolicyOrTermsOfUse variant={1} data={pageData} />
13
+ *
14
+ * <!-- Variant 2 — layout with hero -->
15
+ * <PrivacyPolicyOrTermsOfUse variant={2} data={pageData} />
16
+ * ```
17
+ */
18
+ </script>
19
+
20
+ <script lang="ts">
21
+ import Search01 from "./01/Search01.svelte";
22
+ import Search02 from "./02/Search02.svelte";
23
+ import type { SearchInputProps } from "./types";
24
+
25
+ let { variant = 1, ...restProps }: SearchInputProps = $props();
26
+ </script>
27
+
28
+ {#if variant === 2}
29
+ <Search02 {...restProps} />
30
+ {:else}
31
+ <Search01 {...restProps} />
32
+ {/if}
@@ -0,0 +1,4 @@
1
+ import type { SearchInputProps } from "./types";
2
+ declare const SearchInput: import("svelte").Component<SearchInputProps, {}, "">;
3
+ type SearchInput = ReturnType<typeof SearchInput>;
4
+ export default SearchInput;
@@ -0,0 +1,66 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Reusable search input component used by Search01 and Search02.
4
+ * Renders a text input with a search icon and submit button.
5
+ * @component
6
+ */
7
+ </script>
8
+
9
+ <script lang="ts">
10
+ import { HugeiconsIcon } from "@hugeicons/svelte";
11
+ import { Search01Icon } from "@hugeicons/core-free-icons";
12
+ import Button from "../../../ui/button/button.svelte";
13
+ import { Separator } from "../../../ui/separator/index";
14
+ import { t } from "../../../../i18n";
15
+ import type { SearchInputProps } from "../types";
16
+
17
+ let { onSubmit, placeholder, variant = 1, buttonClass, inputClass, iconClass }: SearchInputProps = $props();
18
+
19
+ let value = $state("");
20
+
21
+ function handleKeydown(e: KeyboardEvent) {
22
+ if (e.key === "Enter") onSubmit?.(value);
23
+ }
24
+ </script>
25
+
26
+ <div class="container relative">
27
+ <div
28
+ class="mx-auto md:w-11/12 z-10 {variant === 2
29
+ ? 'border-b'
30
+ : 'border bg-input rounded-lg shadow'} m-auto"
31
+ >
32
+ <div class="flex items-center gap-2 py-1 px-2 w-full md:min-h-15">
33
+ <div class="items-center gap-2 hidden md:flex">
34
+ <HugeiconsIcon
35
+ icon={Search01Icon}
36
+ size={20}
37
+ color="currentColor"
38
+ strokeWidth={1.5}
39
+ class={iconClass}
40
+ />
41
+ </div>
42
+ <input
43
+ type="search"
44
+ bind:value
45
+ onkeydown={handleKeydown}
46
+ class="text-sm w-full bg-transparent border-none outline-none focus:outline-none focus:ring-0 focus:border-transparent {inputClass}"
47
+ placeholder={placeholder || $t("label.search.placeholder")}
48
+ />
49
+ <div class="flex gap-1">
50
+ <Separator class="w-full" orientation="vertical" />
51
+ <Button
52
+ onclick={() => onSubmit?.(value)}
53
+ class={`flex justify-center items-center cursor-pointer ${buttonClass}`}
54
+ >
55
+ <HugeiconsIcon
56
+ icon={Search01Icon}
57
+ size={15}
58
+ color="currentColor"
59
+ strokeWidth={2}
60
+ />
61
+ <span class="hidden md:block">{$t("label.search")}</span>
62
+ </Button>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
@@ -0,0 +1,4 @@
1
+ import type { SearchInputProps } from "../types";
2
+ declare const SearchInputCore: import("svelte").Component<SearchInputProps, {}, "">;
3
+ type SearchInputCore = ReturnType<typeof SearchInputCore>;
4
+ export default SearchInputCore;
@@ -0,0 +1,15 @@
1
+ /** Props for the search input component. */
2
+ export interface SearchItemProps {
3
+ /** Callback fired when the user submits the search. */
4
+ onSubmit?: (q: string) => void;
5
+ /** Placeholder text for the input field. */
6
+ buttonClass?: string;
7
+ placeholder?: string;
8
+ inputClass?: string;
9
+ iconClass?: string;
10
+ }
11
+ /** Extended search input props with a visual variant option. */
12
+ export interface SearchInputProps extends SearchItemProps {
13
+ /** Visual variant: 1 = full border, 2 = bottom border only. */
14
+ variant?: 1 | 2;
15
+ }
@@ -2,30 +2,30 @@
2
2
  import * as Sidebar from "../../ui/sidebar/index.js";
3
3
  import type { ComponentProps } from "svelte";
4
4
 
5
- import type { NavUserSidebarItem } from "../nav/data/nav-user-sidebar";
5
+ import type { NavUserSidebarProps } from "../nav/data/nav-user-sidebar";
6
6
  import type {
7
7
  NavMenuItem,
8
- NavMenuSidebar,
8
+ NavMenuSidebarProps,
9
9
  } from "../nav/data/nav-menu-sidebar";
10
10
  import type { Snippet } from "svelte";
11
+ import NavMenuTopBarSidebar from "../nav/ui/nav-menu-top-bar-sidebar.svelte";
12
+ import NavMenuBottomSidebar from "../nav/ui/nav-menu-bottom-sidebar.svelte";
13
+ import NavMenuBarSidebar from "../nav/ui/nav-menu-sidebar.svelte";
11
14
  import NavUserSidebar from "../nav/ui/nav-user-sidebar.svelte";
12
- import NavMenuBar from "../nav/ui/nav-menu-bar.svelte";
13
- import NavMenuBottomBar from "../nav/ui/nav-menu-bottom-bar.svelte";
14
- import NavMenuTopBar from "../nav/ui/nav-menu-top-bar.svelte";
15
15
  import { t } from "../../../i18n";
16
16
 
17
17
  /**
18
- * Sidebar de navegação com menus, usuário e botões.
19
- * @property {NavMenuSidebar[]} menusButtons - Botões do footer (ex: logout)
20
- * @property {NavMenuItem[]} menus - Itens de navegação principal
21
- * @property {NavUserSidebarItem} user - Dados do usuário logado
18
+ * Navigation sidebar with menus, user, and buttons.
19
+ * @property {NavMenuSidebar[]} menusButtons - Footer buttons (e.g., logout)
20
+ * @property {NavMenuItem[]} menus - Main navigation items
21
+ * @property {NavUserSidebarItem} user - Logged-in user data
22
22
  * @property {Snippet} footer - Snippet customizado do footer
23
23
  * @property {Snippet} header - Snippet customizado do header
24
24
  */
25
25
  type Props = {
26
- menusButtons?: NavMenuSidebar[];
26
+ menusButtons?: NavMenuSidebarProps[];
27
27
  menus: NavMenuItem[];
28
- user: NavUserSidebarItem;
28
+ user: NavUserSidebarProps;
29
29
  footer?: Snippet;
30
30
  header?: Snippet;
31
31
  };
@@ -47,7 +47,7 @@
47
47
  {#if header}
48
48
  {@render header?.()}
49
49
  {:else}
50
- <NavMenuTopBar
50
+ <NavMenuTopBarSidebar
51
51
  content={{
52
52
  title: $t("label.panel"),
53
53
  subtitle: $t("label.administrative"),
@@ -56,13 +56,13 @@
56
56
  {/if}
57
57
  </Sidebar.Header>
58
58
  <Sidebar.Content>
59
- <NavMenuBar items={menus} />
59
+ <NavMenuBarSidebar items={menus} />
60
60
  </Sidebar.Content>
61
61
  <Sidebar.Footer>
62
62
  {#if footer}
63
63
  {@render footer?.()}
64
64
  {:else if menusButtons && menusButtons.length > 0}
65
- <NavMenuBottomBar items={menusButtons} class="mt-auto" />
65
+ <NavMenuBottomSidebar items={menusButtons} class="mt-auto" />
66
66
  {/if}
67
67
  <NavUserSidebar {user} />
68
68
  </Sidebar.Footer>
@@ -1,20 +1,20 @@
1
1
  import * as Sidebar from "../../ui/sidebar/index.js";
2
2
  import type { ComponentProps } from "svelte";
3
- import type { NavUserSidebarItem } from "../nav/data/nav-user-sidebar";
4
- import type { NavMenuItem, NavMenuSidebar } from "../nav/data/nav-menu-sidebar";
3
+ import type { NavUserSidebarProps } from "../nav/data/nav-user-sidebar";
4
+ import type { NavMenuItem, NavMenuSidebarProps } from "../nav/data/nav-menu-sidebar";
5
5
  import type { Snippet } from "svelte";
6
6
  /**
7
- * Sidebar de navegação com menus, usuário e botões.
8
- * @property {NavMenuSidebar[]} menusButtons - Botões do footer (ex: logout)
9
- * @property {NavMenuItem[]} menus - Itens de navegação principal
10
- * @property {NavUserSidebarItem} user - Dados do usuário logado
7
+ * Navigation sidebar with menus, user, and buttons.
8
+ * @property {NavMenuSidebar[]} menusButtons - Footer buttons (e.g., logout)
9
+ * @property {NavMenuItem[]} menus - Main navigation items
10
+ * @property {NavUserSidebarItem} user - Logged-in user data
11
11
  * @property {Snippet} footer - Snippet customizado do footer
12
12
  * @property {Snippet} header - Snippet customizado do header
13
13
  */
14
14
  type Props = {
15
- menusButtons?: NavMenuSidebar[];
15
+ menusButtons?: NavMenuSidebarProps[];
16
16
  menus: NavMenuItem[];
17
- user: NavUserSidebarItem;
17
+ user: NavUserSidebarProps;
18
18
  footer?: Snippet;
19
19
  header?: Snippet;
20
20
  };
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { Snippet } from "svelte";
3
3
 
4
- /** Wrapper de conteúdo para páginas admin. */
4
+ /** Content wrapper for admin pages. */
5
5
  type Props = {
6
6
  children?: Snippet;
7
7
  };
@@ -1,5 +1,5 @@
1
1
  import type { Snippet } from "svelte";
2
- /** Wrapper de conteúdo para páginas admin. */
2
+ /** Content wrapper for admin pages. */
3
3
  type Props = {
4
4
  children?: Snippet;
5
5
  };
@@ -1,15 +1,15 @@
1
1
  <script lang="ts">
2
- import LanguageSwitcher from "../../../ui/language-switcher/language-switcher.svelte";
3
- import LightSwitch from "../../../ui/light-switch/light-switch.svelte";
4
- import { Separator } from "../../../ui/separator/index.js";
5
- import * as Sidebar from "../../../ui/sidebar/index.js";
2
+ import LanguageSwitcher from "../../../../ui/language-switcher/language-switcher.svelte";
3
+ import LightSwitch from "../../../../ui/light-switch/light-switch.svelte";
4
+ import { Separator } from "../../../../ui/separator/index.js";
5
+ import * as Sidebar from "../../../../ui/sidebar/index.js";
6
6
  import type { Snippet } from "svelte";
7
7
 
8
8
  /**
9
- * Layout de admin com sidebar, header e conteúdo.
10
- * @property {Snippet} appsidebar - Sidebar da aplicação
11
- * @property {Snippet} content - Conteúdo principal
12
- * @property {Snippet} breadcrumb - Navegação breadcrumb
9
+ * Admin layout with sidebar, header, and content.
10
+ * @property {Snippet} appsidebar - Application sidebar
11
+ * @property {Snippet} content - Main content
12
+ * @property {Snippet} breadcrumb - Breadcrumb navigation
13
13
  */
14
14
  type Props = {
15
15
  appsidebar?: Snippet;
@@ -1,9 +1,9 @@
1
1
  import type { Snippet } from "svelte";
2
2
  /**
3
- * Layout de admin com sidebar, header e conteúdo.
4
- * @property {Snippet} appsidebar - Sidebar da aplicação
5
- * @property {Snippet} content - Conteúdo principal
6
- * @property {Snippet} breadcrumb - Navegação breadcrumb
3
+ * Admin layout with sidebar, header, and content.
4
+ * @property {Snippet} appsidebar - Application sidebar
5
+ * @property {Snippet} content - Main content
6
+ * @property {Snippet} breadcrumb - Breadcrumb navigation
7
7
  */
8
8
  type Props = {
9
9
  appsidebar?: Snippet;
@@ -0,0 +1,69 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Side navigation sidebar for documentation pages.
4
+ * Generates links automatically from document sections.
5
+ * Navigates internally using anchors (#section-id).
6
+ *
7
+ * @component
8
+ * @example
9
+ * ```svelte
10
+ * <DocsSidebar sections={data.sections} activeId="introduction" />
11
+ * ```
12
+ */
13
+ </script>
14
+
15
+ <script lang="ts">
16
+ import type { DocSection } from "../types";
17
+
18
+ let {
19
+ sections,
20
+ activeId,
21
+ }: {
22
+ /** Document sections (level 1 titles are displayed as groups). */
23
+ sections: DocSection[];
24
+ /** ID of the currently visible section (scroll-spy). */
25
+ activeId?: string;
26
+ } = $props();
27
+
28
+ /** Flattens level 1 sections with their subsections for the sidebar. */
29
+ const flatSections = $derived(
30
+ sections.flatMap((section) => {
31
+ const items = [
32
+ {
33
+ id: section.id,
34
+ label: section.number
35
+ ? `${section.number}. ${section.title}`
36
+ : section.title,
37
+ },
38
+ ];
39
+
40
+ if (section.subsections) {
41
+ for (const sub of section.subsections) {
42
+ items.push({
43
+ id: sub.id,
44
+ label: sub.number
45
+ ? `${sub.number}. ${sub.title}`
46
+ : sub.title,
47
+ });
48
+ }
49
+ }
50
+
51
+ return items;
52
+ }),
53
+ );
54
+ </script>
55
+
56
+ <aside class="w-56 shrink-0 hidden lg:block">
57
+ <nav class="sticky top-8 flex flex-col gap-1 text-sm">
58
+ {#each flatSections as item (item.id)}
59
+ <a
60
+ href="#{item.id}"
61
+ class="rounded-md px-2 py-1.5 transition-colors {activeId === item.id
62
+ ? 'bg-muted text-foreground font-medium'
63
+ : 'text-muted-foreground hover:text-foreground hover:bg-muted/60'}"
64
+ >
65
+ {item.label}
66
+ </a>
67
+ {/each}
68
+ </nav>
69
+ </aside>
@@ -0,0 +1,10 @@
1
+ import type { DocSection } from "../types";
2
+ type $$ComponentProps = {
3
+ /** Document sections (level 1 titles are displayed as groups). */
4
+ sections: DocSection[];
5
+ /** ID of the currently visible section (scroll-spy). */
6
+ activeId?: string;
7
+ };
8
+ declare const DocsSidebar: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type DocsSidebar = ReturnType<typeof DocsSidebar>;
10
+ export default DocsSidebar;
@@ -0,0 +1,73 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Variant 01 of the Privacy Policy / Terms of Use page.
4
+ * Three-column layout: navigation sidebar, main content, and TOC.
5
+ * Includes scroll-spy with IntersectionObserver to highlight the active section.
6
+ * @component
7
+ * @example
8
+ * ```svelte
9
+ * <PrivacyPolicyOrTermsOfUse01 data={pageData} />
10
+ * ```
11
+ */
12
+ </script>
13
+
14
+ <script lang="ts">
15
+ import type { DocPageData } from "../types";
16
+ import { buildToc } from "../shared/toc";
17
+ import PrivacyPolicyOrTermsOfUseBreadcrumb from "../shared/PrivacyPolicyOrTermsOfUseBreadcrumb.svelte";
18
+ import DocSectionView from "../shared/DocSectionView.svelte";
19
+ import DocsSidebar from "./DocsSidebar.svelte";
20
+ import TableOfContents from "./TableOfContents.svelte";
21
+
22
+ let { data }: { data: DocPageData } = $props();
23
+
24
+ const toc = $derived(buildToc(data.sections));
25
+
26
+ /** Currently visible section, for highlighting in the TOC (simple scroll-spy). */
27
+ let activeId = $state<string | undefined>(undefined);
28
+
29
+ $effect(() => {
30
+ const headingEls = toc
31
+ .map((item) => document.getElementById(item.id))
32
+ .filter((el): el is HTMLElement => el !== null);
33
+
34
+ if (headingEls.length === 0) return;
35
+
36
+ const observer = new IntersectionObserver(
37
+ (entries) => {
38
+ const visible = entries.find((entry) => entry.isIntersecting);
39
+ if (visible) activeId = visible.target.id;
40
+ },
41
+ { rootMargin: "0px 0px -70% 0px", threshold: 0 },
42
+ );
43
+
44
+ headingEls.forEach((el) => observer.observe(el));
45
+ return () => observer.disconnect();
46
+ });
47
+ </script>
48
+
49
+ <div class="mx-auto max-w-7xl px-6 py-10">
50
+ <div class="flex gap-10">
51
+ <DocsSidebar sections={data.sections} {activeId} />
52
+
53
+ <main class="min-w-0 flex-1 flex flex-col gap-8">
54
+ <header class="flex flex-col gap-4">
55
+ <div>
56
+ <h1 class="text-3xl font-bold tracking-tight">{data.title}</h1>
57
+ <p class="mt-1 text-sm text-muted-foreground">
58
+ Latest update: {data.lastUpdated}
59
+ </p>
60
+ </div>
61
+ <PrivacyPolicyOrTermsOfUseBreadcrumb items={data.breadcrumb} />
62
+ </header>
63
+
64
+ <div class="flex flex-col gap-10">
65
+ {#each data.sections as section (section.id)}
66
+ <DocSectionView {section} />
67
+ {/each}
68
+ </div>
69
+ </main>
70
+
71
+ <TableOfContents items={toc} {activeId} />
72
+ </div>
73
+ </div>
@@ -0,0 +1,7 @@
1
+ import type { DocPageData } from "../types";
2
+ type $$ComponentProps = {
3
+ data: DocPageData;
4
+ };
5
+ declare const PrivacyPolicyOrTermsOfUse01: import("svelte").Component<$$ComponentProps, {}, "">;
6
+ type PrivacyPolicyOrTermsOfUse01 = ReturnType<typeof PrivacyPolicyOrTermsOfUse01>;
7
+ export default PrivacyPolicyOrTermsOfUse01;
@@ -0,0 +1,37 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Table of contents (TOC) panel with scroll-spy.
4
+ * Displays links to document sections with the active section highlighted.
5
+ * @component
6
+ * @example
7
+ * ```svelte
8
+ * <TableOfContents items={tocItems} activeId="introduction" />
9
+ * ```
10
+ */
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ import type { TocItem } from "../types";
15
+
16
+ let { items, activeId }: { items: TocItem[]; activeId?: string } = $props();
17
+ </script>
18
+
19
+ <aside class="w-56 shrink-0 hidden xl:block">
20
+ <nav
21
+ aria-label="Table of contents"
22
+ class="sticky top-8 flex flex-col gap-1 text-sm"
23
+ >
24
+ {#each items as item (item.id)}
25
+ <a
26
+ href="#{item.id}"
27
+ class="border-l-2 py-1 transition-colors {item.level === 2
28
+ ? 'pl-6 text-muted-foreground/80'
29
+ : 'pl-3'} {activeId === item.id
30
+ ? 'border-foreground text-foreground font-medium'
31
+ : 'border-border text-muted-foreground hover:text-foreground'}"
32
+ >
33
+ {item.label}
34
+ </a>
35
+ {/each}
36
+ </nav>
37
+ </aside>
@@ -0,0 +1,8 @@
1
+ import type { TocItem } from "../types";
2
+ type $$ComponentProps = {
3
+ items: TocItem[];
4
+ activeId?: string;
5
+ };
6
+ declare const TableOfContents: import("svelte").Component<$$ComponentProps, {}, "">;
7
+ type TableOfContents = ReturnType<typeof TableOfContents>;
8
+ export default TableOfContents;
@@ -0,0 +1,59 @@
1
+ <script lang="ts" module>
2
+ /**
3
+ * Documentation page hero with banner and content sections.
4
+ * Combines PageHero with document section rendering.
5
+ * @component
6
+ * @example
7
+ * ```svelte
8
+ * <DocsPageHero data={pageData} accent="#f0400f" />
9
+ * ```
10
+ */
11
+ </script>
12
+
13
+ <script lang="ts">
14
+ import DocSectionView from "../shared/DocSectionView.svelte";
15
+ import type { DocPageData } from "../types";
16
+ import PageHero from "./PageHero.svelte";
17
+
18
+ let {
19
+ data,
20
+ accent,
21
+ }: {
22
+ /** Page data — uses title, lastUpdated, and sections. */
23
+ data: Pick<DocPageData, "title" | "lastUpdated" | "sections">;
24
+ /** Hero banner background color. */
25
+ accent?: string;
26
+ } = $props();
27
+ </script>
28
+
29
+ <div class="min-h-screen bg-background">
30
+ <PageHero title={data.title} lastUpdated={data.lastUpdated} {accent}>
31
+ {#snippet action()}
32
+ <button
33
+ type="button"
34
+ aria-label="Search"
35
+ class="flex h-9 w-9 items-center justify-center rounded-md bg-white/15 hover:bg-white/25 transition-colors"
36
+ >
37
+ <svg
38
+ xmlns="http://www.w3.org/2000/svg"
39
+ viewBox="0 0 24 24"
40
+ fill="none"
41
+ stroke="currentColor"
42
+ stroke-width="2"
43
+ stroke-linecap="round"
44
+ stroke-linejoin="round"
45
+ class="h-4 w-4"
46
+ >
47
+ <circle cx="11" cy="11" r="8" />
48
+ <path d="m21 21-4.3-4.3" />
49
+ </svg>
50
+ </button>
51
+ {/snippet}
52
+ </PageHero>
53
+
54
+ <main class="mx-auto max-w-3xl px-6 py-12 flex flex-col gap-10">
55
+ {#each data.sections as section (section.id)}
56
+ <DocSectionView {section} />
57
+ {/each}
58
+ </main>
59
+ </div>
@@ -0,0 +1,10 @@
1
+ import type { DocPageData } from "../types";
2
+ type $$ComponentProps = {
3
+ /** Page data — uses title, lastUpdated, and sections. */
4
+ data: Pick<DocPageData, "title" | "lastUpdated" | "sections">;
5
+ /** Hero banner background color. */
6
+ accent?: string;
7
+ };
8
+ declare const DocsPageHero: import("svelte").Component<$$ComponentProps, {}, "">;
9
+ type DocsPageHero = ReturnType<typeof DocsPageHero>;
10
+ export default DocsPageHero;