@leadertechie/personal-site-kit 0.1.0-alpha.2 → 0.1.0-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 (169) hide show
  1. package/README.md +94 -17
  2. package/dist/api/content-utils.d.ts +27 -0
  3. package/dist/api/content-utils.d.ts.map +1 -0
  4. package/dist/api/handlers/about-me.d.ts.map +1 -1
  5. package/dist/api/handlers/auth-handler.d.ts +2 -0
  6. package/dist/api/handlers/auth-handler.d.ts.map +1 -0
  7. package/dist/api/handlers/auth.d.ts +23 -0
  8. package/dist/api/handlers/auth.d.ts.map +1 -0
  9. package/dist/api/handlers/content-api.d.ts +0 -1
  10. package/dist/api/handlers/content-api.d.ts.map +1 -1
  11. package/dist/api/handlers/content.d.ts.map +1 -1
  12. package/dist/api/handlers/home.d.ts.map +1 -1
  13. package/dist/api/handlers/static-details.d.ts +1 -1
  14. package/dist/api/handlers/static-details.d.ts.map +1 -1
  15. package/dist/api/index.d.ts +2 -0
  16. package/dist/api/index.d.ts.map +1 -1
  17. package/dist/api/website-api.d.ts +1 -1
  18. package/dist/api/website-api.d.ts.map +1 -1
  19. package/dist/api.js +17 -2
  20. package/dist/assets/logo-placeholder.svg +21 -0
  21. package/dist/chunks/index-C1krnvU3.js +211 -0
  22. package/dist/chunks/index-DrnbjP2Q.js +2715 -0
  23. package/dist/chunks/site-store-CGV9c2DI.js +89 -0
  24. package/dist/chunks/{template-gGTkeOcA.js → template-DVy2k_na.js} +128 -90
  25. package/dist/chunks/website-api-CFRUPu0X.js +958 -0
  26. package/dist/index.js +42 -14
  27. package/dist/prerender/data-fetcher.d.ts +19 -0
  28. package/dist/prerender/data-fetcher.d.ts.map +1 -0
  29. package/dist/prerender/page-content.d.ts.map +1 -1
  30. package/dist/prerender/page-generators/about.d.ts +16 -0
  31. package/dist/prerender/page-generators/about.d.ts.map +1 -0
  32. package/dist/prerender/page-generators/base.d.ts +25 -0
  33. package/dist/prerender/page-generators/base.d.ts.map +1 -0
  34. package/dist/prerender/page-generators/blog-detail.d.ts +15 -0
  35. package/dist/prerender/page-generators/blog-detail.d.ts.map +1 -0
  36. package/dist/prerender/page-generators/blogs-list.d.ts +17 -0
  37. package/dist/prerender/page-generators/blogs-list.d.ts.map +1 -0
  38. package/dist/prerender/page-generators/home.d.ts +19 -0
  39. package/dist/prerender/page-generators/home.d.ts.map +1 -0
  40. package/dist/prerender/page-generators/index.d.ts +9 -0
  41. package/dist/prerender/page-generators/index.d.ts.map +1 -0
  42. package/dist/prerender/page-generators/not-found.d.ts +14 -0
  43. package/dist/prerender/page-generators/not-found.d.ts.map +1 -0
  44. package/dist/prerender/page-generators/stories-list.d.ts +17 -0
  45. package/dist/prerender/page-generators/stories-list.d.ts.map +1 -0
  46. package/dist/prerender/page-generators/story-detail.d.ts +15 -0
  47. package/dist/prerender/page-generators/story-detail.d.ts.map +1 -0
  48. package/dist/prerender/template.d.ts +3 -1
  49. package/dist/prerender/template.d.ts.map +1 -1
  50. package/dist/prerender/website-prerender.d.ts +6 -0
  51. package/dist/prerender/website-prerender.d.ts.map +1 -1
  52. package/dist/prerender.js +291 -145
  53. package/dist/shared/config/index.d.ts +1 -0
  54. package/dist/shared/config/index.d.ts.map +1 -1
  55. package/dist/shared/core/site-store.d.ts +1 -0
  56. package/dist/shared/core/site-store.d.ts.map +1 -1
  57. package/dist/shared/core/theme-toggle.d.ts.map +1 -1
  58. package/dist/shared/page-content.d.ts.map +1 -1
  59. package/dist/shared/router.d.ts +9 -3
  60. package/dist/shared/router.d.ts.map +1 -1
  61. package/dist/shared/website-ui.d.ts +23 -0
  62. package/dist/shared/website-ui.d.ts.map +1 -1
  63. package/dist/shared.js +6 -4
  64. package/dist/ui/about-me/index.d.ts +2 -10
  65. package/dist/ui/about-me/index.d.ts.map +1 -1
  66. package/dist/ui/about-me/styles.d.ts.map +1 -1
  67. package/dist/ui/admin/api.d.ts +16 -0
  68. package/dist/ui/admin/api.d.ts.map +1 -0
  69. package/dist/ui/admin/components/AboutMeSection.d.ts +7 -0
  70. package/dist/ui/admin/components/AboutMeSection.d.ts.map +1 -0
  71. package/dist/ui/admin/components/AdminSection.d.ts +13 -0
  72. package/dist/ui/admin/components/AdminSection.d.ts.map +1 -0
  73. package/dist/ui/admin/components/BlogsSection.d.ts +7 -0
  74. package/dist/ui/admin/components/BlogsSection.d.ts.map +1 -0
  75. package/dist/ui/admin/components/HomeSection.d.ts +7 -0
  76. package/dist/ui/admin/components/HomeSection.d.ts.map +1 -0
  77. package/dist/ui/admin/components/ImagesSection.d.ts +7 -0
  78. package/dist/ui/admin/components/ImagesSection.d.ts.map +1 -0
  79. package/dist/ui/admin/components/LoginForm.d.ts +9 -0
  80. package/dist/ui/admin/components/LoginForm.d.ts.map +1 -0
  81. package/dist/ui/admin/components/LogoSection.d.ts +7 -0
  82. package/dist/ui/admin/components/LogoSection.d.ts.map +1 -0
  83. package/dist/ui/admin/components/ProfileSection.d.ts +7 -0
  84. package/dist/ui/admin/components/ProfileSection.d.ts.map +1 -0
  85. package/dist/ui/admin/components/StaticSection.d.ts +9 -0
  86. package/dist/ui/admin/components/StaticSection.d.ts.map +1 -0
  87. package/dist/ui/admin/components/StoriesSection.d.ts +7 -0
  88. package/dist/ui/admin/components/StoriesSection.d.ts.map +1 -0
  89. package/dist/ui/admin/components/index.d.ts +11 -0
  90. package/dist/ui/admin/components/index.d.ts.map +1 -0
  91. package/dist/ui/admin/index.d.ts +27 -26
  92. package/dist/ui/admin/index.d.ts.map +1 -1
  93. package/dist/ui/admin/styles.d.ts.map +1 -1
  94. package/dist/ui/admin/types.d.ts +24 -0
  95. package/dist/ui/admin/types.d.ts.map +1 -0
  96. package/dist/ui/banner/index.d.ts.map +1 -1
  97. package/dist/ui/banner/styles.d.ts.map +1 -1
  98. package/dist/ui/blog-viewer/__tests__/blogviewer.test.d.ts +2 -0
  99. package/dist/ui/blog-viewer/__tests__/blogviewer.test.d.ts.map +1 -0
  100. package/dist/ui/blog-viewer/index.d.ts +25 -0
  101. package/dist/ui/blog-viewer/index.d.ts.map +1 -0
  102. package/dist/ui/blog-viewer/styles.d.ts +2 -0
  103. package/dist/ui/blog-viewer/styles.d.ts.map +1 -0
  104. package/dist/ui/footer/index.d.ts.map +1 -1
  105. package/dist/ui/footer/styles.d.ts.map +1 -1
  106. package/dist/ui/index.d.ts +2 -0
  107. package/dist/ui/index.d.ts.map +1 -1
  108. package/dist/ui/story-viewer/__tests__/storyviewer.test.d.ts +2 -0
  109. package/dist/ui/story-viewer/__tests__/storyviewer.test.d.ts.map +1 -0
  110. package/dist/ui/story-viewer/index.d.ts +25 -0
  111. package/dist/ui/story-viewer/index.d.ts.map +1 -0
  112. package/dist/ui/story-viewer/styles.d.ts +2 -0
  113. package/dist/ui/story-viewer/styles.d.ts.map +1 -0
  114. package/dist/ui.js +15 -3
  115. package/package.json +37 -13
  116. package/public/assets/logo-placeholder.svg +21 -0
  117. package/dist/chunks/index-BqixlS-2.js +0 -1157
  118. package/dist/chunks/website-api-CVsi-OLc.js +0 -596
  119. package/dist/ui/about-me/renderer.d.ts +0 -5
  120. package/dist/ui/about-me/renderer.d.ts.map +0 -1
  121. package/src/api/__tests__/info.test.ts +0 -44
  122. package/src/api/__tests__/utils.test.ts +0 -78
  123. package/src/api/handlers/about-me.ts +0 -99
  124. package/src/api/handlers/content-api.ts +0 -268
  125. package/src/api/handlers/content.ts +0 -72
  126. package/src/api/handlers/home.ts +0 -79
  127. package/src/api/handlers/info.ts +0 -12
  128. package/src/api/handlers/logo.ts +0 -55
  129. package/src/api/handlers/static-details.ts +0 -48
  130. package/src/api/index.ts +0 -7
  131. package/src/api/utils.ts +0 -16
  132. package/src/api/website-api.ts +0 -124
  133. package/src/index.ts +0 -4
  134. package/src/prerender/__tests__/page-content.test.ts +0 -54
  135. package/src/prerender/__tests__/template.test.ts +0 -54
  136. package/src/prerender/index.ts +0 -7
  137. package/src/prerender/page-content.ts +0 -263
  138. package/src/prerender/prerender.ts +0 -25
  139. package/src/prerender/template.ts +0 -65
  140. package/src/prerender/website-prerender.ts +0 -152
  141. package/src/shared/config/api.ts +0 -16
  142. package/src/shared/config/index.ts +0 -41
  143. package/src/shared/config/types.ts +0 -16
  144. package/src/shared/core/__tests__/theme-toggle.test.ts +0 -204
  145. package/src/shared/core/site-store.ts +0 -38
  146. package/src/shared/core/theme-toggle.ts +0 -118
  147. package/src/shared/index.ts +0 -17
  148. package/src/shared/interfaces/ifooter-link.ts +0 -4
  149. package/src/shared/interfaces/iroute.ts +0 -4
  150. package/src/shared/models/theme-variables.css +0 -25
  151. package/src/shared/page-content.ts +0 -210
  152. package/src/shared/router.ts +0 -241
  153. package/src/shared/runtime.ts +0 -11
  154. package/src/shared/template.ts +0 -35
  155. package/src/shared/website-ui.ts +0 -92
  156. package/src/styles/markdown.css +0 -129
  157. package/src/ui/about-me/api.ts +0 -12
  158. package/src/ui/about-me/index.ts +0 -155
  159. package/src/ui/about-me/renderer.ts +0 -7
  160. package/src/ui/about-me/styles.ts +0 -10
  161. package/src/ui/admin/index.ts +0 -492
  162. package/src/ui/admin/styles.ts +0 -317
  163. package/src/ui/banner/index.ts +0 -38
  164. package/src/ui/banner/styles.ts +0 -10
  165. package/src/ui/footer/index.ts +0 -37
  166. package/src/ui/footer/styles.ts +0 -9
  167. package/src/ui/index.ts +0 -4
  168. /package/{src/shared → dist}/styles/markdown.css +0 -0
  169. /package/{src → dist}/styles/theme.css +0 -0
@@ -13,16 +13,39 @@ export interface UIConfig {
13
13
  customCss?: string;
14
14
  };
15
15
  onBootstrap?: (ui: WebsiteUI) => void | Promise<void>;
16
+ interactConfig?: {
17
+ interactions?: Record<string, {
18
+ selector: string;
19
+ }>;
20
+ cssHydration?: {
21
+ inlineCritical?: boolean;
22
+ layerInjection?: boolean;
23
+ themeToggle?: boolean;
24
+ };
25
+ };
16
26
  }
17
27
  export declare class WebsiteUI {
18
28
  private static instance;
19
29
  private store;
20
30
  private config;
21
31
  private router;
32
+ private interactInitialized;
22
33
  private constructor();
23
34
  static getInstance(config?: UIConfig): WebsiteUI;
24
35
  bootstrap(): Promise<void>;
36
+ /**
37
+ * Initialize md2interact for client-side DOM interactions,
38
+ * CSS hydration, and event bus communication.
39
+ */
40
+ private initInteract;
41
+ /**
42
+ * Reinitialize md2interact after dynamic content changes (e.g., SPA navigation).
43
+ * This re-scans the DOM for new interaction elements.
44
+ */
45
+ reinitInteract(): void;
46
+ private updateBanner;
25
47
  private applyTheme;
48
+ private updateFavicon;
26
49
  getStore(): SiteStore;
27
50
  getConfig(): UIConfig;
28
51
  getRouter(): Router;
@@ -1 +1 @@
1
- {"version":3,"file":"website-ui.d.ts","sourceRoot":"","sources":["../../src/shared/website-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IACnC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,MAAM,CAAuB;IAErC,OAAO;WAKO,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS;IAU1C,SAAS;IAsBtB,OAAO,CAAC,UAAU;IAiBX,QAAQ;IAIR,SAAS;IAIT,SAAS;CAGjB;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,QAAQ,kBAA8C,CAAC"}
1
+ {"version":3,"file":"website-ui.d.ts","sourceRoot":"","sources":["../../src/shared/website-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE;QACN,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,cAAc,CAAC,EAAE;QACf,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpD,YAAY,CAAC,EAAE;YACb,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,cAAc,CAAC,EAAE,OAAO,CAAC;YACzB,WAAW,CAAC,EAAE,OAAO,CAAC;SACvB,CAAC;KACH,CAAC;CACH;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAY;IACnC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAW;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO;WAKO,WAAW,CAAC,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS;IAU1C,SAAS;IAyCtB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAuBpB;;;OAGG;IACI,cAAc;IAMrB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAiBlB,OAAO,CAAC,aAAa;IAad,QAAQ;IAIR,SAAS;IAIT,SAAS;CAGjB;AAED,eAAO,MAAM,SAAS,GAAI,SAAS,QAAQ,kBAA8C,CAAC"}
package/dist/shared.js CHANGED
@@ -1,4 +1,5 @@
1
- import { R, S, T, W, b, c, g, a, i, r } from "./chunks/template-gGTkeOcA.js";
1
+ import { S, g, i, r } from "./chunks/site-store-CGV9c2DI.js";
2
+ import { R, T, W, b, c, g as g2, r as r2 } from "./chunks/template-DVy2k_na.js";
2
3
  export {
3
4
  R as Router,
4
5
  S as SiteStore,
@@ -6,8 +7,9 @@ export {
6
7
  W as WebsiteUI,
7
8
  b as bootstrap,
8
9
  c as createHtmlTemplate,
9
- g as generatePageContent,
10
- a as getConfig,
10
+ g2 as generatePageContent,
11
+ g as getConfig,
11
12
  i as initializeConfig,
12
- r as renderMarkdown
13
+ r as refreshConfig,
14
+ r2 as renderMarkdown
13
15
  };
@@ -1,21 +1,13 @@
1
1
  import { LitElement } from 'lit';
2
- import { ContentNode } from '@leadertechie/md2html';
3
2
  import { Profile, fetchAboutMe } from './api';
4
- import { AboutMeRenderer } from './renderer';
5
3
  export declare class MyAboutme extends LitElement {
6
4
  static styles: import('lit').CSSResult;
7
5
  accessor baseUrl: string;
8
6
  accessor profile: Profile | null;
9
- accessor contentNodes: ContentNode[];
7
+ accessor htmlContent: string;
10
8
  accessor loading: boolean;
11
- private renderer;
12
- /**
13
- * Injectable fetcher function used to retrieve About Me data.
14
- * Tests can override this (e.g. componentInstance.fetcher = myMock)
15
- * to avoid network I/O. By default it uses the stable `fetchAboutMe` helper.
16
- */
17
9
  fetcher: typeof fetchAboutMe;
18
- constructor(renderer?: AboutMeRenderer);
10
+ constructor();
19
11
  private get apiBaseUrl();
20
12
  connectedCallback(): Promise<void>;
21
13
  updated(changedProperties: Map<string, any>): void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/about-me/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAIhC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAOrC,qBACa,SAAU,SAAQ,UAAU;IACvC,MAAM,CAAC,MAAM,0BAAiB;IAG9B,QAAQ,CAAC,OAAO,SAAM;IAGtB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IAGxC,QAAQ,CAAC,YAAY,EAAE,WAAW,EAAE,CAAM;IAG1C,QAAQ,CAAC,OAAO,UAAQ;IAExB,OAAO,CAAC,QAAQ,CAAkB;IAClC;;;;OAIG;IACI,OAAO,sBAAgB;gBAElB,QAAQ,CAAC,EAAE,eAAe;IAKtC,OAAO,KAAK,UAAU,GAErB;IAEK,iBAAiB;IAmBvB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;YAiB7B,WAAW;IAuBzB,OAAO,CAAC,kBAAkB;IAU1B,MAAM;CAoCP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/about-me/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AAErC,qBACa,SAAU,SAAQ,UAAU;IACvC,MAAM,CAAC,MAAM,0BAAiB;IAG9B,QAAQ,CAAC,OAAO,SAAM;IAGtB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAQ;IAGxC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAM;IAGlC,QAAQ,CAAC,OAAO,UAAQ;IAEjB,OAAO,sBAAgB;;IAM9B,OAAO,KAAK,UAAU,GAErB;IAEK,iBAAiB;IAcvB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;YAY7B,WAAW;IAuBzB,OAAO,CAAC,kBAAkB;IAS1B,MAAM;CA6BP"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/about-me/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAOzB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/about-me/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAkFzB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { ContentItem, AuthStatus, StaticDetails } from './types';
2
+ export declare class AdminApiService {
3
+ private apiUrl;
4
+ constructor(apiUrl: string);
5
+ checkAuthStatus(): Promise<AuthStatus>;
6
+ tryAutoLogin(): Promise<ContentItem[]>;
7
+ login(username: string, password: string): Promise<void>;
8
+ setup(username: string, password: string): Promise<void>;
9
+ logout(): Promise<void>;
10
+ fetchContent(): Promise<ContentItem[]>;
11
+ fetchStaticDetails(): Promise<StaticDetails>;
12
+ uploadContent(key: string, file: File): Promise<void>;
13
+ deleteContent(key: string): Promise<void>;
14
+ clearCache(): Promise<void>;
15
+ }
16
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAEtE,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,MAAM;IAE5B,eAAe,IAAI,OAAO,CAAC,UAAU,CAAC;IAMtC,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAQtC,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAaxD,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvB,YAAY,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IAQtC,kBAAkB,IAAI,OAAO,CAAC,aAAa,CAAC;IAQ5C,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IASrD,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQzC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAOlC"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminAboutMeSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=AboutMeSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AboutMeSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/AboutMeSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,mBAAoB,SAAQ,YAAY;YACrC,YAAY;YAYZ,YAAY;IAS1B,MAAM;CAmBP"}
@@ -0,0 +1,13 @@
1
+ import { LitElement } from 'lit';
2
+ import { ContentItem, StaticDetails, AdminSectionProps } from '../types';
3
+ export declare abstract class AdminSection extends LitElement implements AdminSectionProps {
4
+ static styles: import('lit').CSSResult;
5
+ accessor contentList: ContentItem[];
6
+ accessor staticDetails: StaticDetails;
7
+ accessor onUpload: (key: string, file: File) => Promise<void>;
8
+ accessor onDelete: (key: string) => Promise<void>;
9
+ accessor onStatusMessage: (message: string) => void;
10
+ protected getContent(key: string): ContentItem | undefined;
11
+ protected getSectionFiles(prefix: string): ContentItem[];
12
+ }
13
+ //# sourceMappingURL=AdminSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AdminSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/AdminSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAO,MAAM,KAAK,CAAC;AAEtC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE9E,8BAAsB,YAAa,SAAQ,UAAW,YAAW,iBAAiB;IAEhF,MAAM,CAAC,MAAM,0BAuGX;IAGF,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IAGzC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAM;IAG3C,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAkB;IAG/E,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAkB;IAGnE,QAAQ,CAAC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAY;IAE/D,SAAS,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1D,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;CAGzD"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminBlogsSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=BlogsSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BlogsSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/BlogsSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,iBAAkB,SAAQ,YAAY;YACnC,YAAY;YAiBZ,YAAY;IAU1B,MAAM;CAsCP"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminHomeSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=HomeSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HomeSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/HomeSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,gBAAiB,SAAQ,YAAY;YAClC,YAAY;YAYZ,YAAY;IAS1B,MAAM;CAmBP"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminImagesSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=ImagesSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImagesSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/ImagesSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,kBAAmB,SAAQ,YAAY;YACpC,YAAY;YAcZ,YAAY;IAS1B,MAAM;CAwBP"}
@@ -0,0 +1,9 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class AdminLoginForm extends LitElement {
3
+ static styles: import('lit').CSSResult;
4
+ accessor errorMessage: string;
5
+ accessor isSetup: boolean;
6
+ private handleSubmit;
7
+ render(): import('lit-html').TemplateResult<1>;
8
+ }
9
+ //# sourceMappingURL=LoginForm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginForm.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/LoginForm.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,qBACa,cAAe,SAAQ,UAAU;IAE5C,MAAM,CAAC,MAAM,0BAsEX;IAGF,QAAQ,CAAC,YAAY,SAAM;IAG3B,QAAQ,CAAC,OAAO,UAAS;IAEzB,OAAO,CAAC,YAAY;IAcpB,MAAM;CAiBP"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminLogoSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=LogoSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogoSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/LogoSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,gBAAiB,SAAQ,YAAY;YAClC,YAAY;YAYZ,YAAY;IAS1B,MAAM;CA+BP"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminProfileSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=ProfileSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/ProfileSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,mBAAoB,SAAQ,YAAY;YACrC,YAAY;YAYZ,YAAY;IAS1B,MAAM;CAmBP"}
@@ -0,0 +1,9 @@
1
+ import { PropertyValues } from 'lit';
2
+ import { AdminSection } from './AdminSection';
3
+ export declare class AdminStaticSection extends AdminSection {
4
+ accessor localDetails: any;
5
+ willUpdate(changedProperties: PropertyValues): void;
6
+ private handleSave;
7
+ render(): import('lit-html').TemplateResult<1>;
8
+ }
9
+ //# sourceMappingURL=StaticSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/StaticSection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,kBAAmB,SAAQ,YAAY;IAElD,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAM;IAEhC,UAAU,CAAC,iBAAiB,EAAE,cAAc;YAM9B,UAAU;IAuBxB,MAAM;CAmCP"}
@@ -0,0 +1,7 @@
1
+ import { AdminSection } from './AdminSection';
2
+ export declare class AdminStoriesSection extends AdminSection {
3
+ private handleUpload;
4
+ private handleDelete;
5
+ render(): import('lit-html').TemplateResult<1>;
6
+ }
7
+ //# sourceMappingURL=StoriesSection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StoriesSection.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/StoriesSection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBACa,mBAAoB,SAAQ,YAAY;YACrC,YAAY;YAiBZ,YAAY;IAU1B,MAAM;CAsCP"}
@@ -0,0 +1,11 @@
1
+ export * from './AdminSection';
2
+ export * from './LoginForm';
3
+ export * from './HomeSection';
4
+ export * from './ProfileSection';
5
+ export * from './AboutMeSection';
6
+ export * from './BlogsSection';
7
+ export * from './StoriesSection';
8
+ export * from './ImagesSection';
9
+ export * from './LogoSection';
10
+ export * from './StaticSection';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/admin/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC"}
@@ -1,42 +1,43 @@
1
1
  import { LitElement } from 'lit';
2
- interface ContentItem {
3
- key: string;
4
- size: number;
5
- uploaded?: string;
6
- }
7
- interface StaticDetails {
8
- siteTitle?: string;
9
- copyright?: string;
10
- linkedin?: string;
11
- github?: string;
12
- email?: string;
13
- }
2
+ import { ContentItem, StaticDetails } from './types';
3
+ import { AdminLoginForm, AdminHomeSection, AdminProfileSection, AdminAboutMeSection, AdminBlogsSection, AdminStoriesSection, AdminImagesSection, AdminLogoSection, AdminStaticSection } from './components';
4
+ export { AdminLoginForm, AdminHomeSection, AdminProfileSection, AdminAboutMeSection, AdminBlogsSection, AdminStoriesSection, AdminImagesSection, AdminLogoSection, AdminStaticSection };
14
5
  export declare class AdminPortal extends LitElement {
15
6
  static styles: import('lit').CSSResult;
16
- accessor apiKey: string;
17
7
  accessor isAuthenticated: boolean;
8
+ accessor isSetup: boolean;
9
+ accessor isLoading: boolean;
18
10
  accessor contentList: ContentItem[];
19
11
  accessor statusMessage: string;
20
12
  accessor activeSection: string;
21
13
  accessor staticDetails: StaticDetails;
22
- get apiUrl(): any;
23
- handleLogin(e: Event): void;
14
+ accessor loginError: string;
15
+ private apiService;
16
+ constructor();
17
+ private hasSessionCookie;
18
+ connectedCallback(): Promise<void>;
19
+ checkAuthStatus(): Promise<void>;
20
+ tryAutoLogin(): Promise<void>;
21
+ handleLogin(e: CustomEvent): Promise<void>;
22
+ handleSetup(e: CustomEvent): Promise<void>;
23
+ handleLogout(): Promise<void>;
24
24
  fetchContent(): Promise<void>;
25
25
  fetchStaticDetails(): Promise<void>;
26
26
  handleUpload(key: string, file: File): Promise<void>;
27
27
  handleClearCache(): Promise<void>;
28
28
  handleDelete(key: string): Promise<void>;
29
- getContent(key: string): ContentItem | undefined;
30
- getSectionFiles(prefix: string): ContentItem[];
31
- renderHomeSection(): import('lit-html').TemplateResult<1>;
32
- renderProfileSection(): import('lit-html').TemplateResult<1>;
33
- renderAboutMeSection(): import('lit-html').TemplateResult<1>;
34
- renderBlogsSection(): import('lit-html').TemplateResult<1>;
35
- renderStoriesSection(): import('lit-html').TemplateResult<1>;
36
- renderImagesSection(): import('lit-html').TemplateResult<1>;
37
- renderLogoSection(): import('lit-html').TemplateResult<1>;
29
+ private handleStatusMessage;
30
+ private renderHomeSection;
31
+ private renderProfileSection;
32
+ private renderAboutMeSection;
33
+ private renderBlogsSection;
34
+ private renderStoriesSection;
35
+ private renderImagesSection;
36
+ private renderLogoSection;
37
+ private renderStaticSection;
38
+ renderLoginForm(): import('lit-html').TemplateResult<1>;
39
+ renderLogin(): import('lit-html').TemplateResult<1>;
38
40
  render(): import('lit-html').TemplateResult<1>;
39
- renderStaticSection(): import('lit-html').TemplateResult<1>;
40
41
  }
41
- export {};
42
+ export declare const adminLoaded = true;
42
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAO5C,UAAU,WAAW;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,aAAa;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,0BAAe;IAG5B,QAAQ,CAAC,MAAM,SAAM;IAGrB,QAAQ,CAAC,eAAe,UAAS;IAGjC,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IAGzC,QAAQ,CAAC,aAAa,SAAM;IAG5B,QAAQ,CAAC,aAAa,SAAa;IAGnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAM;IAE3C,IAAI,MAAM,QAET;IAED,WAAW,CAAC,CAAC,EAAE,KAAK;IAUd,YAAY;IAiBZ,kBAAkB;IAWlB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAsBpC,gBAAgB;IAoBhB,YAAY,CAAC,GAAG,EAAE,MAAM;IAqB9B,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAIhD,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAI9C,iBAAiB;IAuBjB,oBAAoB;IAuBpB,oBAAoB;IAuBpB,kBAAkB;IAuClB,oBAAoB;IAuCpB,mBAAmB;IA+BnB,iBAAiB;IA2BjB,MAAM;IA+DN,mBAAmB;CAiEpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE1D,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EACnB,CAAC;AAEF,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,0BAAe;IAG5B,QAAQ,CAAC,eAAe,UAAS;IAGjC,QAAQ,CAAC,OAAO,UAAS;IAGzB,QAAQ,CAAC,SAAS,UAAQ;IAG1B,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IAGzC,QAAQ,CAAC,aAAa,SAAM;IAG5B,QAAQ,CAAC,aAAa,SAAa;IAGnC,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAM;IAG3C,QAAQ,CAAC,UAAU,SAAM;IAEzB,OAAO,CAAC,UAAU,CAAkB;;IAQpC,OAAO,CAAC,gBAAgB;IAIlB,iBAAiB;IAMjB,eAAe;IAcf,YAAY;IASZ,WAAW,CAAC,CAAC,EAAE,WAAW;IAkB1B,WAAW,CAAC,CAAC,EAAE,WAAW;IAkC1B,YAAY;IAQZ,YAAY;IAQZ,kBAAkB;IAMlB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAkBpC,gBAAgB;IAUhB,YAAY,CAAC,GAAG,EAAE,MAAM;IAS9B,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,kBAAkB;IAW1B,OAAO,CAAC,oBAAoB;IAW5B,OAAO,CAAC,mBAAmB;IAW3B,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,mBAAmB;IAY3B,eAAe;IAUf,WAAW;IAUX,MAAM;CAyDP;AAED,eAAO,MAAM,WAAW,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBA0TvB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBA2QvB,CAAC"}
@@ -0,0 +1,24 @@
1
+ export interface ContentItem {
2
+ key: string;
3
+ size: number;
4
+ uploaded?: string;
5
+ }
6
+ export interface StaticDetails {
7
+ siteTitle?: string;
8
+ copyright?: string;
9
+ linkedin?: string;
10
+ github?: string;
11
+ email?: string;
12
+ }
13
+ export interface AuthStatus {
14
+ configured: boolean;
15
+ username: string | null;
16
+ }
17
+ export interface AdminSectionProps {
18
+ contentList: ContentItem[];
19
+ staticDetails: StaticDetails;
20
+ onUpload: (key: string, file: File) => Promise<void>;
21
+ onDelete: (key: string) => Promise<void>;
22
+ onStatusMessage: (message: string) => void;
23
+ }
24
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ui/admin/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,EAAE,CAAC;IAC3B,aAAa,EAAE,aAAa,CAAC;IAC7B,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/banner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAK5C,qBACa,QAAS,SAAQ,UAAU;IACtC,MAAM,CAAC,MAAM,0BAAgB;IAE7B,MAAM,CAAC,UAAU;;;;;;;MAGf;IAEM,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;;IAQrB,MAAM;CAcP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/banner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC,qBACa,QAAS,SAAQ,UAAU;IACtC,MAAM,CAAC,MAAM,0BAAgB;IAE7B,MAAM,CAAC,UAAU;;;;;;;MAGf;IAEM,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;;IAQrB,MAAM;CAcP"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/banner/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBAOxB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/banner/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBA4FxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=blogviewer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blogviewer.test.d.ts","sourceRoot":"","sources":["../../../../src/ui/blog-viewer/__tests__/blogviewer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { LitElement } from 'lit';
2
+ interface BlogPost {
3
+ title: string;
4
+ description: string;
5
+ date: string;
6
+ tags: string[];
7
+ author: string;
8
+ imageUrl: string;
9
+ content: string;
10
+ }
11
+ export declare class BlogViewer extends LitElement {
12
+ static styles: import('lit').CSSResult;
13
+ accessor slug: string;
14
+ accessor blogPost: BlogPost | null;
15
+ accessor loading: boolean;
16
+ accessor error: string;
17
+ private get apiBaseUrl();
18
+ connectedCallback(): void;
19
+ updated(changedProperties: Map<string, unknown>): void;
20
+ loadBlog(): void;
21
+ render(): import('lit-html').TemplateResult<1>;
22
+ renderMarkdown(content: string): string;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/blog-viewer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AA0BvC,UAAU,QAAQ;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,UAAW,SAAQ,UAAU;IACxC,MAAM,CAAC,MAAM,0BAAoB;IAGjC,QAAQ,CAAC,IAAI,SAAM;IAGnB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAQ;IAG1C,QAAQ,CAAC,OAAO,UAAQ;IAGxB,QAAQ,CAAC,KAAK,SAAM;IAEpB,OAAO,KAAK,UAAU,GAMrB;IAED,iBAAiB;IAOjB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAM/C,QAAQ;IA4BR,MAAM;IA+BN,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;CAIxC"}
@@ -0,0 +1,2 @@
1
+ export declare const blogviewerStyles: import('lit').CSSResult;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/blog-viewer/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,gBAAgB,yBAoB5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/footer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAInE,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,0BAAgB;IAG7B,QAAQ,CAAC,SAAS,SAAM;IAGxB,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IAEzC,MAAM;CAmBP"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/footer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAGvC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAInE,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,0BAAgB;IAG7B,QAAQ,CAAC,SAAS,SAAM;IAGxB,QAAQ,CAAC,WAAW,EAAE,WAAW,EAAE,CAAM;IAEzC,MAAM;CA2BP"}
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/footer/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBAMxB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/footer/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBA+CxB,CAAC"}
@@ -2,4 +2,6 @@ export * from './about-me';
2
2
  export * from './admin';
3
3
  export * from './banner';
4
4
  export * from './footer';
5
+ export * from './blog-viewer';
6
+ export * from './story-viewer';
5
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAE/B,OAAO,YAAY,CAAC;AACpB,OAAO,SAAS,CAAC;AACjB,OAAO,UAAU,CAAC;AAClB,OAAO,UAAU,CAAC;AAClB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=storyviewer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storyviewer.test.d.ts","sourceRoot":"","sources":["../../../../src/ui/story-viewer/__tests__/storyviewer.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { LitElement } from 'lit';
2
+ interface StoryPost {
3
+ title: string;
4
+ description: string;
5
+ date: string;
6
+ tags: string[];
7
+ author: string;
8
+ imageUrl: string;
9
+ content: string;
10
+ }
11
+ export declare class StoryViewer extends LitElement {
12
+ static styles: import('lit').CSSResult;
13
+ accessor slug: string;
14
+ accessor storyPost: StoryPost | null;
15
+ accessor loading: boolean;
16
+ accessor error: string;
17
+ private get apiBaseUrl();
18
+ connectedCallback(): Promise<void>;
19
+ updated(changedProperties: Map<string, any>): void;
20
+ loadStory(): Promise<void>;
21
+ render(): import('lit-html').TemplateResult<1>;
22
+ private renderMarkdown;
23
+ }
24
+ export {};
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/story-viewer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AA0BvC,UAAU,SAAS;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,qBACa,WAAY,SAAQ,UAAU;IACzC,MAAM,CAAC,MAAM,0BAAqB;IAGlC,QAAQ,CAAC,IAAI,SAAM;IAGnB,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAQ;IAG5C,QAAQ,CAAC,OAAO,UAAQ;IAGxB,QAAQ,CAAC,KAAK,SAAM;IAEpB,OAAO,KAAK,UAAU,GAKrB;IAEK,iBAAiB;IAOvB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC;IAMrC,SAAS;IAuBf,MAAM;IA+BN,OAAO,CAAC,cAAc;CAIvB"}
@@ -0,0 +1,2 @@
1
+ export declare const storyviewerStyles: import('lit').CSSResult;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../src/ui/story-viewer/styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,iBAAiB,yBAmD7B,CAAC"}
package/dist/ui.js CHANGED
@@ -1,7 +1,19 @@
1
- import { A, F, M, a } from "./chunks/index-BqixlS-2.js";
1
+ import { A, a, b, c, d, e, f, g, h, i, B, F, M, j, S, k } from "./chunks/index-DrnbjP2Q.js";
2
2
  export {
3
- A as AdminPortal,
3
+ A as AdminAboutMeSection,
4
+ a as AdminBlogsSection,
5
+ b as AdminHomeSection,
6
+ c as AdminImagesSection,
7
+ d as AdminLoginForm,
8
+ e as AdminLogoSection,
9
+ f as AdminPortal,
10
+ g as AdminProfileSection,
11
+ h as AdminStaticSection,
12
+ i as AdminStoriesSection,
13
+ B as BlogViewer,
4
14
  F as FooterComponent,
5
15
  M as MyAboutme,
6
- a as MyBanner
16
+ j as MyBanner,
17
+ S as StoryViewer,
18
+ k as adminLoaded
7
19
  };