@turnipxenon/pineapple 2.4.37 → 2.4.38

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 (40) hide show
  1. package/.idea/shelf/Changes1/shelved.patch +250 -0
  2. package/.idea/shelf/Changes1.xml +4 -0
  3. package/.idea/shelf/yarn_scripts/shelved.patch +20 -0
  4. package/.idea/workspace.xml +46 -46
  5. package/.svelte-kit/__package__/components/Card.svelte +3 -1
  6. package/.svelte-kit/__package__/components/Card.svelte.d.ts +1 -0
  7. package/.svelte-kit/__package__/components/dialog_overlay/DialogOverlay.svelte +9 -11
  8. package/.svelte-kit/__package__/components/navigation_component/NavigationComponent.svelte +240 -238
  9. package/.svelte-kit/__package__/components/navigation_component/NavigationControl.svelte +89 -89
  10. package/.svelte-kit/__package__/components/pineapple/PineappleBaseLayout.svelte +4 -4
  11. package/.svelte-kit/ambient.d.ts +2 -2
  12. package/.svelte-kit/generated/server/internal.js +1 -1
  13. package/dist/components/Card.svelte +3 -1
  14. package/dist/components/Card.svelte.d.ts +1 -0
  15. package/dist/components/dialog_overlay/DialogOverlay.svelte +9 -11
  16. package/dist/components/navigation_component/NavigationComponent.svelte +240 -238
  17. package/dist/components/navigation_component/NavigationControl.svelte +89 -89
  18. package/dist/components/pineapple/PineappleBaseLayout.svelte +4 -4
  19. package/package.json +3 -2
  20. package/src/lib/components/Card.svelte +4 -1
  21. package/src/lib/components/dialog_overlay/DialogOverlay.svelte +11 -12
  22. package/src/lib/components/navigation_component/NavigationComponent.svelte +145 -143
  23. package/src/lib/components/navigation_component/NavigationControl.svelte +60 -60
  24. package/src/lib/components/navigation_component/PageMeta.ts +205 -205
  25. package/src/lib/components/pineapple/PineappleBaseLayout.svelte +4 -4
  26. package/src/routes/(pineapple)/+layout.svelte +1 -1
  27. package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/+page.svelte +7 -7
  28. package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/meta.json +23 -23
  29. package/src/routes/(pineapple)/pineapple/(extra-pages)/page2/+page.svelte +7 -7
  30. package/src/routes/(pineapple)/pineapple/(extra-pages)/page2/meta.json +7 -7
  31. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/+page.svelte +7 -7
  32. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/+page.svelte +7 -7
  33. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/meta.json +6 -6
  34. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page6/+page.svelte +7 -7
  35. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/+page.svelte +7 -7
  36. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/meta.json +6 -6
  37. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/+page.svelte +7 -7
  38. package/src/routes/(pineapple)/pineapple/(extra-pages)/page4/+page.svelte +6 -6
  39. package/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte +24 -29
  40. package/src/routes/(pineapple)/pineapple/{(extra-pages) → (pineapple)}/ImageMap.ts +5 -5
@@ -134,8 +134,8 @@ enableDialogueOverlay.set(showDialogByDefault);
134
134
  display: flex;
135
135
  align-items: center;
136
136
  justify-content: center;
137
- margin-top: 4em;
138
- margin-right: 1em;
137
+ width: 100%;
138
+ padding: 1lh clamp(8px, 10vw, 2em);
139
139
  flex-direction: column;
140
140
  z-index: 0;
141
141
  }
@@ -269,7 +269,7 @@ enableDialogueOverlay.set(showDialogByDefault);
269
269
  bottom: var(--fab-margin);
270
270
  width: 4em;
271
271
  border-radius: 50%;
272
- z-index: 100;
272
+ z-index: 100;
273
273
  }
274
274
 
275
275
  .fab > img {
@@ -285,6 +285,6 @@ enableDialogueOverlay.set(showDialogByDefault);
285
285
  }
286
286
 
287
287
  .turnip-icon {
288
- margin: 4px;
288
+ margin: 4px;
289
289
  }
290
290
  </style>
@@ -46,7 +46,6 @@ declare module '$env/static/private' {
46
46
  export const HOMEDRIVE: string;
47
47
  export const HOMEPATH: string;
48
48
  export const IDEA_INITIAL_DIRECTORY: string;
49
- export const IJ_RESTARTER_LOG: string;
50
49
  export const INIT_CWD: string;
51
50
  export const JAVA_HOME: string;
52
51
  export const LOCALAPPDATA: string;
@@ -141,6 +140,7 @@ declare module '$env/static/private' {
141
140
  export const npm_package_scripts_package: string;
142
141
  export const npm_package_scripts_prepublishOnly: string;
143
142
  export const npm_package_scripts_preview: string;
143
+ export const npm_package_scripts_to_dev: string;
144
144
  export const npm_package_svelte: string;
145
145
  export const npm_package_type: string;
146
146
  export const npm_package_types: string;
@@ -240,7 +240,6 @@ declare module '$env/dynamic/private' {
240
240
  HOMEDRIVE: string;
241
241
  HOMEPATH: string;
242
242
  IDEA_INITIAL_DIRECTORY: string;
243
- IJ_RESTARTER_LOG: string;
244
243
  INIT_CWD: string;
245
244
  JAVA_HOME: string;
246
245
  LOCALAPPDATA: string;
@@ -335,6 +334,7 @@ declare module '$env/dynamic/private' {
335
334
  npm_package_scripts_package: string;
336
335
  npm_package_scripts_prepublishOnly: string;
337
336
  npm_package_scripts_preview: string;
337
+ npm_package_scripts_to_dev: string;
338
338
  npm_package_svelte: string;
339
339
  npm_package_type: string;
340
340
  npm_package_types: string;
@@ -21,7 +21,7 @@ export const options = {
21
21
  app: ({ head, body, assets, nonce, env }) => "<!DOCTYPE html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<link rel=\"icon\" href=\"" + assets + "/favicon.png\" />\n\t\t<meta name=\"viewport\" content=\"width=device-width\" />\n\t\t" + head + "\n\t</head>\n\n\t<body data-sveltekit-preload-data=\"hover\" data-theme=\"crimson\">\n\t\t<div style=\"display: contents\" class=\"h-full overflow-hidden\">" + body + "</div>\n\t</body>\n</html>\n",
22
22
  error: ({ status, message }) => "<!doctype html>\n<html lang=\"en\">\n\t<head>\n\t\t<meta charset=\"utf-8\" />\n\t\t<title>" + message + "</title>\n\n\t\t<style>\n\t\t\tbody {\n\t\t\t\t--bg: white;\n\t\t\t\t--fg: #222;\n\t\t\t\t--divider: #ccc;\n\t\t\t\tbackground: var(--bg);\n\t\t\t\tcolor: var(--fg);\n\t\t\t\tfont-family:\n\t\t\t\t\tsystem-ui,\n\t\t\t\t\t-apple-system,\n\t\t\t\t\tBlinkMacSystemFont,\n\t\t\t\t\t'Segoe UI',\n\t\t\t\t\tRoboto,\n\t\t\t\t\tOxygen,\n\t\t\t\t\tUbuntu,\n\t\t\t\t\tCantarell,\n\t\t\t\t\t'Open Sans',\n\t\t\t\t\t'Helvetica Neue',\n\t\t\t\t\tsans-serif;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\theight: 100vh;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t.error {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tmax-width: 32rem;\n\t\t\t\tmargin: 0 1rem;\n\t\t\t}\n\n\t\t\t.status {\n\t\t\t\tfont-weight: 200;\n\t\t\t\tfont-size: 3rem;\n\t\t\t\tline-height: 1;\n\t\t\t\tposition: relative;\n\t\t\t\ttop: -0.05rem;\n\t\t\t}\n\n\t\t\t.message {\n\t\t\t\tborder-left: 1px solid var(--divider);\n\t\t\t\tpadding: 0 0 0 1rem;\n\t\t\t\tmargin: 0 0 0 1rem;\n\t\t\t\tmin-height: 2.5rem;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t}\n\n\t\t\t.message h1 {\n\t\t\t\tfont-weight: 400;\n\t\t\t\tfont-size: 1em;\n\t\t\t\tmargin: 0;\n\t\t\t}\n\n\t\t\t@media (prefers-color-scheme: dark) {\n\t\t\t\tbody {\n\t\t\t\t\t--bg: #222;\n\t\t\t\t\t--fg: #ddd;\n\t\t\t\t\t--divider: #666;\n\t\t\t\t}\n\t\t\t}\n\t\t</style>\n\t</head>\n\t<body>\n\t\t<div class=\"error\">\n\t\t\t<span class=\"status\">" + status + "</span>\n\t\t\t<div class=\"message\">\n\t\t\t\t<h1>" + message + "</h1>\n\t\t\t</div>\n\t\t</div>\n\t</body>\n</html>\n"
23
23
  },
24
- version_hash: "4tclde"
24
+ version_hash: "j4u1ek"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -2,6 +2,7 @@
2
2
  export let marginBottom = "2lh";
3
3
  export let overrideStyle = "";
4
4
  export let includeDataNoSnippet = true;
5
+ export let additionalClass = [];
5
6
  const style = `
6
7
  --turnip-card-margin: ${margin};
7
8
  --turnip-card-margin-bottom: ${marginBottom};
@@ -10,10 +11,11 @@ const style = `
10
11
  if (!$$slots.content) {
11
12
  console.error("Missing content slot in card. No content will be displayed.");
12
13
  }
14
+ const classes = ["card", "turnip-card"].concat(additionalClass).join(" ");
13
15
  </script>
14
16
 
15
17
  {#if (includeDataNoSnippet)}
16
- <div class="card turnip-card" style={style} data-no-snippet>
18
+ <div class={classes} style={style} data-no-snippet>
17
19
  <slot name="content" class="card" />
18
20
  </div>
19
21
  {:else }
@@ -5,6 +5,7 @@ declare const __propDef: {
5
5
  marginBottom?: string | undefined;
6
6
  overrideStyle?: string | undefined;
7
7
  includeDataNoSnippet?: boolean | undefined;
8
+ additionalClass?: string[] | undefined;
8
9
  };
9
10
  events: {
10
11
  [evt: string]: CustomEvent<any>;
@@ -12,19 +12,17 @@ dialogManager.currentPortrait.subscribe((value) => {
12
12
  currentPortrait = value;
13
13
  }
14
14
  });
15
- onMount(() => {
16
- dialogManager.update(0);
17
- });
18
15
  let hidePercent = 100;
19
16
  let isHidden = true;
20
- dialogManager.hidePercent.subscribe((value) => {
21
- hidePercent = value * 0.4;
22
- isHidden = false;
23
- });
24
- dialogManager.currentReadableState.subscribe((value) => {
25
- isHidden = value === DialogState.Invisible;
26
- if (value === DialogState.Invisible) {
27
- }
17
+ onMount(() => {
18
+ dialogManager.hidePercent.subscribe((value) => {
19
+ hidePercent = value * 0.4;
20
+ isHidden = false;
21
+ });
22
+ dialogManager.currentReadableState.subscribe((value) => {
23
+ isHidden = value === DialogState.Invisible;
24
+ });
25
+ dialogManager.update(0);
28
26
  });
29
27
  const onDialogClick = () => {
30
28
  dialogManager.skipAnimation();
@@ -12,242 +12,244 @@ export let currentIndex = 0;
12
12
  const pageFlatList = parsePageMeta(fileList, jsonList, imageMap, compareFn);
13
13
  $:
14
14
  visiblePages = pageFlatList.slice(currentIndex * pageSize, currentIndex * pageSize + pageSize);
15
- </script>
16
-
17
- <div class="navigation-wrapper">
18
- {#if (title)}
19
- <Card>
20
- <h1 slot="content" class="default-card navigation-title">
21
- {title}
22
- </h1>
23
- </Card>
24
- {/if}
25
-
26
- <NavigationControl bind:currentIndex={currentIndex}
27
- bind:contentLength={pageFlatList.length}
28
- bind:pageSize={pageSize}></NavigationControl>
29
-
30
- <div class="navigation-component">
31
- <!-- all the misc routes-->
32
- {#each visiblePages as pageMeta}
33
- {@const fullPath=`${parentSubpath}${pageMeta.relativeLink}`}
34
- <button class="navigation-element"
35
- title={fullPath}
36
- on:click={createGoToFunction(fullPath)}>
37
- {#if pageMeta.imageUrl}
38
- <img src={pageMeta.imageUrl}
39
- alt={pageMeta.imageAlt ?? "placeholder alt text please replace me or report me!"} />
40
- {/if}
41
- <section class="blurb-text">
42
- <h2>{pageMeta.title}</h2>
43
- <p>Published: {pageMeta.datePublished ?? "N/A"} | Last updated: {pageMeta.lastUpdated ?? "N/A"}</p>
44
- <p>{pageMeta.description ?? ""}</p>
45
- Tags:
46
- {#if (pageMeta.tags && pageMeta.tags.length !== 0)}
47
- {#each pageMeta.tags as tagValue}
48
- &nbsp;<span class="badge variant-filled tag-container">{tagValue}</span>
49
- {/each}
50
- {:else}
51
- None
52
- {/if}
53
- </section>
54
- </button>
55
- {/each}
56
-
57
- {#if visiblePages.length === 0}
58
- <Card>
59
- <p class="default-card" slot="content">Sorry, no content was found</p>
60
- </Card>
61
- {/if}
62
- </div>
63
-
64
- <NavigationControl bind:currentIndex={currentIndex}
65
- bind:contentLength={pageFlatList.length}
66
- bind:pageSize={pageSize}></NavigationControl>
67
-
68
- </div>
69
-
70
- <style>
71
- @media (max-width: 800px) {
72
- img {
73
- max-height: 20rem;
74
- width: 100%;
75
- flex-basis: 100%;
76
- border-radius: var(--theme-rounded-container) var(--theme-rounded-container) 0 0;
77
- }
78
-
79
- .navigation-element {
80
- flex-direction: column;
81
- }
82
- }
83
-
84
- @media (min-width: 801px) {
85
- .navigation-element {
86
- flex-direction: row;
87
- }
88
-
89
- img {
90
- width: 20em;
91
- }
92
- }
93
-
94
- .dark .navigation-element {
95
- background-color: rgb(var(--color-surface-800));
96
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
97
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
98
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
99
- --tw-ring-inset: inset;
100
- --tw-ring-color: rgb(250 250 250 / 0.05);
101
- }
102
-
103
- .navigation-element:disabled {
104
- cursor: not-allowed;
105
- opacity: 0.5;
106
- }
107
-
108
- .navigation-element:disabled:hover {
109
- --tw-brightness: brightness(1);
110
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
111
- }
112
-
113
- .navigation-element:disabled:active {
114
- --tw-scale-x: 1;
115
- --tw-scale-y: 1;
116
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
117
- }
118
-
119
- .navigation-element {
120
- font-size: 1rem;
121
- line-height: 1.5rem;
122
- padding-left: 1.25rem;
123
- padding-right: 1.25rem;
124
- padding-top: 9px;
125
- padding-bottom: 9px;
126
- white-space: nowrap;
127
- text-align: center;
128
- display: inline-flex;
129
- align-items: center;
130
- justify-content: center;
131
- transition-property: all;
132
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
133
- transition-duration: 150ms;
134
- border-radius: var(--theme-rounded-base);
135
- }
136
-
137
- .navigation-element > :not([hidden]) ~ :not([hidden]) {
138
- --tw-space-x-reverse: 0;
139
- margin-right: calc(0.5rem * var(--tw-space-x-reverse));
140
- margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
141
- }
142
-
143
- .navigation-element:hover {
144
- --tw-brightness: brightness(1.15);
145
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
146
- }
147
-
148
- .navigation-element:active {
149
- --tw-scale-x: 95%;
150
- --tw-scale-y: 95%;
151
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
152
- --tw-brightness: brightness(.9);
153
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
154
- }
155
-
156
- .navigation-element {
157
- background-color: rgb(var(--color-surface-100));
158
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
159
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
160
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
161
- --tw-ring-inset: inset;
162
- --tw-ring-color: rgb(23 23 23 / 0.05);
163
- border-radius: var(--theme-rounded-container);
164
- }
165
-
166
- .dark .navigation-element {
167
- background-color: rgb(var(--color-surface-800));
168
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
169
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
170
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
171
- --tw-ring-inset: inset;
172
- --tw-ring-color: rgb(250 250 250 / 0.05);
173
- }
174
-
175
- a.navigation-element {
176
- transition-property: all;
177
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
178
- transition-duration: 150ms;
179
- }
180
-
181
- a.navigation-element:hover {
182
- --tw-brightness: brightness(1.05);
183
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
184
- }
185
-
186
- .navigation-element {
187
- transition-property: all;
188
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
189
- transition-duration: 150ms;
190
- }
191
-
192
- .navigation-element:hover {
193
- --tw-scale-x: 101%;
194
- --tw-scale-y: 101%;
195
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
196
- --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
197
- --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
198
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
199
- }
200
-
201
- .navigation-element {
202
- --tw-bg-opacity: 1;
203
- background-color: rgb(var(--color-surface-100) / var(--tw-bg-opacity));
204
- }
205
-
206
- :is(.dark .navigation-element) {
207
- --tw-bg-opacity: 1;
208
- background-color: rgb(var(--color-surface-900) / var(--tw-bg-opacity));
209
- }
210
-
211
- .navigation-element {
212
- display: flex;
213
- /*flex-direction: row;*/
214
- text-align: start;
215
- align-items: flex-start;
216
- padding: 0;
217
- }
218
-
219
- img {
220
- height: 20em;
221
- -o-object-fit: cover;
222
- object-fit: cover;
223
- padding: var(--theme-border-base);
224
- border-radius: var(--theme-rounded-container) 0 0 var(--theme-rounded-container);
225
- }
226
-
227
- .navigation-component {
228
- display: flex;
229
- flex-direction: column;
230
- gap: 2em;
231
- }
232
-
233
- .navigation-title {
234
- text-align: center;
235
- }
236
-
237
- .blurb-text {
238
- padding: 2em;
239
- flex-grow: 1;
240
- white-space: initial;
241
- min-width: 0;
242
- }
243
-
244
- .navigation-wrapper {
245
- display: flex;
246
- flex-direction: column;
247
- max-width: 1000px;
248
- }
249
-
250
- .tag-container {
251
- margin: 0.25lh 0;
252
- }
15
+ </script>
16
+
17
+ <div class="navigation-wrapper">
18
+ {#if (title)}
19
+ <Card>
20
+ <h1 slot="content" class="default-card navigation-title">
21
+ {title}
22
+ </h1>
23
+ </Card>
24
+ {/if}
25
+
26
+ <NavigationControl bind:currentIndex={currentIndex}
27
+ bind:contentLength={pageFlatList.length}
28
+ bind:pageSize={pageSize}></NavigationControl>
29
+
30
+ <div class="navigation-component">
31
+ <!-- all the misc routes-->
32
+ {#each visiblePages as pageMeta}
33
+ {@const fullPath=`${parentSubpath}${pageMeta.relativeLink}`}
34
+ <button class="navigation-element"
35
+ title={fullPath}
36
+ on:click={createGoToFunction(fullPath)}>
37
+ {#if pageMeta.imageUrl}
38
+ <img src={pageMeta.imageUrl}
39
+ alt={pageMeta.imageAlt ?? "placeholder alt text please replace me or report me!"} />
40
+ {/if}
41
+ <section class="blurb-text">
42
+ <h2>{pageMeta.title}</h2>
43
+ <p>Published: {pageMeta.datePublished ?? "N/A"} | Last updated: {pageMeta.lastUpdated ?? "N/A"}</p>
44
+ <p>{pageMeta.description ?? ""}</p>
45
+ Tags:
46
+ {#if (pageMeta.tags && pageMeta.tags.length !== 0)}
47
+ {#each pageMeta.tags as tagValue}
48
+ &nbsp;<span class="badge variant-filled tag-container">{tagValue}</span>
49
+ {/each}
50
+ {:else}
51
+ None
52
+ {/if}
53
+ </section>
54
+ </button>
55
+ {/each}
56
+
57
+ {#if visiblePages.length === 0}
58
+ <Card>
59
+ <p class="default-card" slot="content">Sorry, no content was found</p>
60
+ </Card>
61
+ {/if}
62
+ </div>
63
+
64
+ <NavigationControl bind:currentIndex={currentIndex}
65
+ bind:contentLength={pageFlatList.length}
66
+ bind:pageSize={pageSize}></NavigationControl>
67
+
68
+ </div>
69
+
70
+ <style>
71
+ @media (max-width: 800px) {
72
+ img {
73
+ max-height: 20rem;
74
+ width: 100%;
75
+ flex-basis: 100%;
76
+ border-radius: var(--theme-rounded-container) var(--theme-rounded-container) 0 0;
77
+ }
78
+
79
+ .navigation-element {
80
+ flex-direction: column;
81
+ }
82
+ }
83
+
84
+ @media (min-width: 801px) {
85
+ .navigation-element {
86
+ flex-direction: row;
87
+ }
88
+
89
+ img {
90
+ width: 20em;
91
+ }
92
+ }
93
+
94
+ .dark .navigation-element {
95
+ background-color: rgb(var(--color-surface-800));
96
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
97
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
98
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
99
+ --tw-ring-inset: inset;
100
+ --tw-ring-color: rgb(250 250 250 / 0.05);
101
+ }
102
+
103
+ .navigation-element:disabled {
104
+ cursor: not-allowed;
105
+ opacity: 0.5;
106
+ }
107
+
108
+ .navigation-element:disabled:hover {
109
+ --tw-brightness: brightness(1);
110
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
111
+ }
112
+
113
+ .navigation-element:disabled:active {
114
+ --tw-scale-x: 1;
115
+ --tw-scale-y: 1;
116
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
117
+ }
118
+
119
+ .navigation-element {
120
+ font-size: 1rem;
121
+ line-height: 1.5rem;
122
+ padding-left: 1.25rem;
123
+ padding-right: 1.25rem;
124
+ padding-top: 9px;
125
+ padding-bottom: 9px;
126
+ white-space: nowrap;
127
+ text-align: center;
128
+ display: inline-flex;
129
+ align-items: center;
130
+ justify-content: center;
131
+ transition-property: all;
132
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
133
+ transition-duration: 150ms;
134
+ border-radius: var(--theme-rounded-base);
135
+ }
136
+
137
+ .navigation-element > :not([hidden]) ~ :not([hidden]) {
138
+ --tw-space-x-reverse: 0;
139
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
140
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
141
+ }
142
+
143
+ .navigation-element:hover {
144
+ --tw-brightness: brightness(1.15);
145
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
146
+ }
147
+
148
+ .navigation-element:active {
149
+ --tw-scale-x: 95%;
150
+ --tw-scale-y: 95%;
151
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
152
+ --tw-brightness: brightness(.9);
153
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
154
+ }
155
+
156
+ .navigation-element {
157
+ background-color: rgb(var(--color-surface-100));
158
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
159
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
160
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
161
+ --tw-ring-inset: inset;
162
+ --tw-ring-color: rgb(23 23 23 / 0.05);
163
+ border-radius: var(--theme-rounded-container);
164
+ }
165
+
166
+ .dark .navigation-element {
167
+ background-color: rgb(var(--color-surface-800));
168
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
169
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
170
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
171
+ --tw-ring-inset: inset;
172
+ --tw-ring-color: rgb(250 250 250 / 0.05);
173
+ }
174
+
175
+ a.navigation-element {
176
+ transition-property: all;
177
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
178
+ transition-duration: 150ms;
179
+ }
180
+
181
+ a.navigation-element:hover {
182
+ --tw-brightness: brightness(1.05);
183
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
184
+ }
185
+
186
+ .navigation-element {
187
+ transition-property: all;
188
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
189
+ transition-duration: 150ms;
190
+ }
191
+
192
+ .navigation-element:hover {
193
+ --tw-scale-x: 101%;
194
+ --tw-scale-y: 101%;
195
+ transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
196
+ --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
197
+ --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
198
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
199
+ }
200
+
201
+ .navigation-element {
202
+ --tw-bg-opacity: 1;
203
+ background-color: rgb(var(--color-surface-100) / var(--tw-bg-opacity));
204
+ }
205
+
206
+ :is(.dark .navigation-element) {
207
+ --tw-bg-opacity: 1;
208
+ background-color: rgb(var(--color-surface-900) / var(--tw-bg-opacity));
209
+ }
210
+
211
+ .navigation-element {
212
+ display: flex;
213
+ /*flex-direction: row;*/
214
+ text-align: start;
215
+ align-items: flex-start;
216
+ padding: 0;
217
+ }
218
+
219
+ img {
220
+ height: 20em;
221
+ -o-object-fit: cover;
222
+ object-fit: cover;
223
+ padding: var(--theme-border-base);
224
+ border-radius: var(--theme-rounded-container) 0 0 var(--theme-rounded-container);
225
+ }
226
+
227
+ .navigation-component {
228
+ display: flex;
229
+ flex-direction: column;
230
+ gap: 2em;
231
+ }
232
+
233
+ .navigation-title {
234
+ text-align: center;
235
+ max-width: initial;
236
+ }
237
+
238
+ .blurb-text {
239
+ padding: 2em;
240
+ flex-grow: 1;
241
+ white-space: initial;
242
+ min-width: 0;
243
+ }
244
+
245
+ .navigation-wrapper {
246
+ display: flex;
247
+ flex-direction: column;
248
+ max-width: 1000px;
249
+ width: 100%;
250
+ }
251
+
252
+ .tag-container {
253
+ margin: 0.25lh 0;
254
+ }
253
255
  </style>