@noxion/renderer 0.2.0 → 0.4.0

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 (153) hide show
  1. package/README.md +9 -8
  2. package/dist/index.d.ts +1 -31
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +0 -25
  5. package/dist/index.js.map +1 -1
  6. package/dist/theme/types.d.ts +11 -22
  7. package/dist/theme/types.d.ts.map +1 -1
  8. package/package.json +1 -1
  9. package/dist/components/DocsBreadcrumb.d.ts +0 -5
  10. package/dist/components/DocsBreadcrumb.d.ts.map +0 -1
  11. package/dist/components/DocsBreadcrumb.js +0 -10
  12. package/dist/components/DocsBreadcrumb.js.map +0 -1
  13. package/dist/components/DocsSidebar.d.ts +0 -5
  14. package/dist/components/DocsSidebar.d.ts.map +0 -1
  15. package/dist/components/DocsSidebar.js +0 -15
  16. package/dist/components/DocsSidebar.js.map +0 -1
  17. package/dist/components/EmptyState.d.ts +0 -7
  18. package/dist/components/EmptyState.d.ts.map +0 -1
  19. package/dist/components/EmptyState.js +0 -6
  20. package/dist/components/EmptyState.js.map +0 -1
  21. package/dist/components/FeaturedPostCard.d.ts +0 -5
  22. package/dist/components/FeaturedPostCard.d.ts.map +0 -1
  23. package/dist/components/FeaturedPostCard.js +0 -19
  24. package/dist/components/FeaturedPostCard.js.map +0 -1
  25. package/dist/components/Footer.d.ts +0 -5
  26. package/dist/components/Footer.d.ts.map +0 -1
  27. package/dist/components/Footer.js +0 -7
  28. package/dist/components/Footer.js.map +0 -1
  29. package/dist/components/Header.d.ts +0 -5
  30. package/dist/components/Header.d.ts.map +0 -1
  31. package/dist/components/Header.js +0 -7
  32. package/dist/components/Header.js.map +0 -1
  33. package/dist/components/HeroSection.d.ts +0 -7
  34. package/dist/components/HeroSection.d.ts.map +0 -1
  35. package/dist/components/HeroSection.js +0 -16
  36. package/dist/components/HeroSection.js.map +0 -1
  37. package/dist/components/PortfolioFilter.d.ts +0 -5
  38. package/dist/components/PortfolioFilter.d.ts.map +0 -1
  39. package/dist/components/PortfolioFilter.js +0 -20
  40. package/dist/components/PortfolioFilter.js.map +0 -1
  41. package/dist/components/PortfolioProjectCard.d.ts +0 -5
  42. package/dist/components/PortfolioProjectCard.d.ts.map +0 -1
  43. package/dist/components/PortfolioProjectCard.js +0 -13
  44. package/dist/components/PortfolioProjectCard.js.map +0 -1
  45. package/dist/components/PostCard.d.ts +0 -5
  46. package/dist/components/PostCard.d.ts.map +0 -1
  47. package/dist/components/PostCard.js +0 -17
  48. package/dist/components/PostCard.js.map +0 -1
  49. package/dist/components/PostList.d.ts +0 -5
  50. package/dist/components/PostList.d.ts.map +0 -1
  51. package/dist/components/PostList.js +0 -13
  52. package/dist/components/PostList.js.map +0 -1
  53. package/dist/components/Search.d.ts +0 -5
  54. package/dist/components/Search.d.ts.map +0 -1
  55. package/dist/components/Search.js +0 -25
  56. package/dist/components/Search.js.map +0 -1
  57. package/dist/components/TOC.d.ts +0 -5
  58. package/dist/components/TOC.d.ts.map +0 -1
  59. package/dist/components/TOC.js +0 -7
  60. package/dist/components/TOC.js.map +0 -1
  61. package/dist/components/TagFilter.d.ts +0 -5
  62. package/dist/components/TagFilter.d.ts.map +0 -1
  63. package/dist/components/TagFilter.js +0 -19
  64. package/dist/components/TagFilter.js.map +0 -1
  65. package/dist/components/ThemeToggle.d.ts +0 -4
  66. package/dist/components/ThemeToggle.d.ts.map +0 -1
  67. package/dist/components/ThemeToggle.js +0 -20
  68. package/dist/components/ThemeToggle.js.map +0 -1
  69. package/dist/layouts/BaseLayout.d.ts +0 -3
  70. package/dist/layouts/BaseLayout.d.ts.map +0 -1
  71. package/dist/layouts/BaseLayout.js +0 -11
  72. package/dist/layouts/BaseLayout.js.map +0 -1
  73. package/dist/layouts/BlogLayout.d.ts +0 -3
  74. package/dist/layouts/BlogLayout.d.ts.map +0 -1
  75. package/dist/layouts/BlogLayout.js +0 -6
  76. package/dist/layouts/BlogLayout.js.map +0 -1
  77. package/dist/layouts/DocsLayout.d.ts +0 -3
  78. package/dist/layouts/DocsLayout.d.ts.map +0 -1
  79. package/dist/layouts/DocsLayout.js +0 -11
  80. package/dist/layouts/DocsLayout.js.map +0 -1
  81. package/dist/layouts/MagazineLayout.d.ts +0 -3
  82. package/dist/layouts/MagazineLayout.d.ts.map +0 -1
  83. package/dist/layouts/MagazineLayout.js +0 -11
  84. package/dist/layouts/MagazineLayout.js.map +0 -1
  85. package/dist/layouts/index.d.ts +0 -5
  86. package/dist/layouts/index.d.ts.map +0 -1
  87. package/dist/layouts/index.js +0 -5
  88. package/dist/layouts/index.js.map +0 -1
  89. package/dist/templates/ArchivePage.d.ts +0 -3
  90. package/dist/templates/ArchivePage.d.ts.map +0 -1
  91. package/dist/templates/ArchivePage.js +0 -8
  92. package/dist/templates/ArchivePage.js.map +0 -1
  93. package/dist/templates/DocsPage.d.ts +0 -3
  94. package/dist/templates/DocsPage.d.ts.map +0 -1
  95. package/dist/templates/DocsPage.js +0 -13
  96. package/dist/templates/DocsPage.js.map +0 -1
  97. package/dist/templates/HomePage.d.ts +0 -3
  98. package/dist/templates/HomePage.d.ts.map +0 -1
  99. package/dist/templates/HomePage.js +0 -16
  100. package/dist/templates/HomePage.js.map +0 -1
  101. package/dist/templates/PortfolioGrid.d.ts +0 -3
  102. package/dist/templates/PortfolioGrid.d.ts.map +0 -1
  103. package/dist/templates/PortfolioGrid.js +0 -10
  104. package/dist/templates/PortfolioGrid.js.map +0 -1
  105. package/dist/templates/PortfolioProject.d.ts +0 -3
  106. package/dist/templates/PortfolioProject.d.ts.map +0 -1
  107. package/dist/templates/PortfolioProject.js +0 -12
  108. package/dist/templates/PortfolioProject.js.map +0 -1
  109. package/dist/templates/PostPage.d.ts +0 -13
  110. package/dist/templates/PostPage.d.ts.map +0 -1
  111. package/dist/templates/PostPage.js +0 -33
  112. package/dist/templates/PostPage.js.map +0 -1
  113. package/dist/templates/TagPage.d.ts +0 -3
  114. package/dist/templates/TagPage.d.ts.map +0 -1
  115. package/dist/templates/TagPage.js +0 -8
  116. package/dist/templates/TagPage.js.map +0 -1
  117. package/dist/templates/index.d.ts +0 -8
  118. package/dist/templates/index.d.ts.map +0 -1
  119. package/dist/templates/index.js +0 -8
  120. package/dist/templates/index.js.map +0 -1
  121. package/dist/theme/ThemeProvider.d.ts +0 -21
  122. package/dist/theme/ThemeProvider.d.ts.map +0 -1
  123. package/dist/theme/ThemeProvider.js +0 -71
  124. package/dist/theme/ThemeProvider.js.map +0 -1
  125. package/dist/theme/component-resolver.d.ts +0 -3
  126. package/dist/theme/component-resolver.d.ts.map +0 -1
  127. package/dist/theme/component-resolver.js +0 -16
  128. package/dist/theme/component-resolver.js.map +0 -1
  129. package/dist/theme/css-generator.d.ts +0 -4
  130. package/dist/theme/css-generator.d.ts.map +0 -1
  131. package/dist/theme/css-generator.js +0 -80
  132. package/dist/theme/css-generator.js.map +0 -1
  133. package/dist/theme/define-theme.d.ts +0 -4
  134. package/dist/theme/define-theme.d.ts.map +0 -1
  135. package/dist/theme/define-theme.js +0 -45
  136. package/dist/theme/define-theme.js.map +0 -1
  137. package/dist/theme/extend-theme.d.ts +0 -27
  138. package/dist/theme/extend-theme.d.ts.map +0 -1
  139. package/dist/theme/extend-theme.js +0 -102
  140. package/dist/theme/extend-theme.js.map +0 -1
  141. package/dist/theme/slot-resolver.d.ts +0 -3
  142. package/dist/theme/slot-resolver.d.ts.map +0 -1
  143. package/dist/theme/slot-resolver.js +0 -13
  144. package/dist/theme/slot-resolver.js.map +0 -1
  145. package/dist/theme/template-resolver.d.ts +0 -4
  146. package/dist/theme/template-resolver.d.ts.map +0 -1
  147. package/dist/theme/template-resolver.js +0 -38
  148. package/dist/theme/template-resolver.js.map +0 -1
  149. package/dist/theme/validate-theme.d.ts +0 -14
  150. package/dist/theme/validate-theme.d.ts.map +0 -1
  151. package/dist/theme/validate-theme.js +0 -235
  152. package/dist/theme/validate-theme.js.map +0 -1
  153. package/src/styles/noxion.css +0 -1815
package/README.md CHANGED
@@ -1,13 +1,13 @@
1
1
  # @noxion/renderer
2
2
 
3
- React rendering components and theme system for [Noxion](https://github.com/jiwonme/noxion) — a Notion-powered blog builder.
3
+ Theme contract system and React components for [Noxion](https://github.com/jiwonme/noxion) — a Notion-powered website builder.
4
4
 
5
5
  ## Features
6
6
 
7
+ - Theme contract system (`NoxionThemeContract`, `defineThemeContract`, `validateThemeContract`)
8
+ - Theme resolution hooks (`useThemeComponent`, `useThemeLayout`, `useThemeTemplate`)
7
9
  - Notion page renderer (via `@noxion/notion-renderer`)
8
- - Pre-built blog components: `PostCard`, `PostList`, `Header`, `Footer`, `TOC`, `Search`, `TagFilter`
9
- - CSS variable-based theme system with dark/light/system mode support
10
- - Fully customizable via component overrides
10
+ - CSS variable-based theming with dark/light/system mode support
11
11
 
12
12
  ## Installation
13
13
 
@@ -23,12 +23,13 @@ npm install @noxion/renderer react react-dom
23
23
  ## Usage
24
24
 
25
25
  ```tsx
26
- import { NoxionThemeProvider, PostList } from "@noxion/renderer";
26
+ import { NoxionThemeProvider } from "@noxion/renderer";
27
+ import { defaultThemeContract } from "@noxion/theme-default";
27
28
 
28
- export default function BlogPage({ posts }) {
29
+ export default function App({ children }) {
29
30
  return (
30
- <NoxionThemeProvider>
31
- <PostList posts={posts} />
31
+ <NoxionThemeProvider themeContract={defaultThemeContract}>
32
+ {children}
32
33
  </NoxionThemeProvider>
33
34
  );
34
35
  }
package/dist/index.d.ts CHANGED
@@ -1,38 +1,8 @@
1
- export { defineTheme, defaultTheme } from "./theme/define-theme";
2
- export { extendTheme } from "./theme/extend-theme";
3
- export type { ExtendThemeOverrides } from "./theme/extend-theme";
4
- export { generateCSSVariables, generateThemeStylesheet } from "./theme/css-generator";
5
- export { resolveComponents } from "./theme/component-resolver";
6
- export { NoxionThemeProvider, useNoxionTheme, useNoxionTokens, useNoxionComponents, useNoxionLayout, useNoxionSlots, useNoxionTemplate, } from "./theme/ThemeProvider";
7
- export type { NoxionThemeProviderProps } from "./theme/ThemeProvider";
8
- export { resolveSlots } from "./theme/slot-resolver";
9
- export { resolveTemplate } from "./theme/template-resolver";
10
- export { BaseLayout, BlogLayout, DocsLayout, MagazineLayout } from "./layouts";
11
- export { HomePage, PostPage, ArchivePage, TagPage, DocsPage, PortfolioGrid, PortfolioProject } from "./templates";
12
- export type { NoxionTheme, NoxionThemeColors, NoxionThemeFonts, NoxionThemeSpacing, NoxionThemeShadows, NoxionThemeTransitions, NoxionThemeBreakpoints, NoxionThemeTokens, NoxionLayout, ComponentOverrides, NoxionSlotMap, NoxionTemplateMap, NoxionTemplateProps, NoxionLayoutProps, NoxionThemePackage, NoxionThemeMetadata, HeaderProps, FooterProps, PostCardProps, PostListProps, TOCProps, SearchProps, TagFilterProps, DocsSidebarItem, DocsSidebarProps, DocsBreadcrumbItem, DocsBreadcrumbProps, DocsNavigationLink, DocsPageProps, PortfolioCardProps, PortfolioFilterProps, } from "./theme/types";
1
+ export type { NoxionTheme, NoxionThemeColors, NoxionThemeFonts, NoxionThemeSpacing, NoxionThemeShadows, NoxionThemeTransitions, NoxionThemeBreakpoints, NoxionThemeTokens, NoxionLayout, NoxionSlotMap, NoxionTemplateMap, NoxionTemplateProps, NoxionLayoutProps, NoxionThemeMetadata, HeaderProps, FooterProps, PostCardProps, PostListProps, TOCProps, SearchProps, TagFilterProps, DocsSidebarItem, DocsSidebarProps, DocsBreadcrumbItem, DocsBreadcrumbProps, DocsNavigationLink, DocsPageProps, PortfolioCardProps, PortfolioFilterProps, HeroSectionProps, EmptyStateProps, ThemeToggleProps, } from "./theme/types";
13
2
  export { NotionPage } from "./components/NotionPage";
14
3
  export type { NotionPageProps } from "./components/NotionPage";
15
- export { PostCard } from "./components/PostCard";
16
- export { FeaturedPostCard } from "./components/FeaturedPostCard";
17
- export { PostList } from "./components/PostList";
18
- export { HeroSection } from "./components/HeroSection";
19
- export type { HeroSectionProps } from "./components/HeroSection";
20
- export { Header } from "./components/Header";
21
4
  export { NoxionLogo } from "./components/NoxionLogo";
22
- export { Footer } from "./components/Footer";
23
- export { TagFilter } from "./components/TagFilter";
24
- export { EmptyState } from "./components/EmptyState";
25
- export type { EmptyStateProps } from "./components/EmptyState";
26
- export { ThemeToggle } from "./components/ThemeToggle";
27
- export { TOC } from "./components/TOC";
28
- export { Search } from "./components/Search";
29
- export { DocsSidebar } from "./components/DocsSidebar";
30
- export { DocsBreadcrumb } from "./components/DocsBreadcrumb";
31
- export { PortfolioProjectCard } from "./components/PortfolioProjectCard";
32
- export { PortfolioFilter } from "./components/PortfolioFilter";
33
5
  export { useThemePreference } from "./hooks/useTheme";
34
6
  export type { ThemePreference } from "./hooks/useTheme";
35
7
  export { useSearch } from "./hooks/useSearch";
36
- export { validateTheme, formatValidationResult } from "./theme/validate-theme";
37
- export type { ValidationResult, ValidationIssue, ValidationSeverity } from "./theme/validate-theme";
38
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,EACb,QAAQ,EACR,WAAW,EACX,cAAc,EACd,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,30 +1,5 @@
1
- export { defineTheme, defaultTheme } from "./theme/define-theme";
2
- export { extendTheme } from "./theme/extend-theme";
3
- export { generateCSSVariables, generateThemeStylesheet } from "./theme/css-generator";
4
- export { resolveComponents } from "./theme/component-resolver";
5
- export { NoxionThemeProvider, useNoxionTheme, useNoxionTokens, useNoxionComponents, useNoxionLayout, useNoxionSlots, useNoxionTemplate, } from "./theme/ThemeProvider";
6
- export { resolveSlots } from "./theme/slot-resolver";
7
- export { resolveTemplate } from "./theme/template-resolver";
8
- export { BaseLayout, BlogLayout, DocsLayout, MagazineLayout } from "./layouts";
9
- export { HomePage, PostPage, ArchivePage, TagPage, DocsPage, PortfolioGrid, PortfolioProject } from "./templates";
10
1
  export { NotionPage } from "./components/NotionPage";
11
- export { PostCard } from "./components/PostCard";
12
- export { FeaturedPostCard } from "./components/FeaturedPostCard";
13
- export { PostList } from "./components/PostList";
14
- export { HeroSection } from "./components/HeroSection";
15
- export { Header } from "./components/Header";
16
2
  export { NoxionLogo } from "./components/NoxionLogo";
17
- export { Footer } from "./components/Footer";
18
- export { TagFilter } from "./components/TagFilter";
19
- export { EmptyState } from "./components/EmptyState";
20
- export { ThemeToggle } from "./components/ThemeToggle";
21
- export { TOC } from "./components/TOC";
22
- export { Search } from "./components/Search";
23
- export { DocsSidebar } from "./components/DocsSidebar";
24
- export { DocsBreadcrumb } from "./components/DocsBreadcrumb";
25
- export { PortfolioProjectCard } from "./components/PortfolioProjectCard";
26
- export { PortfolioFilter } from "./components/PortfolioFilter";
27
3
  export { useThemePreference } from "./hooks/useTheme";
28
4
  export { useSearch } from "./hooks/useSearch";
29
- export { validateTheme, formatValidationResult } from "./theme/validate-theme";
30
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AACtF,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EACL,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,iBAAiB,GAClB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5D,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAmClH,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAEvD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAmCA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC"}
@@ -147,17 +147,17 @@ export interface PortfolioFilterProps {
147
147
  selectedTechnologies: string[];
148
148
  onToggle: (tech: string) => void;
149
149
  }
150
- export interface ComponentOverrides {
151
- Header?: ComponentType<HeaderProps>;
152
- Footer?: ComponentType<FooterProps>;
153
- PostCard?: ComponentType<PostCardProps>;
154
- FeaturedPostCard?: ComponentType<PostCardProps>;
155
- PostList?: ComponentType<PostListProps>;
156
- NotionPage?: ComponentType<NotionPageProps>;
157
- TOC?: ComponentType<TOCProps>;
158
- Search?: ComponentType<SearchProps>;
159
- TagFilter?: ComponentType<TagFilterProps>;
160
- NotionBlock?: Record<string, ComponentType<unknown>>;
150
+ export interface HeroSectionProps {
151
+ posts: PostCardProps[];
152
+ className?: string;
153
+ }
154
+ export interface EmptyStateProps {
155
+ title?: string;
156
+ message?: string;
157
+ className?: string;
158
+ }
159
+ export interface ThemeToggleProps {
160
+ className?: string;
161
161
  }
162
162
  export type NoxionLayout = "single-column" | "sidebar-left" | "sidebar-right";
163
163
  export interface NoxionSlotMap {
@@ -193,15 +193,4 @@ export interface NoxionThemeMetadata {
193
193
  version?: string;
194
194
  preview?: string;
195
195
  }
196
- export interface NoxionThemePackage {
197
- name: string;
198
- tokens: NoxionThemeTokens;
199
- layouts: Record<string, ComponentType<NoxionLayoutProps>>;
200
- templates: Partial<NoxionTemplateMap>;
201
- components: Partial<ComponentOverrides>;
202
- stylesheet?: string;
203
- /** Page types this theme supports (e.g. ['blog', 'docs', 'portfolio']) */
204
- supports?: string[];
205
- metadata?: NoxionThemeMetadata;
206
- }
207
196
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/theme/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noxion/renderer",
3
- "version": "0.2.0",
3
+ "version": "0.4.0",
4
4
  "description": "React rendering components and theme system for Noxion",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -1,5 +0,0 @@
1
- import type { DocsBreadcrumbProps } from "../theme/types";
2
- export declare function DocsBreadcrumb({ items, className }: DocsBreadcrumbProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element | null;
5
- //# sourceMappingURL=DocsBreadcrumb.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocsBreadcrumb.d.ts","sourceRoot":"","sources":["../../src/components/DocsBreadcrumb.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,mBAAmB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDA+BhG"}
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function DocsBreadcrumb({ items, className }) {
3
- if (items.length === 0)
4
- return null;
5
- return (_jsx("nav", { className: className ? `noxion-docs-breadcrumb ${className}` : "noxion-docs-breadcrumb", "aria-label": "Breadcrumb", children: _jsx("ol", { className: "noxion-docs-breadcrumb__list", children: items.map((item, index) => {
6
- const isLast = index === items.length - 1;
7
- return (_jsxs("li", { className: "noxion-docs-breadcrumb__item", children: [item.href && !isLast ? (_jsx("a", { href: item.href, className: "noxion-docs-breadcrumb__link", children: item.label })) : (_jsx("span", { className: "noxion-docs-breadcrumb__current", "aria-current": isLast ? "page" : undefined, children: item.label })), !isLast && (_jsx("span", { className: "noxion-docs-breadcrumb__separator", "aria-hidden": "true", children: "/" }))] }, item.label));
8
- }) }) }));
9
- }
10
- //# sourceMappingURL=DocsBreadcrumb.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocsBreadcrumb.js","sourceRoot":"","sources":["../../src/components/DocsBreadcrumb.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,cAAc,CAAC,EAAE,KAAK,EAAE,SAAS,EAAgD;IAC/F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,cACE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,0BAA0B,SAAS,EAAE,CAAC,CAAC,CAAC,wBAAwB,gBAC5E,YAAY,YAEvB,aAAI,SAAS,EAAC,8BAA8B,YACzC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACzB,MAAM,MAAM,GAAG,KAAK,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC1C,OAAO,CACL,cAAqB,SAAS,EAAC,8BAA8B,aAC1D,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CACtB,YAAG,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,8BAA8B,YACzD,IAAI,CAAC,KAAK,GACT,CACL,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,iCAAiC,kBAAe,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YACxF,IAAI,CAAC,KAAK,GACN,CACR,EACA,CAAC,MAAM,IAAI,CACV,eAAM,SAAS,EAAC,mCAAmC,iBAAa,MAAM,kBAAS,CAChF,KAZM,IAAI,CAAC,KAAK,CAad,CACN,CAAC;YACJ,CAAC,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { DocsSidebarProps } from "../theme/types";
2
- export declare function DocsSidebar({ items, currentSlug, className }: DocsSidebarProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element | null;
5
- //# sourceMappingURL=DocsSidebar.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocsSidebar.d.ts","sourceRoot":"","sources":["../../src/components/DocsSidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAmB,MAAM,gBAAgB,CAAC;AA8BxE,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,gBAAgB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDAevG"}
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- function SidebarItem({ item, currentSlug, depth = 0 }) {
3
- const isActive = currentSlug === item.slug;
4
- const hasChildren = item.children && item.children.length > 0;
5
- const baseClass = isActive
6
- ? "noxion-docs-sidebar__link noxion-docs-sidebar__link--active"
7
- : "noxion-docs-sidebar__link";
8
- return (_jsxs("li", { className: "noxion-docs-sidebar__item", children: [_jsx("a", { href: `/${item.slug}`, className: baseClass, style: { paddingLeft: `${depth * 0.75 + 0.5}rem` }, "aria-current": isActive ? "page" : undefined, children: item.title }), hasChildren && (_jsx("ul", { className: "noxion-docs-sidebar__list", children: item.children.map((child) => (_jsx(SidebarItem, { item: child, currentSlug: currentSlug, depth: depth + 1 }, child.id))) }))] }));
9
- }
10
- export function DocsSidebar({ items, currentSlug, className }) {
11
- if (items.length === 0)
12
- return null;
13
- return (_jsx("nav", { className: className ? `noxion-docs-sidebar ${className}` : "noxion-docs-sidebar", "aria-label": "Documentation navigation", children: _jsx("ul", { className: "noxion-docs-sidebar__list", children: items.map((item) => (_jsx(SidebarItem, { item: item, currentSlug: currentSlug }, item.id))) }) }));
14
- }
15
- //# sourceMappingURL=DocsSidebar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocsSidebar.js","sourceRoot":"","sources":["../../src/components/DocsSidebar.tsx"],"names":[],"mappings":";AAEA,SAAS,WAAW,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,GAAG,CAAC,EAAmE;IACpH,MAAM,QAAQ,GAAG,WAAW,KAAK,IAAI,CAAC,IAAI,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,QAAQ;QACxB,CAAC,CAAC,6DAA6D;QAC/D,CAAC,CAAC,2BAA2B,CAAC;IAEhC,OAAO,CACL,cAAI,SAAS,EAAC,2BAA2B,aACvC,YACE,IAAI,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,EACrB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,GAAG,IAAI,GAAG,GAAG,KAAK,EAAE,kBACpC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,YAE1C,IAAI,CAAC,KAAK,GACT,EACH,WAAW,IAAI,CACd,aAAI,SAAS,EAAC,2BAA2B,YACtC,IAAI,CAAC,QAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAC7B,KAAC,WAAW,IAAgB,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,IAAjE,KAAK,CAAC,EAAE,CAA6D,CACxF,CAAC,GACC,CACN,IACE,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAA6C;IACtG,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO,CACL,cACE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,uBAAuB,SAAS,EAAE,CAAC,CAAC,CAAC,qBAAqB,gBACtE,0BAA0B,YAErC,aAAI,SAAS,EAAC,2BAA2B,YACtC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,WAAW,IAAe,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,IAA7C,IAAI,CAAC,EAAE,CAA0C,CACpE,CAAC,GACC,GACD,CACP,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- export interface EmptyStateProps {
2
- title?: string;
3
- message?: string;
4
- className?: string;
5
- }
6
- export declare function EmptyState({ title, message, className, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
7
- //# sourceMappingURL=EmptyState.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState.d.ts","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":"AAEA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EACzB,KAA0B,EAC1B,OAA6C,EAC7C,SAAS,GACV,EAAE,eAAe,2CAUjB"}
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { FileText } from "lucide-react";
3
- export function EmptyState({ title = "Nothing here yet", message = "Check back later for new content.", className, }) {
4
- return (_jsxs("div", { className: className ? `noxion-empty-state ${className}` : "noxion-empty-state", children: [_jsx("span", { className: "noxion-empty-state__icon", children: _jsx(FileText, { size: 32, strokeWidth: 1.5 }) }), _jsx("h2", { className: "noxion-empty-state__title", children: title }), _jsx("p", { className: "noxion-empty-state__message", children: message })] }));
5
- }
6
- //# sourceMappingURL=EmptyState.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyState.js","sourceRoot":"","sources":["../../src/components/EmptyState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAQxC,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,GAAG,kBAAkB,EAC1B,OAAO,GAAG,mCAAmC,EAC7C,SAAS,GACO;IAChB,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC,CAAC,oBAAoB,aAClF,eAAM,SAAS,EAAC,0BAA0B,YACxC,KAAC,QAAQ,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,GAAG,GAAI,GACnC,EACP,aAAI,SAAS,EAAC,2BAA2B,YAAE,KAAK,GAAM,EACtD,YAAG,SAAS,EAAC,6BAA6B,YAAE,OAAO,GAAK,IACpD,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { PostCardProps } from "../theme/types";
2
- export declare function FeaturedPostCard({ title, slug, date, tags, coverImage, category, description, author, className, }: PostCardProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=FeaturedPostCard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeaturedPostCard.d.ts","sourceRoot":"","sources":["../../src/components/FeaturedPostCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAoDxC"}
@@ -1,19 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- function formatDate(dateStr) {
3
- try {
4
- const d = new Date(dateStr + (dateStr.includes("T") ? "" : "T00:00:00"));
5
- return d.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
6
- }
7
- catch {
8
- return dateStr;
9
- }
10
- }
11
- export function FeaturedPostCard({ title, slug, date, tags, coverImage, category, description, author, className, }) {
12
- const hasImage = Boolean(coverImage);
13
- const baseClass = hasImage
14
- ? "noxion-featured-card"
15
- : "noxion-featured-card noxion-featured-card--no-cover";
16
- const cardClass = className ? `${baseClass} ${className}` : baseClass;
17
- return (_jsxs("a", { href: `/${slug}`, className: cardClass, children: [_jsx("div", { className: "noxion-featured-card__cover", children: hasImage && (_jsxs(_Fragment, { children: [_jsx("img", { src: coverImage, alt: title, loading: "eager", decoding: "async", className: "noxion-featured-card__cover-image" }), _jsx("div", { className: "noxion-featured-card__cover-overlay" })] })) }), _jsxs("div", { className: "noxion-featured-card__content", children: [category && (_jsx("span", { className: "noxion-featured-card__category", children: category })), _jsx("h2", { className: "noxion-featured-card__title", children: title }), description && (_jsx("p", { className: "noxion-featured-card__description", children: description })), _jsxs("div", { className: "noxion-featured-card__meta", children: [author && (_jsx("span", { className: "noxion-featured-card__author", children: author })), date && (_jsx("time", { dateTime: date, className: "noxion-featured-card__date", children: formatDate(date) }))] }), tags.length > 0 && (_jsx("div", { className: "noxion-featured-card__tags", children: tags.map((tag) => (_jsx("span", { className: "noxion-featured-card__tag", children: tag }, tag))) }))] })] }));
18
- }
19
- //# sourceMappingURL=FeaturedPostCard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FeaturedPostCard.js","sourceRoot":"","sources":["../../src/components/FeaturedPostCard.tsx"],"names":[],"mappings":";AAEA,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GAC8B;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ;QACxB,CAAC,CAAC,sBAAsB;QACxB,CAAC,CAAC,qDAAqD,CAAC;IAC1D,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,aAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,aACvC,cAAK,SAAS,EAAC,6BAA6B,YACzC,QAAQ,IAAI,CACX,8BACE,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,KAAK,EACV,OAAO,EAAC,OAAO,EACf,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,mCAAmC,GAC7C,EACF,cAAK,SAAS,EAAC,qCAAqC,GAAG,IACtD,CACJ,GACG,EAEN,eAAK,SAAS,EAAC,+BAA+B,aAC3C,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,gCAAgC,YAAE,QAAQ,GAAQ,CACnE,EACD,aAAI,SAAS,EAAC,6BAA6B,YAAE,KAAK,GAAM,EACvD,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,mCAAmC,YAAE,WAAW,GAAK,CACnE,EACD,eAAK,SAAS,EAAC,4BAA4B,aACxC,MAAM,IAAI,CACT,eAAM,SAAS,EAAC,8BAA8B,YAAE,MAAM,GAAQ,CAC/D,EACA,IAAI,IAAI,CACP,eAAM,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,4BAA4B,YACzD,UAAU,CAAC,IAAI,CAAC,GACZ,CACR,IACG,EACL,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,cAAK,SAAS,EAAC,4BAA4B,YACxC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,eAAgB,SAAS,EAAC,2BAA2B,YAAE,GAAG,IAA/C,GAAG,CAAoD,CACnE,CAAC,GACE,CACP,IACG,IACJ,CACL,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { FooterProps } from "../theme/types";
2
- export declare function Footer({ siteName, author, className }: FooterProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=Footer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.d.ts","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAmB3F"}
@@ -1,7 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { ArrowUpRight } from "lucide-react";
3
- export function Footer({ siteName, author, className }) {
4
- const year = new Date().getFullYear();
5
- return (_jsxs("footer", { className: className ? `noxion-footer ${className}` : "noxion-footer", children: [_jsxs("span", { className: "noxion-footer__copyright", children: ["\u00A9 ", year, " ", author ?? siteName] }), _jsxs("a", { href: "https://github.com/jiwonme/noxion", target: "_blank", rel: "noopener noreferrer", className: "noxion-footer__powered-by", children: ["Powered by Noxion", _jsx(ArrowUpRight, { size: 12, strokeWidth: 2 })] })] }));
6
- }
7
- //# sourceMappingURL=Footer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAG5C,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAwC;IAC1F,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAEtC,OAAO,CACL,kBAAQ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aAC3E,gBAAM,SAAS,EAAC,0BAA0B,wBAChC,IAAI,OAAG,MAAM,IAAI,QAAQ,IAC5B,EACP,aACE,IAAI,EAAC,mCAAmC,EACxC,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAC,2BAA2B,kCAGrC,KAAC,YAAY,IAAC,IAAI,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,GAAI,IACxC,IACG,CACV,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { HeaderProps } from "../theme/types";
2
- export declare function Header({ siteName, logo, navigation, className }: HeaderProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=Header.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAe,EAAE,SAAS,EAAE,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsB1G"}
@@ -1,7 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { ThemeToggle } from "./ThemeToggle";
4
- export function Header({ siteName, logo, navigation = [], className }) {
5
- return (_jsxs("header", { className: className ? `noxion-header ${className}` : "noxion-header", children: [_jsx("a", { href: "/", className: "noxion-header__logo", children: logo || siteName }), navigation.length > 0 && (_jsx("nav", { className: "noxion-header__nav", children: navigation.map((item) => (_jsx("a", { href: item.href, className: "noxion-header__nav-link", children: item.label }, item.href))) })), _jsx("div", { className: "noxion-header__actions", children: _jsx(ThemeToggle, {}) })] }));
6
- }
7
- //# sourceMappingURL=Header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,GAAG,EAAE,EAAE,SAAS,EAAwC;IACzG,OAAO,CACL,kBAAQ,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC,eAAe,aAC3E,YAAG,IAAI,EAAC,GAAG,EAAC,SAAS,EAAC,qBAAqB,YACxC,IAAI,IAAI,QAAQ,GACf,EAEH,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,CACxB,cAAK,SAAS,EAAC,oBAAoB,YAChC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACxB,YAAmB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,YACpE,IAAI,CAAC,KAAK,IADL,IAAI,CAAC,IAAI,CAEb,CACL,CAAC,GACE,CACP,EAED,cAAK,SAAS,EAAC,wBAAwB,YACrC,KAAC,WAAW,KAAG,GACX,IACC,CACV,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { PostCardProps } from "../theme/types";
2
- export interface HeroSectionProps {
3
- posts: PostCardProps[];
4
- className?: string;
5
- }
6
- export declare function HeroSection({ posts, className }: HeroSectionProps): import("react/jsx-runtime").JSX.Element | null;
7
- //# sourceMappingURL=HeroSection.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeroSection.d.ts","sourceRoot":"","sources":["../../src/components/HeroSection.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAKpD,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,gBAAgB,kDAsBjE"}
@@ -1,16 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useNoxionComponents } from "../theme/ThemeProvider";
4
- import { FeaturedPostCard as DefaultFeaturedPostCard } from "./FeaturedPostCard";
5
- import { PostCard as DefaultPostCard } from "./PostCard";
6
- export function HeroSection({ posts, className }) {
7
- const overrides = useNoxionComponents();
8
- const FeaturedCard = (overrides.FeaturedPostCard ?? DefaultFeaturedPostCard);
9
- const Card = (overrides.PostCard ?? DefaultPostCard);
10
- if (posts.length === 0)
11
- return null;
12
- const [primary, ...secondary] = posts;
13
- const baseClass = className ? `noxion-home-hero ${className}` : "noxion-home-hero";
14
- return (_jsxs("section", { className: baseClass, children: [_jsx(FeaturedCard, { ...primary, className: "noxion-home-hero__primary" }), secondary.length > 0 && (_jsx("div", { className: "noxion-home-hero__secondary", children: secondary.map((post) => (_jsx(Card, { ...post }, post.slug))) }))] }));
15
- }
16
- //# sourceMappingURL=HeroSection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HeroSection.js","sourceRoot":"","sources":["../../src/components/HeroSection.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AAOzD,MAAM,UAAU,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAoB;IAChE,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,gBAAgB,IAAI,uBAAuB,CAA0D,CAAC;IACtI,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,eAAe,CAA0D,CAAC;IAE9G,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAEpC,MAAM,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,GAAG,KAAK,CAAC;IACtC,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAEnF,OAAO,CACL,mBAAS,SAAS,EAAE,SAAS,aAC3B,KAAC,YAAY,OAAK,OAAO,EAAE,SAAS,EAAC,2BAA2B,GAAG,EAClE,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CACvB,cAAK,SAAS,EAAC,6BAA6B,YACzC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACvB,KAAC,IAAI,OAAqB,IAAI,IAAnB,IAAI,CAAC,IAAI,CAAc,CACnC,CAAC,GACE,CACP,IACO,CACX,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { PortfolioFilterProps } from "../theme/types";
2
- export declare function PortfolioFilter({ technologies, selectedTechnologies, onToggle, className, }: PortfolioFilterProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element | null;
5
- //# sourceMappingURL=PortfolioFilter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PortfolioFilter.d.ts","sourceRoot":"","sources":["../../src/components/PortfolioFilter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAE3D,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,SAAS,GACV,EAAE,oBAAoB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,kDA6C/C"}
@@ -1,20 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- export function PortfolioFilter({ technologies, selectedTechnologies, onToggle, className, }) {
5
- const [expanded, setExpanded] = useState(false);
6
- if (technologies.length === 0)
7
- return null;
8
- const maxVisible = 8;
9
- const shouldCollapse = technologies.length > maxVisible;
10
- const visibleTechs = shouldCollapse && !expanded ? technologies.slice(0, maxVisible) : technologies;
11
- const hiddenCount = shouldCollapse ? technologies.length - maxVisible : 0;
12
- return (_jsxs("div", { className: className ? `noxion-portfolio-filter ${className}` : "noxion-portfolio-filter", children: [visibleTechs.map((tech) => {
13
- const isSelected = selectedTechnologies.includes(tech);
14
- const tagClass = isSelected
15
- ? "noxion-portfolio-filter__tag noxion-portfolio-filter__tag--selected"
16
- : "noxion-portfolio-filter__tag";
17
- return (_jsx("button", { onClick: () => onToggle(tech), type: "button", className: tagClass, children: tech }, tech));
18
- }), shouldCollapse && !expanded && hiddenCount > 0 && (_jsxs("button", { type: "button", onClick: () => setExpanded(true), className: "noxion-portfolio-filter__tag noxion-portfolio-filter__tag--more", children: ["+", hiddenCount] })), shouldCollapse && expanded && (_jsx("button", { type: "button", onClick: () => setExpanded(false), className: "noxion-portfolio-filter__tag noxion-portfolio-filter__tag--more", children: "Show less" }))] }));
19
- }
20
- //# sourceMappingURL=PortfolioFilter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PortfolioFilter.js","sourceRoot":"","sources":["../../src/components/PortfolioFilter.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAGjC,MAAM,UAAU,eAAe,CAAC,EAC9B,YAAY,EACZ,oBAAoB,EACpB,QAAQ,EACR,SAAS,GACqC;IAC9C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAE3C,MAAM,UAAU,GAAG,CAAC,CAAC;IACrB,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC;IACxD,MAAM,YAAY,GAAG,cAAc,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IACpG,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAE1E,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC,CAAC,yBAAyB,aAC3F,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,MAAM,UAAU,GAAG,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,UAAU;oBACzB,CAAC,CAAC,qEAAqE;oBACvE,CAAC,CAAC,8BAA8B,CAAC;gBACnC,OAAO,CACL,iBAAmB,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAC,QAAQ,EAAC,SAAS,EAAE,QAAQ,YAChF,IAAI,IADM,IAAI,CAER,CACV,CAAC;YACJ,CAAC,CAAC,EAED,cAAc,IAAI,CAAC,QAAQ,IAAI,WAAW,GAAG,CAAC,IAAI,CACjD,kBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,EAChC,SAAS,EAAC,iEAAiE,kBAEzE,WAAW,IACN,CACV,EAEA,cAAc,IAAI,QAAQ,IAAI,CAC7B,iBACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EACjC,SAAS,EAAC,iEAAiE,0BAGpE,CACV,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { PortfolioCardProps } from "../theme/types";
2
- export declare function PortfolioProjectCard({ title, slug, description, coverImage, technologies, projectUrl, year, featured, className, }: PortfolioCardProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=PortfolioProjectCard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PortfolioProjectCard.d.ts","sourceRoot":"","sources":["../../src/components/PortfolioProjectCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,GACV,EAAE,kBAAkB,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CA6D7C"}
@@ -1,13 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export function PortfolioProjectCard({ title, slug, description, coverImage, technologies, projectUrl, year, featured, className, }) {
3
- const classes = ["noxion-portfolio-card"];
4
- if (featured)
5
- classes.push("noxion-portfolio-card--featured");
6
- if (!coverImage)
7
- classes.push("noxion-portfolio-card--no-cover");
8
- if (className)
9
- classes.push(className);
10
- const cardClass = classes.join(" ");
11
- return (_jsxs("div", { className: cardClass, children: [_jsx("div", { className: "noxion-portfolio-card__cover", children: coverImage && (_jsx("img", { src: coverImage, alt: title, loading: "lazy", decoding: "async", className: "noxion-portfolio-card__cover-image" })) }), _jsxs("div", { className: "noxion-portfolio-card__body", children: [_jsxs("div", { className: "noxion-portfolio-card__header", children: [_jsx("a", { href: `/${slug}`, className: "noxion-portfolio-card__title-link", children: _jsx("h3", { className: "noxion-portfolio-card__title", children: title }) }), year && (_jsx("span", { className: "noxion-portfolio-card__year", children: year }))] }), description && (_jsx("p", { className: "noxion-portfolio-card__description", children: description })), technologies && technologies.length > 0 && (_jsx("div", { className: "noxion-portfolio-card__tech", children: technologies.map((tech) => (_jsx("span", { className: "noxion-portfolio-card__tech-tag", children: tech }, tech))) })), _jsxs("div", { className: "noxion-portfolio-card__actions", children: [_jsx("a", { href: `/${slug}`, className: "noxion-portfolio-card__link", children: "Details" }), projectUrl && (_jsx("a", { href: projectUrl, className: "noxion-portfolio-card__link noxion-portfolio-card__link--external", target: "_blank", rel: "noopener noreferrer", children: "Visit" }))] })] })] }));
12
- }
13
- //# sourceMappingURL=PortfolioProjectCard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PortfolioProjectCard.js","sourceRoot":"","sources":["../../src/components/PortfolioProjectCard.tsx"],"names":[],"mappings":";AAEA,MAAM,UAAU,oBAAoB,CAAC,EACnC,KAAK,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,YAAY,EACZ,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,SAAS,GACmC;IAC5C,MAAM,OAAO,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC1C,IAAI,QAAQ;QAAE,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IAC9D,IAAI,CAAC,UAAU;QAAE,OAAO,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACjE,IAAI,SAAS;QAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEpC,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,cAAK,SAAS,EAAC,8BAA8B,YAC1C,UAAU,IAAI,CACb,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,KAAK,EACV,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,oCAAoC,GAC9C,CACH,GACG,EAEN,eAAK,SAAS,EAAC,6BAA6B,aAC1C,eAAK,SAAS,EAAC,+BAA+B,aAC5C,YAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAC,mCAAmC,YAChE,aAAI,SAAS,EAAC,8BAA8B,YAAE,KAAK,GAAM,GACvD,EACH,IAAI,IAAI,CACP,eAAM,SAAS,EAAC,6BAA6B,YAAE,IAAI,GAAQ,CAC5D,IACG,EAEL,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,oCAAoC,YAAE,WAAW,GAAK,CACpE,EAEA,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAC1C,cAAK,SAAS,EAAC,6BAA6B,YACzC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAC1B,eAAiB,SAAS,EAAC,iCAAiC,YAAE,IAAI,IAAvD,IAAI,CAA2D,CAC3E,CAAC,GACE,CACP,EAED,eAAK,SAAS,EAAC,gCAAgC,aAC7C,YAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAC,6BAA6B,wBAExD,EACH,UAAU,IAAI,CACb,YACE,IAAI,EAAE,UAAU,EAChB,SAAS,EAAC,mEAAmE,EAC7E,MAAM,EAAC,QAAQ,EACf,GAAG,EAAC,qBAAqB,sBAGvB,CACL,IACG,IACF,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { PostCardProps } from "../theme/types";
2
- export declare function PostCard({ title, slug, date, tags, coverImage, category, description, author, className, }: PostCardProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=PostCard.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostCard.d.ts","sourceRoot":"","sources":["../../src/components/PostCard.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAWpD,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GACV,EAAE,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CA0DxC"}
@@ -1,17 +0,0 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- function formatDate(dateStr) {
3
- try {
4
- const d = new Date(dateStr + (dateStr.includes("T") ? "" : "T00:00:00"));
5
- return d.toLocaleDateString("en-US", { month: "short", day: "numeric", year: "numeric" });
6
- }
7
- catch {
8
- return dateStr;
9
- }
10
- }
11
- export function PostCard({ title, slug, date, tags, coverImage, category, description, author, className, }) {
12
- const hasImage = Boolean(coverImage);
13
- const baseClass = hasImage ? "noxion-post-card" : "noxion-post-card noxion-post-card--no-cover";
14
- const cardClass = className ? `${baseClass} ${className}` : baseClass;
15
- return (_jsxs("a", { href: `/${slug}`, className: cardClass, children: [_jsx("div", { className: "noxion-post-card__cover", children: hasImage && (_jsxs(_Fragment, { children: [_jsx("img", { src: coverImage, alt: title, loading: "lazy", decoding: "async", className: "noxion-post-card__cover-image" }), _jsx("div", { className: "noxion-post-card__cover-overlay" })] })) }), _jsxs("div", { className: "noxion-post-card__body", children: [_jsx("div", { className: "noxion-post-card__header", children: category && (_jsx("span", { className: "noxion-post-card__category", children: category })) }), _jsx("h3", { className: "noxion-post-card__title", children: title }), description && (_jsx("p", { className: "noxion-post-card__description", children: description })), _jsxs("div", { className: "noxion-post-card__meta", children: [author && (_jsx("span", { className: "noxion-post-card__author", children: author })), date && (_jsx("time", { dateTime: date, className: "noxion-post-card__date", children: formatDate(date) }))] }), tags.length > 0 && (_jsx("div", { className: "noxion-post-card__tags", children: tags.map((tag) => (_jsx("span", { className: "noxion-post-card__tag", children: tag }, tag))) }))] })] }));
16
- }
17
- //# sourceMappingURL=PostCard.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostCard.js","sourceRoot":"","sources":["../../src/components/PostCard.tsx"],"names":[],"mappings":";AAEA,SAAS,UAAU,CAAC,OAAe;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;QACzE,OAAO,CAAC,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,UAAU,EACV,QAAQ,EACR,WAAW,EACX,MAAM,EACN,SAAS,GAC8B;IACvC,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrC,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,6CAA6C,CAAC;IAChG,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAEtE,OAAO,CACL,aAAG,IAAI,EAAE,IAAI,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,aACvC,cAAK,SAAS,EAAC,yBAAyB,YACrC,QAAQ,IAAI,CACX,8BACE,cACE,GAAG,EAAE,UAAU,EACf,GAAG,EAAE,KAAK,EACV,OAAO,EAAC,MAAM,EACd,QAAQ,EAAC,OAAO,EAChB,SAAS,EAAC,+BAA+B,GACzC,EACF,cAAK,SAAS,EAAC,iCAAiC,GAAG,IAClD,CACJ,GACG,EAEN,eAAK,SAAS,EAAC,wBAAwB,aACrC,cAAK,SAAS,EAAC,0BAA0B,YACtC,QAAQ,IAAI,CACX,eAAM,SAAS,EAAC,4BAA4B,YAAE,QAAQ,GAAQ,CAC/D,GACG,EAEN,aAAI,SAAS,EAAC,yBAAyB,YAAE,KAAK,GAAM,EAEnD,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,CAC/D,EAED,eAAK,SAAS,EAAC,wBAAwB,aACpC,MAAM,IAAI,CACT,eAAM,SAAS,EAAC,0BAA0B,YAAE,MAAM,GAAQ,CAC3D,EACA,IAAI,IAAI,CACP,eAAM,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAC,wBAAwB,YACrD,UAAU,CAAC,IAAI,CAAC,GACZ,CACR,IACG,EAEL,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAClB,cAAK,SAAS,EAAC,wBAAwB,YACpC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,eAAgB,SAAS,EAAC,uBAAuB,YAC9C,GAAG,IADK,GAAG,CAEP,CACR,CAAC,GACE,CACP,IACG,IACJ,CACL,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { PostListProps } from "../theme/types";
2
- export declare function PostList({ posts, className }: PostListProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=PostList.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostList.d.ts","sourceRoot":"","sources":["../../src/components/PostList.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAiB,MAAM,gBAAgB,CAAC;AAInE,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAmBpF"}
@@ -1,13 +0,0 @@
1
- "use client";
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useNoxionComponents } from "../theme/ThemeProvider";
4
- import { PostCard as DefaultPostCard } from "./PostCard";
5
- export function PostList({ posts, className }) {
6
- const overrides = useNoxionComponents();
7
- const Card = (overrides.PostCard ?? DefaultPostCard);
8
- if (posts.length === 0) {
9
- return (_jsx("div", { className: "noxion-empty-state", children: _jsx("p", { className: "noxion-empty-state__message", children: "No posts found." }) }));
10
- }
11
- return (_jsx("div", { className: className ? `noxion-post-list ${className}` : "noxion-post-list", children: posts.map((post) => (_jsx(Card, { ...post }, post.slug))) }));
12
- }
13
- //# sourceMappingURL=PostList.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PostList.js","sourceRoot":"","sources":["../../src/components/PostList.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAIb,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,YAAY,CAAC;AAEzD,MAAM,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAA0C;IACnF,MAAM,SAAS,GAAG,mBAAmB,EAAE,CAAC;IACxC,MAAM,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,IAAI,eAAe,CAAiC,CAAC;IAErF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CACL,cAAK,SAAS,EAAC,oBAAoB,YACjC,YAAG,SAAS,EAAC,6BAA6B,gCAAoB,GAC1D,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAoB,SAAS,EAAE,CAAC,CAAC,CAAC,kBAAkB,YAC7E,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,IAAI,OAAqB,IAAI,IAAnB,IAAI,CAAC,IAAI,CAAc,CACnC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
@@ -1,5 +0,0 @@
1
- import type { SearchProps } from "../theme/types";
2
- export declare function Search({ onSearch, placeholder, className, }: SearchProps & {
3
- className?: string;
4
- }): import("react/jsx-runtime").JSX.Element;
5
- //# sourceMappingURL=Search.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Search.d.ts","sourceRoot":"","sources":["../../src/components/Search.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,wBAAgB,MAAM,CAAC,EACrB,QAAQ,EACR,WAA+B,EAC/B,SAAS,GACV,EAAE,WAAW,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,2CAsCtC"}