@adminide-stack/yantra-help-browser 12.0.16-alpha.2 → 12.0.16-alpha.20

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 (145) hide show
  1. package/lib/components/HelpCenterFooter.d.ts.map +1 -1
  2. package/lib/components/HelpCenterFooter.js +3 -15
  3. package/lib/components/HelpCenterFooter.js.map +1 -1
  4. package/lib/components/HelpCenterHeader.d.ts +1 -5
  5. package/lib/components/HelpCenterHeader.d.ts.map +1 -1
  6. package/lib/components/HelpCenterHeader.js +11 -58
  7. package/lib/components/HelpCenterHeader.js.map +1 -1
  8. package/lib/components/Logo.d.ts.map +1 -1
  9. package/lib/components/Logo.js +3 -2
  10. package/lib/components/Logo.js.map +1 -1
  11. package/lib/components/SearchBar.d.ts +8 -0
  12. package/lib/components/SearchBar.d.ts.map +1 -0
  13. package/lib/components/SearchBar.js +234 -0
  14. package/lib/components/SearchBar.js.map +1 -0
  15. package/lib/components/SidebarSearch.d.ts +8 -0
  16. package/lib/components/SidebarSearch.d.ts.map +1 -0
  17. package/lib/components/SidebarSearch.js +114 -0
  18. package/lib/components/SidebarSearch.js.map +1 -0
  19. package/lib/components/navbar/index.d.ts.map +1 -1
  20. package/lib/components/navbar/index.js +5 -4
  21. package/lib/components/navbar/index.js.map +1 -1
  22. package/lib/compute.d.ts.map +1 -1
  23. package/lib/compute.js +19 -1
  24. package/lib/compute.js.map +1 -1
  25. package/lib/pages/CategoryCollection/index.d.ts.map +1 -1
  26. package/lib/pages/CategoryCollection/index.js +5 -11
  27. package/lib/pages/CategoryCollection/index.js.map +1 -1
  28. package/lib/pages/HelpCenter/index.d.ts.map +1 -1
  29. package/lib/pages/HelpCenter/index.js +3 -9
  30. package/lib/pages/HelpCenter/index.js.map +1 -1
  31. package/lib/pages/LandingPage/components/HeroSection.d.ts +0 -1
  32. package/lib/pages/LandingPage/components/HeroSection.d.ts.map +1 -1
  33. package/lib/pages/LandingPage/components/HeroSection.js +3 -6
  34. package/lib/pages/LandingPage/components/HeroSection.js.map +1 -1
  35. package/lib/pages/LandingPage/index.d.ts.map +1 -1
  36. package/lib/pages/LandingPage/index.js +1 -6
  37. package/lib/pages/LandingPage/index.js.map +1 -1
  38. package/lib/pages/Markdown/MarkdownPageLayout.d.ts +3 -0
  39. package/lib/pages/Markdown/MarkdownPageLayout.d.ts.map +1 -0
  40. package/lib/pages/Markdown/MarkdownPageLayout.js +314 -0
  41. package/lib/pages/Markdown/MarkdownPageLayout.js.map +1 -0
  42. package/lib/pages/Markdown/MarkdownPageWithParams.d.ts +9 -0
  43. package/lib/pages/Markdown/MarkdownPageWithParams.d.ts.map +1 -0
  44. package/lib/pages/Markdown/MarkdownPageWithParams.js +65 -0
  45. package/lib/pages/Markdown/MarkdownPageWithParams.js.map +1 -0
  46. package/lib/pages/Markdown/index.d.ts +3 -0
  47. package/lib/pages/Markdown/index.d.ts.map +1 -0
  48. package/lib/pages/Markdown/index.js +5 -0
  49. package/lib/pages/Markdown/index.js.map +1 -0
  50. package/lib/routes.json +28 -1
  51. package/lib/{content → templates/content}/account-management/account-setup.md +10 -0
  52. package/lib/{content → templates/content}/account-management/delete-account.md +10 -0
  53. package/lib/{content → templates/content}/account-management/preferences.md +10 -0
  54. package/lib/{content → templates/content}/account-management/privacy-settings.md +10 -0
  55. package/lib/{content → templates/content}/account-management/profile-settings.md +8 -0
  56. package/lib/templates/content/content-manifest.json +3681 -0
  57. package/lib/{content → templates/content}/data-privacy/data-collection.md +9 -0
  58. package/lib/{content → templates/content}/data-privacy/privacy-policy.md +10 -0
  59. package/lib/{content → templates/content}/data-subject-privacy/data-access.md +12 -0
  60. package/lib/{content → templates/content}/data-subject-privacy/data-portability.md +15 -0
  61. package/lib/{content → templates/content}/data-subject-privacy/privacy-requests.md +11 -0
  62. package/lib/{content → templates/content}/file-uploads/file-upload-overview.md +9 -0
  63. package/lib/{content → templates/content}/getting-started/getting-started-guide.md +9 -0
  64. package/lib/{content → templates/content}/product-features/ai-models.md +1 -1
  65. package/lib/{content → templates/content}/product-features/collaboration-tools.md +8 -0
  66. package/lib/{content → templates/content}/product-features/conversation-features.md +6 -0
  67. package/lib/{content → templates/content}/product-features/export-features.md +8 -0
  68. package/lib/{content → templates/content}/product-features/follow-up-questions.md +8 -0
  69. package/lib/{content → templates/content}/product-features/real-time-search.md +8 -0
  70. package/lib/{content → templates/content}/product-features/saved-searches.md +8 -0
  71. package/lib/{content → templates/content}/product-features/search-features.md +1 -1
  72. package/lib/{content → templates/content}/product-features/search-history.md +8 -0
  73. package/lib/{content → templates/content}/product-features/source-citations.md +8 -0
  74. package/lib/{content → templates/content}/scope-api/api-overview.md +8 -0
  75. package/lib/{content → templates/content}/search-modes/deep-research.md +8 -0
  76. package/lib/{content → templates/content}/search-modes/labs-features.md +10 -0
  77. package/lib/{content → templates/content}/search-modes/pro-search.md +8 -0
  78. package/lib/{content → templates/content}/search-modes/regular-search.md +8 -0
  79. package/lib/{content → templates/content}/spaces-library/spaces-overview.md +8 -0
  80. package/lib/{content → templates/content}/student-hub/academic-research.md +8 -0
  81. package/lib/{content → templates/content}/student-hub/student-discounts.md +10 -0
  82. package/lib/{content → templates/content}/student-hub/student-overview.md +8 -0
  83. package/lib/{content → templates/content}/student-hub/study-tools.md +8 -0
  84. package/lib/{content → templates/content}/subscription-billing/billing-cycle.md +8 -0
  85. package/lib/{content → templates/content}/subscription-billing/billing-overview.md +6 -0
  86. package/lib/{content → templates/content}/subscription-billing/billing-support.md +8 -0
  87. package/lib/{content → templates/content}/subscription-billing/currency-support.md +10 -0
  88. package/lib/{content → templates/content}/subscription-billing/enterprise-pricing.md +8 -0
  89. package/lib/{content → templates/content}/subscription-billing/invoice-management.md +8 -0
  90. package/lib/{content → templates/content}/subscription-billing/payment-methods.md +9 -0
  91. package/lib/{content → templates/content}/subscription-billing/promotional-offers.md +8 -0
  92. package/lib/{content → templates/content}/subscription-billing/refund-policy.md +10 -0
  93. package/lib/{content → templates/content}/subscription-billing/student-discounts.md +10 -0
  94. package/lib/{content → templates/content}/subscription-billing/tax-information.md +8 -0
  95. package/lib/{content → templates/content}/technical-questions/ai-models-technical.md +10 -0
  96. package/lib/{content → templates/content}/technical-questions/api-technical.md +10 -0
  97. package/lib/{content → templates/content}/technical-questions/data-processing.md +10 -0
  98. package/lib/{content → templates/content}/technical-questions/database-architecture.md +10 -0
  99. package/lib/{content → templates/content}/technical-questions/infrastructure.md +10 -0
  100. package/lib/{content → templates/content}/technical-questions/performance-optimization.md +10 -0
  101. package/lib/{content → templates/content}/technical-questions/search-algorithms.md +10 -0
  102. package/lib/{content → templates/content}/technical-questions/technical-overview.md +10 -0
  103. package/lib/{content → templates/content}/threads/conversation-management.md +8 -0
  104. package/lib/{content → templates/content}/threads/threads-overview.md +8 -0
  105. package/lib/{content → templates/content}/troubleshooting/common-issues.md +8 -0
  106. package/lib/{content → templates/content}/what-is-yantra/getting-started-yantra.md +1 -1
  107. package/lib/{content → templates/content}/what-is-yantra/how-yantra-works.md +1 -1
  108. package/lib/{content → templates/content}/what-is-yantra/practical-tips-yantra.md +2 -1
  109. package/lib/{content → templates/content}/what-is-yantra/what-is-yantra-intro.md +1 -1
  110. package/lib/{content → templates/content}/what-is-yantra/yantra-discord-community.md +4 -1
  111. package/lib/{content → templates/content}/yantra-assistant/android-app.md +10 -0
  112. package/lib/{content → templates/content}/yantra-assistant/ios-app.md +10 -0
  113. package/lib/{content → templates/content}/yantra-assistant/mobile-app-overview.md +8 -0
  114. package/lib/{content → templates/content}/yantra-assistant/voice-assistant.md +10 -0
  115. package/lib/{content → templates/content}/yantra-enterprise/admin-dashboard.md +10 -0
  116. package/lib/{content → templates/content}/yantra-enterprise/custom-branding.md +10 -0
  117. package/lib/{content → templates/content}/yantra-enterprise/dedicated-support.md +10 -0
  118. package/lib/{content → templates/content}/yantra-enterprise/enterprise-overview.md +8 -0
  119. package/lib/{content → templates/content}/yantra-enterprise/sso-integration.md +10 -0
  120. package/lib/{content → templates/content}/yantra-enterprise/user-management.md +10 -0
  121. package/lib/{content → templates/content}/yantra-pro-max/billing-management.md +13 -0
  122. package/lib/{content → templates/content}/yantra-pro-max/cancellation-refund.md +13 -0
  123. package/lib/{content → templates/content}/yantra-pro-max/pro-pricing.md +13 -9
  124. package/lib/{content → templates/content}/yantra-pro-max/subscription-benefits.md +8 -0
  125. package/lib/{content → templates/content}/yantra-pro-max/upgrade-process.md +13 -0
  126. package/lib/{content → templates/content}/yantra-pro-max/yantra-max-features.md +8 -8
  127. package/lib/{content → templates/content}/yantra-pro-max/yantra-pro-overview.md +8 -8
  128. package/lib/utils/docsNavigation.d.ts +10 -0
  129. package/lib/utils/docsNavigation.d.ts.map +1 -0
  130. package/lib/utils/docsNavigation.js +151 -0
  131. package/lib/utils/docsNavigation.js.map +1 -0
  132. package/lib/utils/helpCenterUtils.d.ts.map +1 -1
  133. package/lib/utils/markdownLoader.d.ts +12 -4
  134. package/lib/utils/markdownLoader.d.ts.map +1 -1
  135. package/lib/utils/markdownLoader.js +362 -1163
  136. package/lib/utils/markdownLoader.js.map +1 -1
  137. package/package.json +23 -6
  138. package/lib/pages/ArticlePage/index.d.ts +0 -4
  139. package/lib/pages/ArticlePage/index.d.ts.map +0 -1
  140. package/lib/pages/ArticlePage/index.js +0 -190
  141. package/lib/pages/ArticlePage/index.js.map +0 -1
  142. package/lib/pages/LandingPage/components/SearchBar.d.ts +0 -8
  143. package/lib/pages/LandingPage/components/SearchBar.d.ts.map +0 -1
  144. package/lib/pages/LandingPage/components/SearchBar.js +0 -58
  145. package/lib/pages/LandingPage/components/SearchBar.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"HelpCenterFooter.d.ts","sourceRoot":"","sources":["../../src/components/HelpCenterFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EA+CpC,CAAC"}
1
+ {"version":3,"file":"HelpCenterFooter.d.ts","sourceRoot":"","sources":["../../src/components/HelpCenterFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAsDpC,CAAC"}
@@ -15,13 +15,9 @@ import {jsx,jsxs}from'react/jsx-runtime';const HelpCenterFooter = () => {
15
15
  }), jsxs("div", {
16
16
  className: "mb-8 flex flex-wrap justify-center gap-8 text-sm text-muted-foreground",
17
17
  children: [jsx("a", {
18
- href: "#",
18
+ href: "/help-center",
19
19
  className: "hover:text-primary",
20
- children: "Visit our Blog"
21
- }), jsx("a", {
22
- href: "#",
23
- className: "hover:text-primary",
24
- children: "Careers"
20
+ children: "Help Center"
25
21
  }), jsx("a", {
26
22
  href: "#",
27
23
  className: "hover:text-primary",
@@ -29,15 +25,7 @@ import {jsx,jsxs}from'react/jsx-runtime';const HelpCenterFooter = () => {
29
25
  }), jsx("a", {
30
26
  href: "#",
31
27
  className: "hover:text-primary",
32
- children: "Terms of Service"
33
- }), jsx("a", {
34
- href: "#",
35
- className: "hover:text-primary",
36
- children: "Security"
37
- }), jsx("a", {
38
- href: "#",
39
- className: "hover:text-primary",
40
- children: "Give us Feedback"
28
+ children: "Contact Us"
41
29
  })]
42
30
  }), jsxs("div", {
43
31
  className: "mb-8 flex justify-center space-x-6",
@@ -1 +1 @@
1
- {"version":3,"file":"HelpCenterFooter.js","sources":["../../src/components/HelpCenterFooter.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"yCAEO,MAAM,gBAAgB,GAAa,MAAK;SACtCA,GACG,CAAA,QAAA,EAAA;AA6CZ,IAAE,SAAA,EAAA,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"HelpCenterFooter.js","sources":["../../src/components/HelpCenterFooter.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"yCAEO,MAAM,gBAAgB,GAAa,MAAK;SACpCA;AAqDX,IAAE,SAAA,EAAA,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,7 +1,3 @@
1
1
  import React from 'react';
2
- interface HelpCenterHeaderProps {
3
- onSearch?: (query: string) => void;
4
- }
5
- export declare const HelpCenterHeader: React.FC<HelpCenterHeaderProps>;
6
- export {};
2
+ export declare const HelpCenterHeader: React.FC<any>;
7
3
  //# sourceMappingURL=HelpCenterHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HelpCenterHeader.d.ts","sourceRoot":"","sources":["../../src/components/HelpCenterHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AAExC,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CA2E5D,CAAC"}
1
+ {"version":3,"file":"HelpCenterHeader.d.ts","sourceRoot":"","sources":["../../src/components/HelpCenterHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,GAAG,CAgC1C,CAAC"}
@@ -1,15 +1,6 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import {useState}from'react';const HelpCenterHeader = ({
2
- onSearch
3
- }) => {
4
- const [searchQuery, setSearchQuery] = useState('');
5
- const handleSearch = e => {
6
- e.preventDefault();
7
- if (onSearch && searchQuery.trim()) {
8
- onSearch(searchQuery);
9
- }
10
- };
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {SearchBar}from'./SearchBar.js';const HelpCenterHeader = props => {
11
2
  return jsxs("div", {
12
- className: "relative overflow-hidden w-full ",
3
+ className: "relative overflow-visible w-full",
13
4
  children: [jsx("div", {
14
5
  className: "absolute inset-0 bg-[#057d78]",
15
6
  children: jsx("div", {
@@ -21,59 +12,21 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useState}from'react';const Help
21
12
  })
22
13
  }), jsx("div", {
23
14
  className: "relative z-10 mx-auto flex min-h-[500px] max-w-7xl flex-col items-center justify-center px-6 pt-20 text-center lg:px-16",
15
+ style: {
16
+ overflow: 'visible'
17
+ },
24
18
  children: jsxs("div", {
25
- className: "max-w-4xl",
19
+ className: "max-w-4xl w-full",
20
+ style: {
21
+ overflow: 'visible'
22
+ },
26
23
  children: [jsx("h1", {
27
24
  className: "mb-6 text-5xl font-light leading-[1.1] tracking-tight text-white lg:text-7xl",
28
25
  children: "How can we help?"
29
26
  }), jsx("p", {
30
27
  className: "mb-12 text-xl font-normal text-white/80 lg:text-2xl",
31
- children: "Get answers to all things Yantra."
32
- }), jsx("form", {
33
- onSubmit: handleSearch,
34
- className: "relative w-full max-w-2xl mx-auto",
35
- children: jsxs("div", {
36
- className: "flex w-full rounded-2xl bg-white shadow-2xl overflow-hidden",
37
- children: [jsxs("div", {
38
- className: "relative flex-1",
39
- children: [jsx("div", {
40
- className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-6",
41
- children: jsx("svg", {
42
- className: "h-6 w-6 text-gray-400",
43
- fill: "none",
44
- viewBox: "0 0 24 24",
45
- stroke: "currentColor",
46
- children: jsx("path", {
47
- strokeLinecap: "round",
48
- strokeLinejoin: "round",
49
- strokeWidth: 2,
50
- d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
51
- })
52
- })
53
- }), jsx("input", {
54
- type: "text",
55
- className: "h-16 w-full bg-transparent py-6 pl-16 pr-6 text-lg text-gray-900 placeholder-gray-500 outline-none",
56
- placeholder: "Search help center...",
57
- value: searchQuery,
58
- onChange: e => setSearchQuery(e.target.value)
59
- })]
60
- }), jsx("button", {
61
- type: "submit",
62
- className: "flex items-center justify-center rounded-r-2xl bg-gray-900 px-8 text-lg font-medium text-white transition-colors hover:bg-gray-800",
63
- children: "Search"
64
- })]
65
- })
66
- }), jsxs("div", {
67
- className: "mt-8 flex flex-wrap justify-center gap-3",
68
- children: [jsx("span", {
69
- className: "text-sm text-white/60",
70
- children: "Popular:"
71
- }), ['Getting started', 'Account setup', 'API documentation', 'Troubleshooting'].map(term => jsx("button", {
72
- onClick: () => setSearchQuery(term),
73
- className: "rounded-full bg-white/10 px-4 py-2 text-sm text-white/80 transition-colors hover:bg-white/20 hover:text-white",
74
- children: term
75
- }, term))]
76
- })]
28
+ children: "Get answers to all things Clockbook."
29
+ }), jsx(SearchBar, {})]
77
30
  })
78
31
  })]
79
32
  });
@@ -1 +1 @@
1
- {"version":3,"file":"HelpCenterHeader.js","sources":["../../src/components/HelpCenterHeader.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"4EAMa,gBAAgB,GAAoC,CAAC;;AAKhE,CAAA,KAAA;QACE,CAAC,WAAe,EAAA,cAAG,CAAA,GAAA,QAAA,CAAA,EAAA,CAAA;AACnB,EAAA,MAAA,YAAY,GAAI,CAAA,IAAA;oBACN,EAAY;QACtB,QAAC,IAAA,WAAA,CAAA,IAAA,EAAA,EAAA;AACH,MAAE,QAAA,CAAA,WAAA,CAAA;AAEF;AAKQ,GAAA;AACA,EAAA,OAAAA,IAAA,CAAA,KAAA,EAAA;AACD,IAAA,SAAA,EAAA;AAwDT,IAAE,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"HelpCenterHeader.js","sources":["../../src/components/HelpCenterHeader.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"gFAGa,MAAA,gBAAgB,GAAkB,KAAC,IAAS;AACrD,EAAA,OAAAA,IACS,CAAA,KAAA,EAAA;AAMW,IAAA,SAAA,EAAA,kCAAkG;AAClG,IAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;gDAOR;AAgBhB,MAAE,QAAA,EAAAA,GAAA,CAAA,KAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAC;AAEzF,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAoIrC,CAAC"}
1
+ {"version":3,"file":"Logo.d.ts","sourceRoot":"","sources":["../../src/components/Logo.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,6DAA6D,CAAC;AAGzF,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,UAAU,CAqIrC,CAAC"}
@@ -1,11 +1,12 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';const Logo = props => {
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useParams}from'@remix-run/react';const Logo = props => {
2
+ const params = useParams();
2
3
  const {
3
4
  settings,
4
5
  logo,
5
6
  scrolled,
6
7
  location
7
8
  } = props;
8
- const fill = !scrolled ? '#fff' : settings?.navTheme === 'dark' ? '#fff' : 'black';
9
+ const fill = !scrolled && !params.articleSlug ? '#fff' : settings?.navTheme === 'dark' ? '#fff' : 'black';
9
10
  return jsxs("svg", {
10
11
  version: "1.1",
11
12
  xmlns: "http://www.w3.org/2000/svg",
@@ -1 +1 @@
1
- {"version":3,"file":"Logo.js","sources":["../../src/components/Logo.tsx"],"sourcesContent":[null],"names":[],"mappings":"yCAGa,MAAA,IAAI,GAAyB,KAAC,IAAS;QAC1C;IACN,QAAM;AAEN,IAAA,IAAA;;;;;;;;;;;;;;UA0BgB,EAAA;AAsGpB,MAAE,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Logo.js","sources":["../../src/components/Logo.tsx"],"sourcesContent":[null],"names":[],"mappings":"kFAIa,MAAA,IAAI,GAAyB,KAAC,IAAS;AAChD,EAAA,MAAA,MAAY,GAAA,SAAY,EAAA;QAClB;AACN,IAAA,QAAU;AAEV,IAAA,IAAA;;;;;;;;;;;;;;UA0BgB,EAAA;AAsGpB,MAAE,QAAA,EAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface SearchbarProps {
3
+ onSearch?: (query: string) => void;
4
+ initialSearchQuery?: string;
5
+ }
6
+ export declare const SearchBar: React.FC<SearchbarProps>;
7
+ export {};
8
+ //# sourceMappingURL=SearchBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchBar.d.ts","sourceRoot":"","sources":["../../src/components/SearchBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,UAAU,cAAc;IACpB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AACD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAwQ9C,CAAC"}
@@ -0,0 +1,234 @@
1
+ import {jsxs,jsx,Fragment}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {createPortal}from'react-dom';import {useNavigate}from'@remix-run/react';import {getCategoryByIdSync,searchArticles}from'../utils/markdownLoader.js';const SearchBar = props => {
2
+ const navigate = useNavigate();
3
+ const [searchQuery, setSearchQuery] = useState('');
4
+ const [searchResults, setSearchResults] = useState([]);
5
+ const [showDropdown, setShowDropdown] = useState(false);
6
+ const [selectedIndex, setSelectedIndex] = useState(-1);
7
+ const [dropdownPosition, setDropdownPosition] = useState({
8
+ top: 0,
9
+ left: 0,
10
+ width: 0
11
+ });
12
+ const searchContainerRef = useRef(null);
13
+ const inputRef = useRef(null);
14
+ // Update search query when initialSearchQuery changes
15
+ // useEffect(() => {
16
+ // setSearchQuery(initialSearchQuery);
17
+ // }, [initialSearchQuery]);
18
+ // Calculate dropdown position
19
+ const updateDropdownPosition = useRef(() => {
20
+ if (searchContainerRef.current) {
21
+ const rect = searchContainerRef.current.getBoundingClientRect();
22
+ setDropdownPosition({
23
+ top: rect.bottom + window.scrollY + 4,
24
+ left: rect.left + window.scrollX,
25
+ width: rect.width
26
+ });
27
+ }
28
+ });
29
+ // Perform search as user types
30
+ useEffect(() => {
31
+ if (searchQuery.trim().length > 0) {
32
+ const performSearch = async () => {
33
+ const results = await searchArticles(searchQuery);
34
+ setSearchResults(results.slice(0, 5)); // Limit to 5 results for sidebar
35
+ setShowDropdown(true);
36
+ setSelectedIndex(-1);
37
+ };
38
+ performSearch();
39
+ } else {
40
+ setSearchResults([]);
41
+ setShowDropdown(false);
42
+ }
43
+ }, [searchQuery]);
44
+ // Update position on scroll/resize
45
+ useEffect(() => {
46
+ if (showDropdown) {
47
+ updateDropdownPosition.current();
48
+ const handleScroll = () => updateDropdownPosition.current();
49
+ const handleResize = () => updateDropdownPosition.current();
50
+ window.addEventListener('scroll', handleScroll, true);
51
+ window.addEventListener('resize', handleResize);
52
+ return () => {
53
+ window.removeEventListener('scroll', handleScroll, true);
54
+ window.removeEventListener('resize', handleResize);
55
+ };
56
+ }
57
+ }, [showDropdown]);
58
+ // Close dropdown when clicking outside
59
+ useEffect(() => {
60
+ const handleClickOutside = event => {
61
+ const target = event.target;
62
+ // Check if click is outside search container AND not on dropdown
63
+ if (searchContainerRef.current && !searchContainerRef.current.contains(target)) {
64
+ // Check if click is on the dropdown (which is in a portal)
65
+ const dropdown = document.querySelector('[data-search-dropdown]');
66
+ if (!dropdown || !dropdown.contains(target)) {
67
+ setShowDropdown(false);
68
+ }
69
+ }
70
+ };
71
+ document.addEventListener('mousedown', handleClickOutside);
72
+ return () => {
73
+ document.removeEventListener('mousedown', handleClickOutside);
74
+ };
75
+ }, []);
76
+ const handleSearch = e => {
77
+ e.preventDefault();
78
+ // if (onSearch && searchQuery.trim()) {
79
+ // onSearch(searchQuery);
80
+ // }
81
+ // If there are results and user presses enter, navigate to first result
82
+ if (searchResults.length > 0) {
83
+ const firstResult = searchResults[0];
84
+ navigate(`/help-center/${firstResult.categoryId}/${firstResult.slug}`);
85
+ setShowDropdown(false);
86
+ }
87
+ };
88
+ const handleInputChange = e => {
89
+ setSearchQuery(e.target.value);
90
+ };
91
+ const handleInputFocus = () => {
92
+ if (searchResults.length > 0) {
93
+ setShowDropdown(true);
94
+ }
95
+ };
96
+ const handleResultClick = (article, e) => {
97
+ if (e) {
98
+ e.preventDefault();
99
+ e.stopPropagation();
100
+ }
101
+ // Verify article has required fields
102
+ if (!article || !article.categoryId || !article.slug) {
103
+ console.error('Article missing required fields:', article);
104
+ return;
105
+ }
106
+ // Close dropdown
107
+ setShowDropdown(false);
108
+ setSearchQuery('');
109
+ // Navigate to the article using Remix navigate
110
+ const path = `/help-center/${article.categoryId}/${article.slug}`;
111
+ navigate(path);
112
+ };
113
+ return jsxs("div", {
114
+ children: [jsx("form", {
115
+ onSubmit: handleSearch,
116
+ className: "relative w-full max-w-2xl mx-auto",
117
+ style: {
118
+ zIndex: 50
119
+ },
120
+ children: jsx("div", {
121
+ ref: searchContainerRef,
122
+ className: "relative w-full",
123
+ children: jsxs("div", {
124
+ className: "flex w-full rounded-2xl bg-white shadow-2xl",
125
+ children: [jsxs("div", {
126
+ className: "relative flex-1",
127
+ children: [jsx("div", {
128
+ className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-6 z-10",
129
+ children: jsx("svg", {
130
+ className: "h-6 w-6 text-gray-400",
131
+ fill: "none",
132
+ viewBox: "0 0 24 24",
133
+ stroke: "currentColor",
134
+ children: jsx("path", {
135
+ strokeLinecap: "round",
136
+ strokeLinejoin: "round",
137
+ strokeWidth: 2,
138
+ d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
139
+ })
140
+ })
141
+ }), jsx("input", {
142
+ ref: inputRef,
143
+ type: "text",
144
+ className: "h-16 w-full bg-transparent py-6 pl-16 pr-6 text-lg text-gray-900 placeholder-gray-500 outline-none relative z-10",
145
+ placeholder: "Search help center...",
146
+ value: searchQuery,
147
+ onChange: handleInputChange,
148
+ onFocus: handleInputFocus
149
+ })]
150
+ }), jsx("button", {
151
+ type: "submit",
152
+ className: "flex items-center justify-center rounded-r-2xl bg-gray-900 px-8 text-lg font-medium text-white transition-colors hover:bg-gray-800 relative z-10",
153
+ children: "Search"
154
+ })]
155
+ })
156
+ })
157
+ }), jsxs("div", {
158
+ className: "mt-8 flex flex-wrap justify-center gap-3",
159
+ children: [jsx("span", {
160
+ className: "text-sm text-white/60",
161
+ children: "Popular:"
162
+ }), ['Getting started', 'Account setup', 'API documentation', 'Troubleshooting'].map(term => jsx("button", {
163
+ onClick: () => {
164
+ setSearchQuery(term);
165
+ setShowDropdown(true);
166
+ },
167
+ className: "rounded-full bg-white/10 px-4 py-2 text-sm text-white/80 transition-colors hover:bg-white/20 hover:text-white",
168
+ children: term
169
+ }, term))]
170
+ }), showDropdown && typeof document !== 'undefined' && createPortal(jsx(Fragment, {
171
+ children: searchResults.length > 0 ? jsx("div", {
172
+ "data-search-dropdown": true,
173
+ className: "fixed bg-white rounded-lg shadow-2xl border border-gray-200 max-h-96 overflow-y-auto z-[9999]",
174
+ style: {
175
+ top: `${dropdownPosition.top}px`,
176
+ left: `${dropdownPosition.left}px`,
177
+ width: `${dropdownPosition.width}px`
178
+ },
179
+ onClick: e => e.stopPropagation(),
180
+ children: jsx("div", {
181
+ className: "py-1",
182
+ children: searchResults.map((article, index) => {
183
+ const category = getCategoryByIdSync(article.categoryId);
184
+ `/help-center/${article.categoryId}/${article.slug}`;
185
+ return jsx("div", {
186
+ onClick: e => {
187
+ console.log('Click event fired on article:', article.title);
188
+ e.preventDefault();
189
+ e.stopPropagation();
190
+ handleResultClick(article, e);
191
+ },
192
+ className: `block px-4 py-3 hover:bg-blue-50 transition-colors cursor-pointer border-b border-gray-100 last:border-b-0 ${selectedIndex === index ? 'bg-blue-50' : ''}`,
193
+ role: "button",
194
+ tabIndex: 0,
195
+ onKeyDown: e => {
196
+ if (e.key === 'Enter' || e.key === ' ') {
197
+ e.preventDefault();
198
+ handleResultClick(article);
199
+ }
200
+ },
201
+ children: jsxs("div", {
202
+ className: "flex flex-col",
203
+ children: [jsx("div", {
204
+ className: "text-base font-semibold text-gray-900",
205
+ children: article.title
206
+ }), article.description && jsx("div", {
207
+ className: "text-sm text-gray-600 mt-0.5",
208
+ children: article.description
209
+ }), category && jsx("div", {
210
+ className: "text-xs text-blue-600 mt-1 font-medium",
211
+ children: category.title
212
+ })]
213
+ })
214
+ }, article.id);
215
+ })
216
+ })
217
+ }) : searchQuery.trim().length > 0 ? jsx("div", {
218
+ className: "fixed bg-white rounded-lg shadow-2xl border border-gray-200 z-[9999]",
219
+ style: {
220
+ top: `${dropdownPosition.top}px`,
221
+ left: `${dropdownPosition.left}px`,
222
+ width: `${dropdownPosition.width}px`
223
+ },
224
+ onClick: e => e.stopPropagation(),
225
+ children: jsx("div", {
226
+ className: "px-4 py-6 text-center text-gray-500",
227
+ children: jsxs("p", {
228
+ children: ["No results found for \"", searchQuery, "\""]
229
+ })
230
+ })
231
+ }) : null
232
+ }), document.body)]
233
+ });
234
+ };export{SearchBar};//# sourceMappingURL=SearchBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchBar.js","sources":["../../src/components/SearchBar.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface SidebarSearchProps {
3
+ className?: string;
4
+ placeholder?: string;
5
+ }
6
+ export declare const SidebarSearch: React.FC<SidebarSearchProps>;
7
+ export {};
8
+ //# sourceMappingURL=SidebarSearch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSearch.d.ts","sourceRoot":"","sources":["../../src/components/SidebarSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,UAAU,kBAAkB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0HtD,CAAC"}
@@ -0,0 +1,114 @@
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {useNavigate}from'@remix-run/react';import {FiSearch}from'@react-icons/all-files/fi/FiSearch.js';import {getCategoryByIdSync,searchArticles}from'../utils/markdownLoader.js';const SidebarSearch = ({
2
+ className = '',
3
+ placeholder = 'Search...'
4
+ }) => {
5
+ const navigate = useNavigate();
6
+ const [searchQuery, setSearchQuery] = useState('');
7
+ const [searchResults, setSearchResults] = useState([]);
8
+ const [showDropdown, setShowDropdown] = useState(false);
9
+ const [selectedIndex, setSelectedIndex] = useState(-1);
10
+ const searchContainerRef = useRef(null);
11
+ const inputRef = useRef(null);
12
+ // Perform search as user types
13
+ useEffect(() => {
14
+ if (searchQuery.trim().length > 0) {
15
+ const performSearch = async () => {
16
+ const results = await searchArticles(searchQuery);
17
+ setSearchResults(results.slice(0, 5)); // Limit to 5 results for sidebar
18
+ setShowDropdown(true);
19
+ setSelectedIndex(-1);
20
+ };
21
+ performSearch();
22
+ } else {
23
+ setSearchResults([]);
24
+ setShowDropdown(false);
25
+ }
26
+ }, [searchQuery]);
27
+ // Close dropdown when clicking outside
28
+ useEffect(() => {
29
+ const handleClickOutside = event => {
30
+ const target = event.target;
31
+ if (searchContainerRef.current && !searchContainerRef.current.contains(target)) {
32
+ const dropdown = document.querySelector('[data-sidebar-search-dropdown]');
33
+ if (!dropdown || !dropdown.contains(target)) {
34
+ setShowDropdown(false);
35
+ }
36
+ }
37
+ };
38
+ document.addEventListener('mousedown', handleClickOutside);
39
+ return () => {
40
+ document.removeEventListener('mousedown', handleClickOutside);
41
+ };
42
+ }, []);
43
+ const handleSearch = e => {
44
+ e.preventDefault();
45
+ if (searchResults.length > 0) {
46
+ const firstResult = searchResults[0];
47
+ navigate(`/help-center/${firstResult.categoryId}/${firstResult.slug}`);
48
+ setShowDropdown(false);
49
+ setSearchQuery('');
50
+ }
51
+ };
52
+ const handleInputChange = e => {
53
+ setSearchQuery(e.target.value);
54
+ };
55
+ const handleInputFocus = () => {
56
+ if (searchResults.length > 0) {
57
+ setShowDropdown(true);
58
+ }
59
+ };
60
+ const handleResultClick = article => {
61
+ if (!article || !article.categoryId || !article.slug) {
62
+ return;
63
+ }
64
+ setShowDropdown(false);
65
+ setSearchQuery('');
66
+ navigate(`/help-center/${article.categoryId}/${article.slug}`);
67
+ };
68
+ return jsxs("div", {
69
+ className: `relative w-full ${className}`,
70
+ ref: searchContainerRef,
71
+ children: [jsx("form", {
72
+ onSubmit: handleSearch,
73
+ className: "relative",
74
+ children: jsxs("div", {
75
+ className: "relative",
76
+ children: [jsx("div", {
77
+ className: "pointer-events-none absolute inset-y-0 left-0 flex items-center pl-3",
78
+ children: jsx(FiSearch, {
79
+ className: "h-4 w-4 text-gray-400",
80
+ "aria-hidden": "true"
81
+ })
82
+ }), jsx("input", {
83
+ ref: inputRef,
84
+ type: "text",
85
+ className: "block w-full rounded-md border border-gray-300 dark:border-gray-700 bg-white dark:bg-gray-800 py-2 pl-10 pr-3 text-sm text-gray-900 dark:text-white placeholder-gray-500 dark:placeholder-gray-400 focus:border-blue-500 focus:outline-none focus:ring-1 focus:ring-blue-500",
86
+ placeholder: placeholder,
87
+ value: searchQuery,
88
+ onChange: handleInputChange,
89
+ onFocus: handleInputFocus
90
+ })]
91
+ })
92
+ }), showDropdown && searchResults.length > 0 && jsx("div", {
93
+ "data-sidebar-search-dropdown": true,
94
+ className: "absolute z-50 mt-1 w-full bg-white dark:bg-gray-800 rounded-md shadow-lg border border-gray-200 dark:border-gray-700 max-h-64 overflow-y-auto",
95
+ children: jsx("div", {
96
+ className: "py-1",
97
+ children: searchResults.map((article, index) => {
98
+ const category = getCategoryByIdSync(article.categoryId);
99
+ return jsxs("div", {
100
+ onClick: () => handleResultClick(article),
101
+ className: `block px-4 py-2 text-sm hover:bg-gray-50 dark:hover:bg-gray-700 cursor-pointer ${selectedIndex === index ? 'bg-gray-50 dark:bg-gray-700' : ''}`,
102
+ children: [jsx("div", {
103
+ className: "font-medium text-gray-900 dark:text-gray-100",
104
+ children: article.title
105
+ }), category && jsx("div", {
106
+ className: "text-xs text-gray-500 dark:text-gray-400 mt-0.5",
107
+ children: category.title
108
+ })]
109
+ }, article.id);
110
+ })
111
+ })
112
+ })]
113
+ });
114
+ };export{SidebarSearch};//# sourceMappingURL=SidebarSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarSearch.js","sources":["../../src/components/SidebarSearch.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/navbar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AA2BxC,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqFtD,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/navbar/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AA2BxC,UAAU,kBAAkB;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAwFtD,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1,4 +1,4 @@
1
- import {jsxs,jsx}from'react/jsx-runtime';import {useState}from'react';import {useLocation,Link}from'@remix-run/react';const navItems = [{
1
+ import {jsxs,jsx}from'react/jsx-runtime';import {useState}from'react';import {useLocation,useParams,Link}from'@remix-run/react';const navItems = [{
2
2
  key: 'home',
3
3
  label: 'Home',
4
4
  path: '/'
@@ -16,6 +16,7 @@ const RightNavItems = ({
16
16
  }) => {
17
17
  const [isMenuOpen, setIsMenuOpen] = useState(false);
18
18
  const location = useLocation();
19
+ const params = useParams();
19
20
  const toggleMenu = () => {
20
21
  setIsMenuOpen(!isMenuOpen);
21
22
  };
@@ -23,14 +24,14 @@ const RightNavItems = ({
23
24
  return location.pathname === path;
24
25
  };
25
26
  return jsxs("div", {
26
- className: `${scrolled ? "text-foreground" : "text-white"} flex justify-between align-center`,
27
+ className: `${scrolled || params.articleSlug ? 'text-foreground' : 'text-white'} flex justify-between align-center`,
27
28
  children: [jsxs("div", {
28
29
  className: "flex",
29
30
  children: [jsx("div", {
30
31
  className: "hidden sm:ml-6 sm:flex sm:space-x-8",
31
32
  children: navItems.map(item => jsx(Link, {
32
33
  to: item.path,
33
- className: `inline-flex items-center px-1 pt-1 text-lg transition-colors duration-200 ${isActive(item.path) ? `font-bold ${scrolled ? 'text-foreground' : 'text-white'}` : `font-medium ${scrolled ? 'text-foreground hover:text-gray-900' : 'text-white hover:text-gray-300'}`}`,
34
+ className: `inline-flex items-center px-1 pt-1 text-lg transition-colors duration-200 ${isActive(item.path) ? `font-bold ${scrolled || params.articleSlug ? 'text-foreground' : 'text-white'}` : `font-medium ${scrolled || params.articleSlug ? 'text-foreground hover:text-gray-900' : 'text-white hover:text-gray-300'}`}`,
34
35
  children: item.label
35
36
  }, item.key))
36
37
  }), jsx("div", {
@@ -67,7 +68,7 @@ const RightNavItems = ({
67
68
  className: "space-y-1 pt-2 pb-3",
68
69
  children: navItems.map(item => jsx(Link, {
69
70
  to: item.path,
70
- className: `block border-l-4 py-2 pl-3 pr-4 text-base font-medium transition-colors duration-200 ${isActive(item.path) ? `border-[#057d78] font-bold ${scrolled ? 'text-foreground' : 'text-white'}` : `border-transparent font-medium ${scrolled ? 'text-gray-500 hover:text-gray-900' : 'text-gray-300 hover:text-white'} hover:border-[#057d78] hover:bg-gray-50`}`,
71
+ className: `block border-l-4 py-2 pl-3 pr-4 text-base font-medium transition-colors duration-200 ${isActive(item.path) ? `border-[#057d78] font-bold ${scrolled || params.articleSlug ? 'text-foreground' : 'text-white'}` : `border-transparent font-medium ${scrolled || params.articleSlug ? 'text-gray-500 hover:text-gray-900' : 'text-gray-300 hover:text-white'} hover:border-[#057d78] hover:bg-gray-50`}`,
71
72
  onClick: () => setIsMenuOpen(false),
72
73
  children: item.label
73
74
  }, item.key))
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/components/navbar/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"sHASA,MAAM,QAAQ,GAAc,CAAA;AAC1B,EAAA,GAAA,EAAA,MAAA;AACE,EAAA,KAAA,EAAA,MAAW;AACX,EAAA,IAAA,EAAA;AACA,CAAA,EAAA;AACD,EAAA,GAAA,EAAA,aAAA;AACD,EAAA,KAAA,EAAA,aAAA;AACE,EAAA,IAAA,EAAA;AACA,CAAA,EAAA;AACA,EAAA,GAAA,EAAA,aAAoB;AACrB,EAAA,KAAA,EAAA,aAAA;AACD,EAAA,IAAA,EAAA;AACE,CAAA,CAAA;AACA,MAAK,aAAe,GAAA,CAAA;AACpB,EAAA,QAAA;AACD,CAAA,KAAA;EACD,MAAA,CAAA,UAAA,EAAA,aAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AAMF,EAAM,MAAO,QAAA,GAAA,WAA+C,EAAE;QACtD,UAAW,GAAA,MAAe;AAChC,IAAA,aAAc,CAAA,CAAA,UAAc,CAAA;;AAG1B,EAAA,MAAA,QAAA,GAAA,IAAe,IAAU;AAC3B,IAAA,OAAE,QAAA,CAAA,QAAA,KAAA,IAAA;AAEF,GAAA;AACE,EAAA,OAAAA,IAAA,CAAO,KAAQ,EAAA;AACjB,IAAA,SAAE,EAAA,CAAA,EAAA,QAAA,GAAA,iBAAA,GAAA,YAAA,CAAA,kCAAA,CAAA;IAEF,QACE,EAAK,CAAAA,IAAA,CAAA,KAAA,EAAA;;AAUa,MAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;wDAiD8B;AAChC,QAAA,QAAA,EAAA,QAAA,CAAA,GAAE,CAAkC,IAAA,IAAAA,GAAA,CAAA,IAAA,EAAA;AAYxD,UAAE,EAAA,EAAA,IAAA,CAAA,IAAA;AAEF,UAAA,sFAA6B,EAAA,QAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,UAAA,EAAA,QAAA,GAAA,iBAAA,GAAA,YAAA,CAAA,CAAA,GAAA,CAAA,YAAA,EAAA,QAAA,GAAA,qCAAA,GAAA,gCAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/components/navbar/index.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"gIASA,MAAM,QAAQ,GAAc,CAAA;AACxB,EAAA,GAAA,EAAA,MAAA;AACI,EAAA,KAAA,EAAA,MAAW;AACX,EAAA,IAAA,EAAA;AACA,CAAA,EAAA;AACH,EAAA,GAAA,EAAA,aAAA;AACD,EAAA,KAAA,EAAA,aAAA;AACI,EAAA,IAAA,EAAA;AACA,CAAA,EAAA;AACA,EAAA,GAAA,EAAA,aAAoB;AACvB,EAAA,KAAA,EAAA,aAAA;AACD,EAAA,IAAA,EAAA;AACI,CAAA,CAAA;AACA,MAAK,aAAe,GAAA,CAAA;AACpB,EAAA,QAAA;AACH,CAAA,KAAA;EACH,MAAA,CAAA,UAAA,EAAA,aAAA,CAAA,GAAA,QAAA,CAAA,KAAA,CAAA;AAMF,EAAM,MAAO,QAAA,GAAA,WAA+C,EAAE;QACpD,MAAW,GAAA,SAAe,EAAA;AAChC,EAAA,MAAA,UAAc,GAAG,MAAW;AAC5B,IAAA,aAAY,CAAA,CAAG,UAAS,CAAE;;AAGtB,EAAA,MAAA,QAAA,GAAA,IAAe,IAAU;AAC7B,IAAA,OAAE,QAAA,CAAA,QAAA,KAAA,IAAA;AAEF,GAAA;AACI,EAAA,OAAAA,IAAA,CAAO,KAAQ,EAAA;AACnB,IAAA,SAAE,EAAA,CAAA,EAAA,QAAA,IAAA,MAAA,CAAA,WAAA,GAAA,iBAAA,GAAA,YAAA,CAAA,kCAAA,CAAA;IAEF,QACI,EACI,CAAAA,IAAA,CAAA,KAAA,EAAA;AAUwB,MAAA,SAAA,EAAA,MAAA;AACA,MAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;AAiDI,QAAA,SAAA,EAAA,qCAAE;AACF,QAAA,QAAA,EAAA,QAAA,CAAA,GAAE,CAAkC,IAAA,IAAAA,GAAA,CAAA,IAAA,EAAA;AAY5E,UAAE,EAAA,EAAA,IAAA,CAAA,IAAA;AAEF,UAAA,sFAA6B,EAAA,QAAA,CAAA,IAAA,CAAA,IAAA,CAAA,GAAA,CAAA,UAAA,EAAA,QAAA,IAAA,MAAA,CAAA,WAAA,GAAA,iBAAA,GAAA,YAAA,CAAA,CAAA,GAAA,CAAA,YAAA,EAAA,QAAA,IAAA,MAAA,CAAA,WAAA,GAAA,qCAAA,GAAA,gCAAA,CAAA,CAAA,CAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,UAAU,EAAE,GA0CxB,CAAC;AAMF,QAAA,MAAM,aAAa,0CAA4C,CAAC;AAGhE,QAAA,MAAM,cAAc,0CAA6C,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,UAAU,EAAE,GA6DxB,CAAC;AAMF,QAAA,MAAM,aAAa,0CAA4C,CAAC;AAGhE,QAAA,MAAM,cAAc,0CAA6C,CAAC;AAElE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC"}