@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
@@ -0,0 +1,250 @@
1
+ Index: src/lib/components/dialog_overlay/DialogOverlay.svelte
2
+ IDEA additional info:
3
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4
+ <+><script lang=\"ts\">\n\timport AresHappy from \"$pkg/assets/characters/ares/ares_happy.webp\";\n\timport { onMount } from \"svelte\";\n\timport { dialogManager } from \"$pkg/components/dialog_manager/DialogManagerStore\";\n\timport { DialogState } from \"$pkg/types/pineapple_fiber/DialogState\";\n\n\tlet currentMessage = \"\";\n\tdialogManager.currentMessage.subscribe((value) => {\n\t\tcurrentMessage = value;\n\t});\n\n\tlet currentPortrait = AresHappy;\n\tdialogManager.currentPortrait.subscribe((value) => {\n\t\tif (value) {\n\t\t\tcurrentPortrait = value;\n\t\t}\n\t});\n\n\tonMount(() => {\n\t\tdialogManager.update(0);\n\t});\n\n\tlet hidePercent = 100;\n\tlet isHidden = true;\n\tdialogManager.hidePercent.subscribe((value) => {\n\t\thidePercent = value * 0.4;\n\t\tisHidden = false;\n\t});\n\n\tdialogManager.currentReadableState.subscribe((value) => {\n\t\tisHidden = value === DialogState.Invisible;\n\t\tif (value === DialogState.Invisible) {\n\t\t}\n\t});\n\n\tconst onDialogClick = () => {\n\t\tdialogManager.skipAnimation();\n\t};\n</script>\n\n<div class=\"dialog-elements\"\n hidden={isHidden}\n style=\"--hidePercentWidth: -{hidePercent}vw;\n --hidePercentHeight: {hidePercent}vh;\">\n\t<div class=\"dialog-portrait-container\">\n\t\t<img src={currentPortrait} alt=\"Ares\" class=\"dialog-portrait\" />\n\t</div>\n\t<div class=\"card dialog-box variant-ghost-primary\" on:click={onDialogClick}>\n\t\t<div class=\"card dialog-name\">\n\t\t\t<p><b>Turnip</b></p>\n\t\t</div>\n\t\t<section class=\"dialog-padding\">\n\t\t\t<!-- Made for 140 characters, like the original tweets -->\n\t\t\t{@html currentMessage}\n\t\t</section>\n\t</div>\n</div>\n\n<style>\n .dialog-elements {\n position: fixed;\n z-index: 10;\n }\n\n .dialog-elements:dir(ltr) {\n left: 0;\n }\n\n .dialog-elements:dir(rtl) {\n right: 0;\n }\n\n .dialog-elements > div {\n transform: translateY(var(--hidePercentHeight));\n }\n\n .dialog-box *,\n .dialog-name * {\n font-size: clamp(1em, 5vw, 1.3em);\n line-height: 1.5em;\n }\n\n .dialog-padding :global(p) {\n font-size: clamp(1em, 5vw, 1.3em) !important;\n line-height: 1.5em !important;\n }\n\n .dialog-padding {\n padding: clamp(1.5em, 5vw, 1.75em) clamp(0em, 5vw - 0.5em, 2em) 0;\n }\n\n .dialog-name {\n @apply pt-2 px-4;\n position: fixed;\n }\n\n .dialog-name:dir(ltr) {\n /* for centering vertically */\n transform: translateX(clamp(0em, 5vw - 0.5em, 1em)) translateY(-50%);\n }\n\n .dialog-name:dir(rtl) {\n /* for centering vertically */\n transform: translateX(calc(clamp(0em, 5vw - 0.5em, 1em) * -1)) translateY(-50%);\n }\n\n .dialog-portrait-container {\n position: fixed;\n bottom: 0;\n height: clamp(30rem, 75vw, 40rem);\n width: auto;\n }\n\n .dialog-portrait-container:dir(ltr) {\n transform: translateX(var(--hidePercentWidth));\n left: clamp(-4rem, calc(5vw - 5em), 0rem);\n }\n\n .dialog-portrait-container:dir(rtl) {\n transform: translateX(calc(var(--hidePercentWidth) * -1));\n right: clamp(-4rem, calc(5vw - 5em), 0rem);\n }\n\n .dialog-portrait {\n height: 100%;\n }\n\n .dialog-portrait:dir(rtl) {\n transform: scaleX(-1);\n }\n</style>\n
5
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
6
+ <+>UTF-8
7
+ ===================================================================
8
+ diff --git a/src/lib/components/dialog_overlay/DialogOverlay.svelte b/src/lib/components/dialog_overlay/DialogOverlay.svelte
9
+ --- a/src/lib/components/dialog_overlay/DialogOverlay.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
10
+ +++ b/src/lib/components/dialog_overlay/DialogOverlay.svelte (date 1711677446714)
11
+ @@ -16,26 +16,25 @@
12
+ }
13
+ });
14
+
15
+ - onMount(() => {
16
+ - dialogManager.update(0);
17
+ - });
18
+ -
19
+ let hidePercent = 100;
20
+ let isHidden = true;
21
+ - dialogManager.hidePercent.subscribe((value) => {
22
+ - hidePercent = value * 0.4;
23
+ - isHidden = false;
24
+ - });
25
+ + onMount(() => {
26
+ + dialogManager.hidePercent.subscribe((value) => {
27
+ + hidePercent = value * 0.4;
28
+ + isHidden = false;
29
+ + });
30
+
31
+ - dialogManager.currentReadableState.subscribe((value) => {
32
+ - isHidden = value === DialogState.Invisible;
33
+ - if (value === DialogState.Invisible) {
34
+ - }
35
+ + dialogManager.currentReadableState.subscribe((value) => {
36
+ + isHidden = value === DialogState.Invisible;
37
+ + });
38
+ +
39
+ + dialogManager.update(0);
40
+ });
41
+
42
+ const onDialogClick = () => {
43
+ dialogManager.skipAnimation();
44
+ };
45
+ +
46
+ </script>
47
+
48
+ <div class="dialog-elements"
49
+ Index: src/lib/components/Card.svelte
50
+ IDEA additional info:
51
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
52
+ <+><script lang=\"ts\">\n\texport let margin = \"0\";\n\texport let marginBottom = \"2lh\";\n\texport let overrideStyle = \"\";\n\texport let includeDataNoSnippet = true;\n\n\t// warning: don't forget the semi-colon when adding new style!\n\tconst style = `\n\t\t--turnip-card-margin: ${margin};\n\t\t--turnip-card-margin-bottom: ${marginBottom};\n\t\t${overrideStyle};\n\t`;\n\n\tif (!$$slots.content) {\n\t\tconsole.error(\"Missing content slot in card. No content will be displayed.\");\n\t}\n</script>\n\n{#if (includeDataNoSnippet)}\n\t<div class=\"card turnip-card\" style={style} data-no-snippet>\n\t\t<slot name=\"content\" class=\"card\" />\n\t</div>\n{:else }\n\t<div class=\"card turnip-card\" style={style}>\n\t\t<slot name=\"content\" class=\"card\" />\n\t</div>\n{/if}\n\n<style lang=\"postcss\">\n .turnip-card {\n @apply bg-surface-100 dark:bg-surface-900;\n margin: var(--turnip-card-margin);\n margin-bottom: var(--turnip-card-margin-bottom);\n border-radius: var(--theme-rounded-container);\n }\n</style>\n
53
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
54
+ <+>UTF-8
55
+ ===================================================================
56
+ diff --git a/src/lib/components/Card.svelte b/src/lib/components/Card.svelte
57
+ --- a/src/lib/components/Card.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
58
+ +++ b/src/lib/components/Card.svelte (date 1711678245830)
59
+ @@ -3,6 +3,7 @@
60
+ export let marginBottom = "2lh";
61
+ export let overrideStyle = "";
62
+ export let includeDataNoSnippet = true;
63
+ + export let additionalClass: string[] = [];
64
+
65
+ // warning: don't forget the semi-colon when adding new style!
66
+ const style = `
67
+ @@ -14,10 +15,12 @@
68
+ if (!$$slots.content) {
69
+ console.error("Missing content slot in card. No content will be displayed.");
70
+ }
71
+ +
72
+ + const classes = ["card", "turnip-card"].concat(additionalClass).join(" ");
73
+ </script>
74
+
75
+ {#if (includeDataNoSnippet)}
76
+ - <div class="card turnip-card" style={style} data-no-snippet>
77
+ + <div class={classes} style={style} data-no-snippet>
78
+ <slot name="content" class="card" />
79
+ </div>
80
+ {:else }
81
+ Index: src/lib/components/pineapple/PineappleBaseLayout.svelte
82
+ IDEA additional info:
83
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
84
+ <+><script lang=\"ts\">\n\texport let showDialogByDefault = false;\n\n\t// For auto dark/light mode\n\timport { AppBar, AppShell, autoModeWatcher, LightSwitch } from \"@skeletonlabs/skeleton\";\n\timport RandomizedBackground from \"$pkg/components/RandomizedBackground.svelte\";\n\n\t// navigation\n\timport { page } from \"$app/stores\";\n\t// store\n\timport { enableBackground } from \"$pkg/store\";\n\timport type { BreadcrumbData } from \"$pkg/types/BreadcrumbData\";\n\t// assets\n\t// import DialogOverlay from \"$lib/components/DialogOverlay.svelte\";\n\timport AresLogo from \"$pkg/assets/characters/ares/ares_logo.webp\";\n\timport FABIcon from \"$pkg/assets/bg_tiled/bg_tiled_turnip.png\";\n\timport CloseIcon from \"$pkg/assets/icons/close.svg\";\n\timport { dialogManager, enableDialogueOverlay } from \"$pkg/components/dialog_manager/DialogManagerStore\";\n\timport Toast from \"$pkg/components/pineapple/toast/Toast.svelte\";\n\timport DialogOverlay from \"$pkg/components/dialog_overlay/DialogOverlay.svelte\";\n\timport { fade } from \"svelte/transition\";\n\t// todo: clean up all these imports!\n\n\tlet pages: BreadcrumbData[] = [];\n\n\tconst updateBreadcrumb = (pathname: string) => {\n\t\tpages = [];\n\t\tlet basePath = \"\";\n\t\tpathname.split(\"/\").forEach((value, index) => {\n\t\t\tif (index === 0) {\n\t\t\t\tbasePath = \"/\";\n\t\t\t\tpages.push({\n\t\t\t\t\tpath: \"/\",\n\t\t\t\t\tname: \"Home\"\n\t\t\t\t});\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (value === \"\") {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tbasePath += value + \"/\";\n\t\t\tpages.push({\n\t\t\t\tpath: basePath,\n\t\t\t\tname: value\n\t\t\t});\n\t\t});\n\t\tpages = pages;\n\t};\n\n\t$: updateBreadcrumb($page.url.pathname); // run every time we navigate\n\n\tlet enableBackgroundValue = true;\n\tenableBackground.subscribe((value) => {\n\t\tenableBackgroundValue = value;\n\t});\n\n\tlet enableDialogueOverlayValue = true;\n\tenableDialogueOverlay.subscribe((value) => {\n\t\tenableDialogueOverlayValue = value;\n\t});\n\n\tenableDialogueOverlay.set(showDialogByDefault);\n</script>\n\n<!-- App Shell -->\n<svelte:head>\n\t{@html `<script>${autoModeWatcher.toString()} autoModeWatcher();</script>`}\n</svelte:head>\n\n<!--todo: turn off hidden when it's time-->\n<button class=\"fab\" on:click={()=>{\n\tdialogManager.toggleDialogOverlay()\n}}>\n\t{#if (enableDialogueOverlayValue)}\n\t\t<img class=\"turnip-icon\" src={CloseIcon} alt=\"interactive floating action button represented as a turnip\">\n\t{:else }\n\t\t<img class=\"turnip-icon\" src={FABIcon} alt=\"interactive floating action button represented as a turnip\">\n\t{/if}\n</button>\n\n<AppShell>\n\t<svelte:fragment slot=\"header\">\n\t\t<!-- App Bar -->\n\t\t<AppBar\n\t\t\tbackground=\"app-shell-token\"\n\t\t\tslotDefault=\"place-content-start\"\n\t\t\tslotTrail=\"place-content-end\">\n\t\t\t<svelte:fragment slot=\"lead\">\n\t\t\t\t<!--TODO: add logo or something for the lead in layout-->\n\t\t\t\t<img\n\t\t\t\t\talt=\"Ares's head titled towards the left with his tongue out and winking\"\n\t\t\t\t\tclass=\"ares-logo\"\n\t\t\t\t\tsrc={AresLogo}\n\t\t\t\t/>\n\t\t\t\t<span class=\"mr-2\" />\n\t\t\t\t<ol class=\"breadcrumb\">\n\t\t\t\t\t{#each pages as crumb, i}\n\t\t\t\t\t\t{#if i < pages.length - 1}\n\t\t\t\t\t\t\t<li class=\"crumb\" in:fade>\n\t\t\t\t\t\t\t\t<a href={crumb.path}>{crumb.name.charAt(0).toUpperCase() + crumb.name.slice(1)}</a>\n\t\t\t\t\t\t\t\t&nbsp;&rsaquo;&nbsp;\n\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t{:else}\n\t\t\t\t\t\t\t<li class=\"crumb\" in:fade>{crumb.name.charAt(0).toUpperCase() + crumb.name.slice(1)}</li>\n\t\t\t\t\t\t{/if}\n\t\t\t\t\t{/each}\n\t\t\t\t</ol>\n\t\t\t</svelte:fragment>\n\t\t\t<svelte:fragment slot=\"trail\">\n\t\t\t\t<LightSwitch bgLight=\"bg-surface-400\" />\n\t\t\t</svelte:fragment>\n\t\t</AppBar>\n\t</svelte:fragment>\n\n\t<RandomizedBackground enable={enableBackgroundValue} />\n\n\t<Toast></Toast>\n\n\t<DialogOverlay></DialogOverlay>\n\n\t<div class=\"default-page-container\">\n\t\t<slot />\n\t\t<div class=\"footer-space\" />\n\t</div>\n\n</AppShell>\n\n<style lang=\"postcss\">\n :root {\n --dialog-start-pad: clamp(0em, 5vw, 2em);\n --dialog-box-width: min(calc(50em + 4em), calc(100vw - var(--dialog-start-pad) - var(--theme-border-base)));\n --dialog-box-height: clamp(15em, 50vw, 18em);\n\n /** FAB icon margin/position calculation origin:\n\t\t\t\t\t\tCriteria:\n\t\t\t\t\t\t- We want at mobile (360px) our margin to be at 1em (16px)\n\t\t\t\t\t\t- We want at web (1960px) our margin to be at 2em (32px)\n\n\t\t\t\t\t\tA useful scaling factor might vw. At 360px, 16px would be around 4.44vw (360/16).\n\t\t\t\t\t\tAt 360px: margin is at 16px or 1em.\n\t\t\t\t\t\tAt 1960px: 4.44vw is at 87px but that will be clamped to 32px or 2em.\n\t\t\t\t\t\tThe calculation implies that the natural point that the margin becomes 2em is clamped on\n\t\t\t\t\t\twider screens is at 727px.\n\t\t\t\t*/\n --fab-margin: clamp(1em, 4.44vw, 2em);\n }\n\n .default-page-container {\n @apply flex justify-center items-center;\n margin-top: 4em;\n margin-right: 1em;\n flex-direction: column;\n z-index: 0;\n }\n\n .ares-logo {\n object-fit: contain;\n height: 2em;\n margin-inline-end: 0.5em;\n }\n\n /* breadcrumb does not work due to a lot of magic stuff i do\n the code below is from skeleton's tailwind css:\n https://github.com/skeletonlabs/skeleton/blob/54f4ecedabf2be6d94a670b56dc8821095ca3fc9/packages/plugin/src/styles/components/breadcrumbs.css\n\n it likely disappeared due to code gen shenanigans and package magic */\n .breadcrumb,\n .breadcrumb-nonresponsive {\n @apply flex items-center w-full overflow-x-auto;\n /*@apply flex items-center space-x-4 w-full hide-scrollbar overflow-x-auto;*/\n }\n\n .crumb {\n @apply flex justify-center items-center;\n margin: 0.1em;\n }\n\n .crumb-separator {\n @apply flex;\n color: var(--color-text-50);\n }\n\n /* === Auto-Responsive === */\n\n .breadcrumb li {\n @apply hidden md:block;\n }\n\n .breadcrumb li:nth-last-child(3),\n .breadcrumb li:nth-last-child(2),\n .breadcrumb li:nth-last-child(1) {\n @apply block;\n }\n\n .fab {\n @apply btn variant-filled-tertiary;\n padding: 0;\n position: fixed;\n bottom: var(--fab-margin);\n width: 4em;\n border-radius: 50%;\n\t\t z-index: 100;\n }\n\n .fab > img {\n width: 100%;\n }\n\n .fab:dir(ltr) {\n right: var(--fab-margin);\n }\n\n .fab:dir(rtl) {\n left: var(--fab-margin);\n }\n\n .turnip-icon {\n\t\t margin: 4px;\n }\n</style>\n
85
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
86
+ <+>UTF-8
87
+ ===================================================================
88
+ diff --git a/src/lib/components/pineapple/PineappleBaseLayout.svelte b/src/lib/components/pineapple/PineappleBaseLayout.svelte
89
+ --- a/src/lib/components/pineapple/PineappleBaseLayout.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
90
+ +++ b/src/lib/components/pineapple/PineappleBaseLayout.svelte (date 1711679137623)
91
+ @@ -149,8 +149,8 @@
92
+
93
+ .default-page-container {
94
+ @apply flex justify-center items-center;
95
+ - margin-top: 4em;
96
+ - margin-right: 1em;
97
+ + width: 100%;
98
+ + padding: 1lh clamp(8px, 10vw, 2em);
99
+ flex-direction: column;
100
+ z-index: 0;
101
+ }
102
+ @@ -201,7 +201,7 @@
103
+ bottom: var(--fab-margin);
104
+ width: 4em;
105
+ border-radius: 50%;
106
+ - z-index: 100;
107
+ + z-index: 100;
108
+ }
109
+
110
+ .fab > img {
111
+ @@ -217,6 +217,6 @@
112
+ }
113
+
114
+ .turnip-icon {
115
+ - margin: 4px;
116
+ + margin: 4px;
117
+ }
118
+ </style>
119
+ Index: src/lib/components/navigation_component/NavigationComponent.svelte
120
+ IDEA additional info:
121
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
122
+ <+><script lang=\"ts\">\n\timport NavigationControl from \"$pkg/components/navigation_component/NavigationControl.svelte\";\n\timport { Card, createGoToFunction } from \"$pkg\";\n\timport { parsePageMeta, type ParsePageMetaCompareFn } from \"$pkg/components/navigation_component/PageMeta\";\n\n\texport let title: string | undefined = undefined;\n\texport let fileList: Record<string, unknown>;\n\texport let jsonList: Record<string, unknown>;\n\texport let imageMap = new Map<string, string>();\n\n\t/**\n\t * Should include a slash before and after the path\n\t */\n\texport let parentSubpath: string;\n\n\texport let compareFn: undefined | ParsePageMetaCompareFn = undefined;\n\texport let pageSize = 5;\n\texport let currentIndex = 0;\n\n\tconst pageFlatList = parsePageMeta(fileList, jsonList, imageMap, compareFn);\n\n\t$: visiblePages = pageFlatList.slice(currentIndex * pageSize, (currentIndex * pageSize) + pageSize);\n</script>\n\n<div class=\"navigation-wrapper\">\n\t{#if (title)}\n\t\t<Card>\n\t\t\t<h1 slot=\"content\" class=\"default-card navigation-title\">\n\t\t\t\t{title}\n\t\t\t</h1>\n\t\t</Card>\n\t{/if}\n\n\t<NavigationControl bind:currentIndex={currentIndex}\n\t bind:contentLength={pageFlatList.length}\n\t bind:pageSize={pageSize}></NavigationControl>\n\n\t<div class=\"navigation-component\">\n\t\t<!-- all the misc routes-->\n\t\t{#each visiblePages as pageMeta}\n\t\t\t{@const fullPath=`${parentSubpath}${pageMeta.relativeLink}`}\n\t\t\t<button class=\"navigation-element\"\n\t\t\t title={fullPath}\n\t\t\t on:click={createGoToFunction(fullPath)}>\n\t\t\t\t{#if pageMeta.imageUrl}\n\t\t\t\t\t<img src={pageMeta.imageUrl}\n\t\t\t\t\t alt={pageMeta.imageAlt ?? \"placeholder alt text please replace me or report me!\"} />\n\t\t\t\t{/if}\n\t\t\t\t<section class=\"blurb-text\">\n\t\t\t\t\t<h2>{pageMeta.title}</h2>\n\t\t\t\t\t<p>Published: {pageMeta.datePublished ?? \"N/A\"} | Last updated: {pageMeta.lastUpdated ?? \"N/A\"}</p>\n\t\t\t\t\t<p>{pageMeta.description ?? \"\"}</p>\n\t\t\t\t\tTags:\n\t\t\t\t\t{#if (pageMeta.tags && pageMeta.tags.length !== 0)}\n\t\t\t\t\t\t{#each pageMeta.tags as tagValue}\n\t\t\t\t\t\t\t&nbsp;<span class=\"badge variant-filled tag-container\">{tagValue}</span>\n\t\t\t\t\t\t{/each}\n\t\t\t\t\t{:else}\n\t\t\t\t\t\tNone\n\t\t\t\t\t{/if}\n\t\t\t\t</section>\n\t\t\t</button>\n\t\t{/each}\n\n\t\t{#if visiblePages.length === 0}\n\t\t\t<Card>\n\t\t\t\t<p class=\"default-card\" slot=\"content\">Sorry, no content was found</p>\n\t\t\t</Card>\n\t\t{/if}\n\t</div>\n\n\t<NavigationControl bind:currentIndex={currentIndex}\n\t bind:contentLength={pageFlatList.length}\n\t bind:pageSize={pageSize}></NavigationControl>\n\n</div>\n\n<style lang=\"postcss\">\n @media (max-width: 800px) {\n img {\n max-height: 20rem;\n width: 100%;\n flex-basis: 100%;\n border-radius: var(--theme-rounded-container) var(--theme-rounded-container) 0 0;\n }\n\n .navigation-element {\n flex-direction: column;\n }\n }\n\n @media (min-width: 801px) {\n .navigation-element {\n flex-direction: row;\n }\n\n img {\n width: 20em;\n }\n }\n\n .navigation-element {\n @apply btn card card-hover bg-surface-100 dark:bg-surface-900;\n display: flex;\n /*flex-direction: row;*/\n text-align: start;\n align-items: flex-start;\n padding: 0;\n }\n\n img {\n height: 20em;\n object-fit: cover;\n padding: var(--theme-border-base);\n border-radius: var(--theme-rounded-container) 0 0 var(--theme-rounded-container);\n }\n\n .navigation-component {\n display: flex;\n flex-direction: column;\n gap: 2em;\n }\n\n .navigation-title {\n text-align: center;\n }\n\n .blurb-text {\n padding: 2em;\n flex-grow: 1;\n white-space: initial;\n min-width: 0;\n }\n\n .navigation-wrapper {\n display: flex;\n flex-direction: column;\n max-width: 1000px;\n }\n\n .tag-container {\n margin: 0.25lh 0;\n }\n</style>
123
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
124
+ <+>UTF-8
125
+ ===================================================================
126
+ diff --git a/src/lib/components/navigation_component/NavigationComponent.svelte b/src/lib/components/navigation_component/NavigationComponent.svelte
127
+ --- a/src/lib/components/navigation_component/NavigationComponent.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
128
+ +++ b/src/lib/components/navigation_component/NavigationComponent.svelte (date 1711678425171)
129
+ @@ -123,6 +123,7 @@
130
+
131
+ .navigation-title {
132
+ text-align: center;
133
+ + max-width: initial;
134
+ }
135
+
136
+ .blurb-text {
137
+ @@ -136,6 +137,7 @@
138
+ display: flex;
139
+ flex-direction: column;
140
+ max-width: 1000px;
141
+ + width: 100%;
142
+ }
143
+
144
+ .tag-container {
145
+ Index: src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte
146
+ IDEA additional info:
147
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
148
+ <+><script lang=\"ts\">\n\timport { showComponentInToast, showTextInToast } from \"$pkg/components/pineapple/toast/Toast\";\n\timport TestCard from \"$pkg/components/pineapple/toast/custom-toast/TestCustomToast.svelte\";\n\timport TestDialogYarn from \"./TestDialog.yarn?raw\";\n\timport { Card, dialogManager } from \"$pkg\";\n\timport NavigationComponent from \"../../../../lib/components/navigation_component/NavigationComponent.svelte\";\n\timport { ImageMap } from \"../(extra-pages)/ImageMap\";\n\n\t// region Toast test scripts\n\tlet testingQueueNumber = 1;\n\tconst testingRandomPhrases = [\n\t\t\"Niko\",\n\t\t\"Niko the Baikal seal\",\n\t\t\"Niko the Baikal seal\\nfrom Toba Aquarium\"\n\t];\n\tconst testDialogYarn = TestDialogYarn;\n\n\tlet parsed = false;\n\tconst onTestDialogClick = () => {\n\t\tif (!parsed) {\n\t\t\tdialogManager.parseAndSetDialogTree(testDialogYarn).then(() => {\n\t\t\t\tdialogManager.toggleDialogOverlay();\n\t\t\t});\n\t\t\tparsed = true;\n\t\t} else {\n\t\t\tdialogManager.toggleDialogOverlay();\n\t\t}\n\t};\n\t// endregion\n\n\n\t// todo: fix fragile relative reference to the root\n\tconst fileList = import.meta.glob(\"./../**/+page.svelte\", { query: \"?raw\" });\n\tconst jsonList = import.meta.glob(\"./../**/meta.json\", { query: \"?raw\", eager: true });\n</script>\n\n<div class=\"pineapple-container\">\n\t<Card>\n\t\t<div slot=\"content\" class=\"default-card\">\n\t\t\t<button\n\t\t\t\tclass=\"btn variant-filled-secondary\"\n\t\t\t\ton:click={() => {\n\t\t\tshowComponentInToast({componentAndProps: {component: TestCard, props: undefined}});\n\t\t}}><h3>Test custom toast</h3></button>\n\t\t\t<button\n\t\t\t\tclass=\"btn variant-filled-secondary\"\n\t\t\t\ton:click={() => {\n\t\t\tshowTextInToast(`${testingQueueNumber} ${testingRandomPhrases[testingQueueNumber]}`);\n\t\t\ttestingQueueNumber = (testingQueueNumber + 1) % testingRandomPhrases.length;\n\t\t}}><h3>Handy toast</h3></button>\n\t\t\t<button\n\t\t\t\tclass=\"btn variant-filled-secondary\"\n\t\t\t\ton:click={onTestDialogClick}><h3>Test dialog</h3></button>\n\t\t</div>\n\t</Card>\n\n\t<NavigationComponent title=\"Navigation Component Test\"\n\t fileList={fileList}\n\t jsonList={jsonList}\n\t imageMap={ImageMap}\n\t parentSubpath=\"/pineapple/\">\n\t</NavigationComponent>\n</div>\n\n<style lang=\"postcss\">\n .default-card {\n display: flex;\n flex-wrap: wrap;\n gap: 2em;\n }\n\n .pineapple-container {\n display: flex;\n flex-direction: column;\n }\n</style>\n
149
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
150
+ <+>UTF-8
151
+ ===================================================================
152
+ diff --git a/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte b/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte
153
+ --- a/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
154
+ +++ b/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte (date 1711679832559)
155
+ @@ -2,10 +2,12 @@
156
+ import { showComponentInToast, showTextInToast } from "$pkg/components/pineapple/toast/Toast";
157
+ import TestCard from "$pkg/components/pineapple/toast/custom-toast/TestCustomToast.svelte";
158
+ import TestDialogYarn from "./TestDialog.yarn?raw";
159
+ - import { Card, dialogManager } from "$pkg";
160
+ + import { Card, dialogManager, enableDialogueOverlay } from "$pkg";
161
+ import NavigationComponent from "../../../../lib/components/navigation_component/NavigationComponent.svelte";
162
+ import { ImageMap } from "../(extra-pages)/ImageMap";
163
+
164
+ + enableDialogueOverlay.set(false);
165
+ +
166
+ // region Toast test scripts
167
+ let testingQueueNumber = 1;
168
+ const testingRandomPhrases = [
169
+ @@ -34,33 +36,31 @@
170
+ const jsonList = import.meta.glob("./../**/meta.json", { query: "?raw", eager: true });
171
+ </script>
172
+
173
+ -<div class="pineapple-container">
174
+ - <Card>
175
+ - <div slot="content" class="default-card">
176
+ - <button
177
+ - class="btn variant-filled-secondary"
178
+ - on:click={() => {
179
+ +<Card>
180
+ + <div slot="content" class="default-card">
181
+ + <button
182
+ + class="btn variant-filled-secondary"
183
+ + on:click={() => {
184
+ showComponentInToast({componentAndProps: {component: TestCard, props: undefined}});
185
+ }}><h3>Test custom toast</h3></button>
186
+ - <button
187
+ - class="btn variant-filled-secondary"
188
+ - on:click={() => {
189
+ + <button
190
+ + class="btn variant-filled-secondary"
191
+ + on:click={() => {
192
+ showTextInToast(`${testingQueueNumber} ${testingRandomPhrases[testingQueueNumber]}`);
193
+ testingQueueNumber = (testingQueueNumber + 1) % testingRandomPhrases.length;
194
+ }}><h3>Handy toast</h3></button>
195
+ - <button
196
+ - class="btn variant-filled-secondary"
197
+ - on:click={onTestDialogClick}><h3>Test dialog</h3></button>
198
+ - </div>
199
+ - </Card>
200
+ + <button
201
+ + class="btn variant-filled-secondary"
202
+ + on:click={onTestDialogClick}><h3>Test dialog</h3></button>
203
+ + </div>
204
+ +</Card>
205
+
206
+ - <NavigationComponent title="Navigation Component Test"
207
+ - fileList={fileList}
208
+ - jsonList={jsonList}
209
+ - imageMap={ImageMap}
210
+ - parentSubpath="/pineapple/">
211
+ - </NavigationComponent>
212
+ -</div>
213
+ +<NavigationComponent title="Navigation Component Test"
214
+ + fileList={fileList}
215
+ + jsonList={jsonList}
216
+ + imageMap={ImageMap}
217
+ + parentSubpath="/pineapple/">
218
+ +</NavigationComponent>
219
+
220
+ <style lang="postcss">
221
+ .default-card {
222
+ @@ -68,9 +68,4 @@
223
+ flex-wrap: wrap;
224
+ gap: 2em;
225
+ }
226
+ -
227
+ - .pineapple-container {
228
+ - display: flex;
229
+ - flex-direction: column;
230
+ - }
231
+ </style>
232
+ Index: src/routes/(pineapple)/+layout.svelte
233
+ IDEA additional info:
234
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
235
+ <+><script lang=\"ts\">\n\timport PinyaBaseLayout from \"$pkg/components/pineapple/PineappleBaseLayout.svelte\";\n</script>\n\n<PinyaBaseLayout>\n\t<slot />\n</PinyaBaseLayout>\n\n
236
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
237
+ <+>UTF-8
238
+ ===================================================================
239
+ diff --git a/src/routes/(pineapple)/+layout.svelte b/src/routes/(pineapple)/+layout.svelte
240
+ --- a/src/routes/(pineapple)/+layout.svelte (revision 92146aa15b0b89b1a113b193ffe101f3be25aac3)
241
+ +++ b/src/routes/(pineapple)/+layout.svelte (date 1711677788045)
242
+ @@ -2,7 +2,7 @@
243
+ import PinyaBaseLayout from "$pkg/components/pineapple/PineappleBaseLayout.svelte";
244
+ </script>
245
+
246
+ -<PinyaBaseLayout>
247
+ +<PinyaBaseLayout showDialogByDefault={true}>
248
+ <slot />
249
+ </PinyaBaseLayout>
250
+
@@ -0,0 +1,4 @@
1
+ <changelist name="Changes1" date="1711679855731" recycled="false">
2
+ <option name="PATH" value="$PROJECT_DIR$/.idea/shelf/Changes1/shelved.patch" />
3
+ <option name="DESCRIPTION" value="Changes" />
4
+ </changelist>
@@ -0,0 +1,20 @@
1
+ Index: package.json
2
+ IDEA additional info:
3
+ Subsystem: com.intellij.openapi.diff.impl.patch.BaseRevisionTextPatchEP
4
+ <+>{\n \"name\": \"@turnipxenon/pineapple\",\n \"description\": \"personal package for base styling for other personal projects\",\n \"version\": \"2.4.29\",\n \"scripts\": {\n \"dev\": \"vite dev\",\n \"build\": \"npm run check-requirements && vite build && yarn package\",\n \"package\": \"svelte-kit sync && svelte-package && publint\",\n \"check\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json\",\n \"check:watch\": \"svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch\",\n \"lint\": \"prettier --plugin-search-dir . --check . && eslint .\",\n \"format\": \"prettier --plugin-search-dir . --write .\",\n \"generate\": \"npx vite-node src/routes/blogs/blog_list_data_generator.ts && npx vite-node src/routes/toyay/toya_files_generator.ts && npm run generate-yarn\",\n \"generate-yarn\": \"npx vite-node src/lib/scripts/pineapple_fiber/PineappleWeaver.ts\",\n \"check-requirements\": \"npx vite-node src/lib/scripts/SetDefaultEnvironment.ts\",\n \"custom-check\": \"npx vite-node src/lib/scripts/util/ManualCheckRun.ts\",\n \"preview\": \"vite preview\",\n \"prepublishOnly\": \"yarn package\"\n },\n \"devDependencies\": {\n \"@sveltejs/adapter-auto\": \"^3.1.1\",\n \"@sveltejs/kit\": \"^2.5.2\",\n \"@sveltejs/package\": \"^2.2.1\",\n \"@tailwindcss/forms\": \"^0.5.3\",\n \"@tailwindcss/typography\": \"^0.5.9\",\n \"@typescript-eslint/eslint-plugin\": \"^5.45.0\",\n \"@typescript-eslint/parser\": \"^5.45.0\",\n \"autoprefixer\": \"^10.4.14\",\n \"eslint\": \"^8.28.0\",\n \"eslint-config-prettier\": \"^8.5.0\",\n \"eslint-plugin-svelte3\": \"^4.0.0\",\n \"postcss\": \"8.4.35\",\n \"prettier\": \"^3.2.5\",\n \"prettier-plugin-svelte\": \"^3.2.2\",\n \"svelte\": \"^4.2.12\",\n \"svelte-check\": \"^3.6.6\",\n \"svelte2tsx\": \"^0.6.20\",\n \"tailwindcss\": \"^3.3.2\",\n \"tslib\": \"^2.4.1\",\n \"typescript\": \"^5.1.6\",\n \"vite\": \"^5.1.5\"\n },\n \"dependencies\": {\n \"@skeletonlabs/skeleton\": \"^2.9.0\",\n \"@skeletonlabs/tw-plugin\": \"^0.3.1\",\n \"@sveltejs/adapter-vercel\": \"^5.1.0\",\n \"@sveltejs/kit\": \"^2.5.2\",\n \"@sveltejs/vite-plugin-svelte\": \"^3.0.2\",\n \"@types/htmlparser2\": \"^3.10.7\",\n \"@types/node\": \"^20.11.25\",\n \"highlight.js\": \"^11.8.0\",\n \"htmlparser2\": \"^9.1.0\",\n \"node-html-parser\": \"^6.1.5\",\n \"publint\": \"^0.2.7\",\n \"string-width\": \"^7.1.0\",\n \"svelte\": \"^4.2.12\",\n \"ts-node\": \"^10.9.1\"\n },\n \"exports\": {\n \".\": {\n \"types\": \"./dist/index.d.ts\",\n \"svelte\": \"./dist/index.js\"\n },\n \"./app.postcss\": \"./src/lib/app.postcss\",\n \"./theme.postcss\": \"./src/lib/theme.postcss\"\n },\n \"files\": [\n \"dist\",\n \"!dist/**/*.test.*\",\n \"!dist/**/*.spec.*\",\n \"./src/lib/app.postcss\",\n \"./src/lib/theme.postcss\"\n ],\n \"repository\": \"https://github.com/TurnipXenon/pineapple\",\n \"author\": \"turnipxenon <turnipxenon@gmail.com>\",\n \"license\": \"MIT\",\n \"svelte\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"type\": \"module\"\n}\n
5
+ Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
6
+ <+>UTF-8
7
+ ===================================================================
8
+ diff --git a/package.json b/package.json
9
+ --- a/package.json (revision d30651f448fe5a9da3cf47b3f3218aaeb2c719d4)
10
+ +++ b/package.json (date 1711679914979)
11
+ @@ -15,7 +15,8 @@
12
+ "check-requirements": "npx vite-node src/lib/scripts/SetDefaultEnvironment.ts",
13
+ "custom-check": "npx vite-node src/lib/scripts/util/ManualCheckRun.ts",
14
+ "preview": "vite preview",
15
+ - "prepublishOnly": "yarn package"
16
+ + "prepublishOnly": "yarn package",
17
+ + "to-dev": "git checkout main && git pull origin main && git checkout -b turnip/dev"
18
+ },
19
+ "devDependencies": {
20
+ "@sveltejs/adapter-auto": "^3.1.1",
@@ -4,11 +4,8 @@
4
4
  <option name="autoReloadType" value="SELECTIVE" />
5
5
  </component>
6
6
  <component name="ChangeListManager">
7
- <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix default page sorting">
8
- <change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/PageMeta.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/navigation_component/PageMeta.ts" afterDir="false" />
9
- <change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/+page.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(pineapple)/+page.svelte" afterDir="false" />
10
- <change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/+page.ts" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(pineapple)/+page.ts" afterDir="false" />
11
- <change beforePath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/TestDialog.yarn" beforeDir="false" afterPath="$PROJECT_DIR$/src/routes/(pineapple)/pineapple/(pineapple)/TestDialog.yarn" afterDir="false" />
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix double dor parsing issue in NavigationComponent">
8
+ <change beforePath="$PROJECT_DIR$/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/package.json" afterDir="false" />
12
9
  </list>
13
10
  <option name="SHOW_DIALOG" value="false" />
14
11
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -53,7 +50,7 @@
53
50
  <component name="Git.Settings">
54
51
  <option name="RECENT_BRANCH_BY_REPOSITORY">
55
52
  <map>
56
- <entry key="$PROJECT_DIR$" value="6265bc453ce0896e47aa5b4c13ed4923220ea380" />
53
+ <entry key="$PROJECT_DIR$" value="main" />
57
54
  </map>
58
55
  </option>
59
56
  <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -87,33 +84,33 @@
87
84
  <option name="hideEmptyMiddlePackages" value="true" />
88
85
  <option name="showLibraryContents" value="true" />
89
86
  </component>
90
- <component name="PropertiesComponent">{
91
- &quot;keyToString&quot;: {
92
- &quot;DefaultHtmlFileTemplate&quot;: &quot;HTML File&quot;,
93
- &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
94
- &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
95
- &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
96
- &quot;git-widget-placeholder&quot;: &quot;turnip/navigation&quot;,
97
- &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
98
- &quot;last_opened_file_path&quot;: &quot;C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8&quot;,
99
- &quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
100
- &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
101
- &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
102
- &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
103
- &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
104
- &quot;nodejs_interpreter_path&quot;: &quot;node&quot;,
105
- &quot;nodejs_package_manager_path&quot;: &quot;yarn&quot;,
106
- &quot;npm.build.executor&quot;: &quot;Run&quot;,
107
- &quot;npm.dev (1).executor&quot;: &quot;Run&quot;,
108
- &quot;npm.dev --open.executor&quot;: &quot;Run&quot;,
109
- &quot;npm.dev offline.executor&quot;: &quot;Run&quot;,
110
- &quot;npm.dev-offline.executor&quot;: &quot;Run&quot;,
111
- &quot;npm.dev.executor&quot;: &quot;Run&quot;,
112
- &quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
113
- &quot;ts.external.directory.path&quot;: &quot;C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib&quot;,
114
- &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
87
+ <component name="PropertiesComponent"><![CDATA[{
88
+ "keyToString": {
89
+ "DefaultHtmlFileTemplate": "HTML File",
90
+ "RunOnceActivity.OpenProjectViewOnStart": "true",
91
+ "RunOnceActivity.ShowReadmeOnStart": "true",
92
+ "WebServerToolWindowFactoryState": "false",
93
+ "git-widget-placeholder": "turnip/improvements",
94
+ "ignore.virus.scanning.warn.message": "true",
95
+ "last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8",
96
+ "list.type.of.created.stylesheet": "CSS",
97
+ "node.js.detected.package.eslint": "true",
98
+ "node.js.detected.package.tslint": "true",
99
+ "node.js.selected.package.eslint": "(autodetect)",
100
+ "node.js.selected.package.tslint": "(autodetect)",
101
+ "nodejs_interpreter_path": "node",
102
+ "nodejs_package_manager_path": "yarn",
103
+ "npm.build.executor": "Run",
104
+ "npm.dev (1).executor": "Run",
105
+ "npm.dev --open.executor": "Run",
106
+ "npm.dev offline.executor": "Run",
107
+ "npm.dev-offline.executor": "Run",
108
+ "npm.dev.executor": "Run",
109
+ "settings.editor.selected.configurable": "preferences.pluginManager",
110
+ "ts.external.directory.path": "C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib",
111
+ "vue.rearranger.settings.migration": "true"
115
112
  }
116
- }</component>
113
+ }]]></component>
117
114
  <component name="RecentsManager">
118
115
  <key name="CopyFile.RECENT_KEYS">
119
116
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)\page3\page7\(test_layout)\page8" />
@@ -162,10 +159,10 @@
162
159
  </list>
163
160
  <recent_temporary>
164
161
  <list>
165
- <item itemvalue="npm.dev --open" />
166
- <item itemvalue="npm.dev-offline" />
167
162
  <item itemvalue="npm.dev-offline" />
168
163
  <item itemvalue="npm.dev --open" />
164
+ <item itemvalue="npm.dev --open" />
165
+ <item itemvalue="npm.dev-offline" />
169
166
  <item itemvalue="npm.dev-offline" />
170
167
  </list>
171
168
  </recent_temporary>
@@ -254,15 +251,10 @@
254
251
  <workItem from="1711501054028" duration="138000" />
255
252
  <workItem from="1711501365165" duration="661000" />
256
253
  <workItem from="1711503193901" duration="146000" />
257
- <workItem from="1711587392130" duration="266000" />
258
- </task>
259
- <task id="LOCAL-00065" summary="Add custom toast">
260
- <option name="closed" value="true" />
261
- <created>1710560664163</created>
262
- <option name="number" value="00065" />
263
- <option name="presentableId" value="LOCAL-00065" />
264
- <option name="project" value="LOCAL" />
265
- <updated>1710560664164</updated>
254
+ <workItem from="1711587392130" duration="863000" />
255
+ <workItem from="1711677339000" duration="218000" />
256
+ <workItem from="1711677568464" duration="55000" />
257
+ <workItem from="1711677762467" duration="2147000" />
266
258
  </task>
267
259
  <task id="LOCAL-00066" summary="Add simple text toast">
268
260
  <option name="closed" value="true" />
@@ -648,7 +640,15 @@
648
640
  <option name="project" value="LOCAL" />
649
641
  <updated>1711499848251</updated>
650
642
  </task>
651
- <option name="localTasksCounter" value="114" />
643
+ <task id="LOCAL-00114" summary="Fix double dor parsing issue in NavigationComponent">
644
+ <option name="closed" value="true" />
645
+ <created>1711587709413</created>
646
+ <option name="number" value="00114" />
647
+ <option name="presentableId" value="LOCAL-00114" />
648
+ <option name="project" value="LOCAL" />
649
+ <updated>1711587709414</updated>
650
+ </task>
651
+ <option name="localTasksCounter" value="115" />
652
652
  <servers />
653
653
  </component>
654
654
  <component name="TypeScriptGeneratedFilesManager">
@@ -706,7 +706,6 @@
706
706
  </option>
707
707
  </component>
708
708
  <component name="VcsManagerConfiguration">
709
- <MESSAGE value="Remove unnecessary imports and variables in SeaweedTemplate" />
710
709
  <MESSAGE value="Add page query param creator" />
711
710
  <MESSAGE value="Hide advanced settings when letChaos is true" />
712
711
  <MESSAGE value="Add OverridableMeta component" />
@@ -731,6 +730,7 @@
731
730
  <MESSAGE value="Add default sorter for NavigationComponent" />
732
731
  <MESSAGE value="Fix NavigationComponent styling" />
733
732
  <MESSAGE value="Fix default page sorting" />
734
- <option name="LAST_COMMIT_MESSAGE" value="Fix default page sorting" />
733
+ <MESSAGE value="Fix double dor parsing issue in NavigationComponent" />
734
+ <option name="LAST_COMMIT_MESSAGE" value="Fix double dor parsing issue in NavigationComponent" />
735
735
  </component>
736
736
  </project>
@@ -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();