@turnipxenon/pineapple 2.4.26 → 2.4.28

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 (23) hide show
  1. package/.idea/workspace.xml +31 -28
  2. package/.svelte-kit/__package__/components/{DialogOverlay.svelte → dialog_overlay/DialogOverlay.svelte} +39 -9
  3. package/.svelte-kit/__package__/components/overrideable_meta/OverridableMeta.svelte +29 -29
  4. package/.svelte-kit/__package__/components/pineapple/PineappleBaseLayout.svelte +1 -1
  5. package/.svelte-kit/__package__/index.d.ts +1 -3
  6. package/.svelte-kit/__package__/index.js +1 -3
  7. package/.svelte-kit/generated/server/internal.js +1 -1
  8. package/dist/components/{DialogOverlay.svelte → dialog_overlay/DialogOverlay.svelte} +39 -9
  9. package/dist/components/overrideable_meta/OverridableMeta.svelte +29 -29
  10. package/dist/components/pineapple/PineappleBaseLayout.svelte +1 -1
  11. package/dist/index.d.ts +1 -3
  12. package/dist/index.js +1 -3
  13. package/package.json +1 -1
  14. package/src/lib/components/{DialogOverlay.svelte → dialog_overlay/DialogOverlay.svelte} +37 -8
  15. package/src/lib/components/overrideable_meta/OverridableMeta.svelte +56 -56
  16. package/src/lib/components/overrideable_meta/OverridableMetaProps.ts +7 -7
  17. package/src/lib/components/overrideable_meta/index.ts +4 -4
  18. package/src/lib/components/pineapple/PineappleBaseLayout.svelte +1 -1
  19. package/src/lib/index.ts +1 -3
  20. package/src/routes/(pineapple)/pineapple/+page.ts +8 -8
  21. package/src/routes/(seaweed)/portfolio/+page.ts +8 -8
  22. /package/.svelte-kit/__package__/components/{DialogOverlay.svelte.d.ts → dialog_overlay/DialogOverlay.svelte.d.ts} +0 -0
  23. /package/dist/components/{DialogOverlay.svelte.d.ts → dialog_overlay/DialogOverlay.svelte.d.ts} +0 -0
@@ -4,8 +4,9 @@
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="Add OverridableMeta component">
8
- <change beforePath="$PROJECT_DIR$/src/lib/components/overrideable_meta/OverridableMeta.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/overrideable_meta/OverridableMeta.svelte" afterDir="false" />
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Fix dialog positioning&#10;&#10;Dialog positioning seemed to be broken when the styles from Seaweed moved to postcss, even if the dialog solely exists in Pineapple">
8
+ <change beforePath="$PROJECT_DIR$/src/lib/components/DialogOverlay.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/dialog_overlay/DialogOverlay.svelte" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/src/lib/components/pineapple/PineappleBaseLayout.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/pineapple/PineappleBaseLayout.svelte" afterDir="false" />
9
10
  </list>
10
11
  <option name="SHOW_DIALOG" value="false" />
11
12
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -40,13 +41,14 @@
40
41
  <option value="+page.svelte" />
41
42
  <option value="OverrideableMeta" />
42
43
  <option value="index.ts" />
44
+ <option value="CSS File" />
43
45
  </list>
44
46
  </option>
45
47
  </component>
46
48
  <component name="Git.Settings">
47
49
  <option name="RECENT_BRANCH_BY_REPOSITORY">
48
50
  <map>
49
- <entry key="$PROJECT_DIR$" value="main" />
51
+ <entry key="$PROJECT_DIR$" value="6265bc453ce0896e47aa5b4c13ed4923220ea380" />
50
52
  </map>
51
53
  </option>
52
54
  <option name="RECENT_GIT_ROOT_PATH" value="$PROJECT_DIR$" />
@@ -86,9 +88,10 @@
86
88
  "RunOnceActivity.OpenProjectViewOnStart": "true",
87
89
  "RunOnceActivity.ShowReadmeOnStart": "true",
88
90
  "WebServerToolWindowFactoryState": "false",
89
- "git-widget-placeholder": "turnip/dev",
91
+ "git-widget-placeholder": "turnip/meta",
90
92
  "ignore.virus.scanning.warn.message": "true",
91
93
  "last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(seaweed)/portfolio/actual",
94
+ "list.type.of.created.stylesheet": "CSS",
92
95
  "node.js.detected.package.eslint": "true",
93
96
  "node.js.detected.package.tslint": "true",
94
97
  "node.js.selected.package.eslint": "(autodetect)",
@@ -115,11 +118,11 @@
115
118
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\about" />
116
119
  </key>
117
120
  <key name="MoveFile.RECENT_KEYS">
121
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\dialog_overlay" />
118
122
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\overrideable_meta" />
119
123
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\types" />
120
124
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib" />
121
125
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\template\Seaweed" />
122
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\about" />
123
126
  </key>
124
127
  <key name="es6.move.members.recent.items">
125
128
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\types\RootLayoutProps.ts" />
@@ -154,11 +157,11 @@
154
157
  </list>
155
158
  <recent_temporary>
156
159
  <list>
157
- <item itemvalue="npm.dev --open" />
158
160
  <item itemvalue="npm.dev-offline" />
159
161
  <item itemvalue="npm.dev --open" />
160
162
  <item itemvalue="npm.dev-offline" />
161
163
  <item itemvalue="npm.dev --open" />
164
+ <item itemvalue="npm.dev-offline" />
162
165
  </list>
163
166
  </recent_temporary>
164
167
  </component>
@@ -225,23 +228,7 @@
225
228
  <workItem from="1711115902471" duration="148000" />
226
229
  <workItem from="1711116299202" duration="1291000" />
227
230
  <workItem from="1711179012668" duration="14397000" />
228
- <workItem from="1711206704484" duration="3335000" />
229
- </task>
230
- <task id="LOCAL-00043" summary="Testing toggleable content">
231
- <option name="closed" value="true" />
232
- <created>1710198706291</created>
233
- <option name="number" value="00043" />
234
- <option name="presentableId" value="LOCAL-00043" />
235
- <option name="project" value="LOCAL" />
236
- <updated>1710198706291</updated>
237
- </task>
238
- <task id="LOCAL-00044" summary="switch up image and videos toodsg">
239
- <option name="closed" value="true" />
240
- <created>1710202656283</created>
241
- <option name="number" value="00044" />
242
- <option name="presentableId" value="LOCAL-00044" />
243
- <option name="project" value="LOCAL" />
244
- <updated>1710202656283</updated>
231
+ <workItem from="1711206704484" duration="8091000" />
245
232
  </task>
246
233
  <task id="LOCAL-00045" summary="Solve videos not dynamically loading">
247
234
  <option name="closed" value="true" />
@@ -619,7 +606,23 @@
619
606
  <option name="project" value="LOCAL" />
620
607
  <updated>1711210030593</updated>
621
608
  </task>
622
- <option name="localTasksCounter" value="92" />
609
+ <task id="LOCAL-00092" summary="Add OverridableMeta component">
610
+ <option name="closed" value="true" />
611
+ <created>1711210062957</created>
612
+ <option name="number" value="00092" />
613
+ <option name="presentableId" value="LOCAL-00092" />
614
+ <option name="project" value="LOCAL" />
615
+ <updated>1711210062957</updated>
616
+ </task>
617
+ <task id="LOCAL-00093" summary="Fix package main index">
618
+ <option name="closed" value="true" />
619
+ <created>1711210905814</created>
620
+ <option name="number" value="00093" />
621
+ <option name="presentableId" value="LOCAL-00093" />
622
+ <option name="project" value="LOCAL" />
623
+ <updated>1711210905814</updated>
624
+ </task>
625
+ <option name="localTasksCounter" value="94" />
623
626
  <servers />
624
627
  </component>
625
628
  <component name="TypeScriptGeneratedFilesManager">
@@ -657,7 +660,7 @@
657
660
  <entry key="branch">
658
661
  <value>
659
662
  <list>
660
- <option value="turnip/dev" />
663
+ <option value="main" />
661
664
  </list>
662
665
  </value>
663
666
  </entry>
@@ -677,8 +680,6 @@
677
680
  </option>
678
681
  </component>
679
682
  <component name="VcsManagerConfiguration">
680
- <MESSAGE value="Enforce stricter typing for Toast components" />
681
- <MESSAGE value="Add dismissable toast" />
682
683
  <MESSAGE value="Adjust default toast body styling and add shadow to toast" />
683
684
  <MESSAGE value="Clean up todos" />
684
685
  <MESSAGE value="Add default PR template" />
@@ -702,6 +703,8 @@
702
703
  <MESSAGE value="Add page query param creator" />
703
704
  <MESSAGE value="Hide advanced settings when letChaos is true" />
704
705
  <MESSAGE value="Add OverridableMeta component" />
705
- <option name="LAST_COMMIT_MESSAGE" value="Add OverridableMeta component" />
706
+ <MESSAGE value="Fix package main index" />
707
+ <MESSAGE value="Fix dialog positioning&#10;&#10;Dialog positioning seemed to be broken when the styles from Seaweed moved to postcss, even if the dialog solely exists in Pineapple" />
708
+ <option name="LAST_COMMIT_MESSAGE" value="Fix dialog positioning&#10;&#10;Dialog positioning seemed to be broken when the styles from Seaweed moved to postcss, even if the dialog solely exists in Pineapple" />
706
709
  </component>
707
710
  </project>
@@ -1,7 +1,7 @@
1
- <script>import AresHappy from "../assets/characters/ares/ares_happy.webp";
1
+ <script>import AresHappy from "../../assets/characters/ares/ares_happy.webp";
2
2
  import { onMount } from "svelte";
3
- import { dialogManager } from "./dialog_manager/DialogManagerStore";
4
- import { DialogState } from "../types/pineapple_fiber/DialogState";
3
+ import { dialogManager } from "../dialog_manager/DialogManagerStore";
4
+ import { DialogState } from "../../types/pineapple_fiber/DialogState";
5
5
  let currentMessage = "";
6
6
  dialogManager.currentMessage.subscribe((value) => {
7
7
  currentMessage = value;
@@ -35,7 +35,9 @@ const onDialogClick = () => {
35
35
  hidden={isHidden}
36
36
  style="--hidePercentWidth: -{hidePercent}vw;
37
37
  --hidePercentHeight: {hidePercent}vh;">
38
- <img src={currentPortrait} alt="Ares" class="dialog-portrait" />
38
+ <div class="dialog-portrait-container">
39
+ <img src={currentPortrait} alt="Ares" class="dialog-portrait" />
40
+ </div>
39
41
  <div class="card dialog-box variant-ghost-primary" on:click={onDialogClick}>
40
42
  <div class="card dialog-name">
41
43
  <p><b>Turnip</b></p>
@@ -53,8 +55,12 @@ const onDialogClick = () => {
53
55
  z-index: 10;
54
56
  }
55
57
 
56
- .dialog-elements > img {
57
- transform: translateX(var(--hidePercentWidth));
58
+ .dialog-elements:dir(ltr) {
59
+ left: 0;
60
+ }
61
+
62
+ .dialog-elements:dir(rtl) {
63
+ right: 0;
58
64
  }
59
65
 
60
66
  .dialog-elements > div {
@@ -81,16 +87,40 @@ const onDialogClick = () => {
81
87
  padding-right: 1rem;
82
88
  padding-top: 0.5rem;
83
89
  position: fixed;
90
+ }
84
91
 
92
+ .dialog-name:dir(ltr) {
85
93
  /* for centering vertically */
86
94
  transform: translateX(clamp(0em, 5vw - 0.5em, 1em)) translateY(-50%);
87
- }
95
+ }
88
96
 
89
- .dialog-portrait {
97
+ .dialog-name:dir(rtl) {
98
+ /* for centering vertically */
99
+ transform: translateX(calc(clamp(0em, 5vw - 0.5em, 1em) * -1)) translateY(-50%);
100
+ }
101
+
102
+ .dialog-portrait-container {
90
103
  position: fixed;
91
104
  bottom: 0;
92
- left: clamp(-4rem, calc(5vw - 5em), 0rem);
93
105
  height: clamp(30rem, 75vw, 40rem);
94
106
  width: auto;
95
107
  }
108
+
109
+ .dialog-portrait-container:dir(ltr) {
110
+ transform: translateX(var(--hidePercentWidth));
111
+ left: clamp(-4rem, calc(5vw - 5em), 0rem);
112
+ }
113
+
114
+ .dialog-portrait-container:dir(rtl) {
115
+ transform: translateX(calc(var(--hidePercentWidth) * -1));
116
+ right: clamp(-4rem, calc(5vw - 5em), 0rem);
117
+ }
118
+
119
+ .dialog-portrait {
120
+ height: 100%;
121
+ }
122
+
123
+ .dialog-portrait:dir(rtl) {
124
+ transform: scaleX(-1);
125
+ }
96
126
  </style>
@@ -1,21 +1,21 @@
1
- <!--
2
- OverridableMeta is convenient Svelte component allowing each page to override the head meta values
3
- based on their +page.ts.
4
-
5
- For example:
6
- <code>
7
- // +page.ts
8
-
9
- import type { OverridableMetaProps } from "../..";
10
-
11
- export const load = async (): Promise<OverridableMetaProps> => {
12
- return {
13
- title: "CustomTitle",
14
- };
15
- };
16
- </code>
17
- -->
18
-
1
+ <!--
2
+ OverridableMeta is convenient Svelte component allowing each page to override the head meta values
3
+ based on their +page.ts.
4
+
5
+ For example:
6
+ <code>
7
+ // +page.ts
8
+
9
+ import type { OverridableMetaProps } from "../..";
10
+
11
+ export const load = async (): Promise<OverridableMetaProps> => {
12
+ return {
13
+ title: "CustomTitle",
14
+ };
15
+ };
16
+ </code>
17
+ -->
18
+
19
19
  <script>import WebThumbnailImage from "../../assets/placeholder/placeholder_circle.png";
20
20
  export let rootUrl = "http://localhost:5173";
21
21
  export let title = "Welcome to my portfolio";
@@ -38,14 +38,14 @@ page.subscribe((p) => {
38
38
  data.ogDescription = pageData.ogDescription ?? ogDescription;
39
39
  data.ogImage = pageData.ogImage ?? ogImage;
40
40
  });
41
- </script>
42
-
43
- <svelte:head>
44
- <meta charset="utf-8" />
45
- <title>{data.title}</title>
46
- <meta name="twitter:card" content="summary" />
47
- <meta property="og:url" content={data.ogUrl} />
48
- <meta property="og:title" content={data.ogTitle} />
49
- <meta property="og:description" content={data.ogDescription} />
50
- <meta property="og:image" content={data.ogImage} />
51
- </svelte:head>
41
+ </script>
42
+
43
+ <svelte:head>
44
+ <meta charset="utf-8" />
45
+ <title>{data.title}</title>
46
+ <meta name="twitter:card" content="summary" />
47
+ <meta property="og:url" content={data.ogUrl} />
48
+ <meta property="og:title" content={data.ogTitle} />
49
+ <meta property="og:description" content={data.ogDescription} />
50
+ <meta property="og:image" content={data.ogImage} />
51
+ </svelte:head>
@@ -8,7 +8,7 @@ import FABIcon from "../../assets/bg_tiled/bg_tiled_turnip.png";
8
8
  import CloseIcon from "../../assets/icons/close.svg";
9
9
  import { dialogManager, enableDialogueOverlay } from "../dialog_manager/DialogManagerStore";
10
10
  import Toast from "./toast/Toast.svelte";
11
- import DialogOverlay from "../DialogOverlay.svelte";
11
+ import DialogOverlay from "../dialog_overlay/DialogOverlay.svelte";
12
12
  import { fade } from "svelte/transition";
13
13
  let pages = [];
14
14
  const updateBreadcrumb = (pathname) => {
@@ -2,12 +2,10 @@ export { default as PineappleLayoutBase } from "./components/pineapple/Pineapple
2
2
  export { default as SeaweedTemplate } from "./template/Seaweed/SeaweedTemplate.svelte";
3
3
  export { default as LazyAsset } from "./components/LazyAsset.svelte";
4
4
  export { default as Card } from "./components/Card.svelte";
5
- export * from "./components/overrideable_meta/index.ts";
5
+ export * from "./components/overrideable_meta/index";
6
6
  export * from "./components/dialog_manager/DialogManagerStore";
7
7
  export * from "./components/dialog_manager/DialogManager";
8
8
  export * from "./components/dialog_manager/DialogUtils";
9
9
  export * from "./types/pineapple_fiber/PortraitType";
10
10
  export * from "./types/pineapple_fiber/DialogDetail";
11
11
  export * from "./util/util";
12
- export { mulberry32Generator } from "./util/util";
13
- export { generatedDailySeed } from "./util/util";
@@ -3,12 +3,10 @@ export { default as PineappleLayoutBase } from "./components/pineapple/Pineapple
3
3
  export { default as SeaweedTemplate } from "./template/Seaweed/SeaweedTemplate.svelte";
4
4
  export { default as LazyAsset } from "./components/LazyAsset.svelte";
5
5
  export { default as Card } from "./components/Card.svelte";
6
- export * from "./components/overrideable_meta/index.ts";
6
+ export * from "./components/overrideable_meta/index";
7
7
  export * from "./components/dialog_manager/DialogManagerStore";
8
8
  export * from "./components/dialog_manager/DialogManager";
9
9
  export * from "./components/dialog_manager/DialogUtils";
10
10
  export * from "./types/pineapple_fiber/PortraitType";
11
11
  export * from "./types/pineapple_fiber/DialogDetail";
12
12
  export * from "./util/util";
13
- export { mulberry32Generator } from "./util/util";
14
- export { generatedDailySeed } from "./util/util";
@@ -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: "6ez2bd"
24
+ version_hash: "67cz8x"
25
25
  };
26
26
 
27
27
  export async function get_hooks() {
@@ -1,7 +1,7 @@
1
- <script>import AresHappy from "../assets/characters/ares/ares_happy.webp";
1
+ <script>import AresHappy from "../../assets/characters/ares/ares_happy.webp";
2
2
  import { onMount } from "svelte";
3
- import { dialogManager } from "./dialog_manager/DialogManagerStore";
4
- import { DialogState } from "../types/pineapple_fiber/DialogState";
3
+ import { dialogManager } from "../dialog_manager/DialogManagerStore";
4
+ import { DialogState } from "../../types/pineapple_fiber/DialogState";
5
5
  let currentMessage = "";
6
6
  dialogManager.currentMessage.subscribe((value) => {
7
7
  currentMessage = value;
@@ -35,7 +35,9 @@ const onDialogClick = () => {
35
35
  hidden={isHidden}
36
36
  style="--hidePercentWidth: -{hidePercent}vw;
37
37
  --hidePercentHeight: {hidePercent}vh;">
38
- <img src={currentPortrait} alt="Ares" class="dialog-portrait" />
38
+ <div class="dialog-portrait-container">
39
+ <img src={currentPortrait} alt="Ares" class="dialog-portrait" />
40
+ </div>
39
41
  <div class="card dialog-box variant-ghost-primary" on:click={onDialogClick}>
40
42
  <div class="card dialog-name">
41
43
  <p><b>Turnip</b></p>
@@ -53,8 +55,12 @@ const onDialogClick = () => {
53
55
  z-index: 10;
54
56
  }
55
57
 
56
- .dialog-elements > img {
57
- transform: translateX(var(--hidePercentWidth));
58
+ .dialog-elements:dir(ltr) {
59
+ left: 0;
60
+ }
61
+
62
+ .dialog-elements:dir(rtl) {
63
+ right: 0;
58
64
  }
59
65
 
60
66
  .dialog-elements > div {
@@ -81,16 +87,40 @@ const onDialogClick = () => {
81
87
  padding-right: 1rem;
82
88
  padding-top: 0.5rem;
83
89
  position: fixed;
90
+ }
84
91
 
92
+ .dialog-name:dir(ltr) {
85
93
  /* for centering vertically */
86
94
  transform: translateX(clamp(0em, 5vw - 0.5em, 1em)) translateY(-50%);
87
- }
95
+ }
88
96
 
89
- .dialog-portrait {
97
+ .dialog-name:dir(rtl) {
98
+ /* for centering vertically */
99
+ transform: translateX(calc(clamp(0em, 5vw - 0.5em, 1em) * -1)) translateY(-50%);
100
+ }
101
+
102
+ .dialog-portrait-container {
90
103
  position: fixed;
91
104
  bottom: 0;
92
- left: clamp(-4rem, calc(5vw - 5em), 0rem);
93
105
  height: clamp(30rem, 75vw, 40rem);
94
106
  width: auto;
95
107
  }
108
+
109
+ .dialog-portrait-container:dir(ltr) {
110
+ transform: translateX(var(--hidePercentWidth));
111
+ left: clamp(-4rem, calc(5vw - 5em), 0rem);
112
+ }
113
+
114
+ .dialog-portrait-container:dir(rtl) {
115
+ transform: translateX(calc(var(--hidePercentWidth) * -1));
116
+ right: clamp(-4rem, calc(5vw - 5em), 0rem);
117
+ }
118
+
119
+ .dialog-portrait {
120
+ height: 100%;
121
+ }
122
+
123
+ .dialog-portrait:dir(rtl) {
124
+ transform: scaleX(-1);
125
+ }
96
126
  </style>
@@ -1,21 +1,21 @@
1
- <!--
2
- OverridableMeta is convenient Svelte component allowing each page to override the head meta values
3
- based on their +page.ts.
4
-
5
- For example:
6
- <code>
7
- // +page.ts
8
-
9
- import type { OverridableMetaProps } from "../..";
10
-
11
- export const load = async (): Promise<OverridableMetaProps> => {
12
- return {
13
- title: "CustomTitle",
14
- };
15
- };
16
- </code>
17
- -->
18
-
1
+ <!--
2
+ OverridableMeta is convenient Svelte component allowing each page to override the head meta values
3
+ based on their +page.ts.
4
+
5
+ For example:
6
+ <code>
7
+ // +page.ts
8
+
9
+ import type { OverridableMetaProps } from "../..";
10
+
11
+ export const load = async (): Promise<OverridableMetaProps> => {
12
+ return {
13
+ title: "CustomTitle",
14
+ };
15
+ };
16
+ </code>
17
+ -->
18
+
19
19
  <script>import WebThumbnailImage from "../../assets/placeholder/placeholder_circle.png";
20
20
  export let rootUrl = "http://localhost:5173";
21
21
  export let title = "Welcome to my portfolio";
@@ -38,14 +38,14 @@ page.subscribe((p) => {
38
38
  data.ogDescription = pageData.ogDescription ?? ogDescription;
39
39
  data.ogImage = pageData.ogImage ?? ogImage;
40
40
  });
41
- </script>
42
-
43
- <svelte:head>
44
- <meta charset="utf-8" />
45
- <title>{data.title}</title>
46
- <meta name="twitter:card" content="summary" />
47
- <meta property="og:url" content={data.ogUrl} />
48
- <meta property="og:title" content={data.ogTitle} />
49
- <meta property="og:description" content={data.ogDescription} />
50
- <meta property="og:image" content={data.ogImage} />
51
- </svelte:head>
41
+ </script>
42
+
43
+ <svelte:head>
44
+ <meta charset="utf-8" />
45
+ <title>{data.title}</title>
46
+ <meta name="twitter:card" content="summary" />
47
+ <meta property="og:url" content={data.ogUrl} />
48
+ <meta property="og:title" content={data.ogTitle} />
49
+ <meta property="og:description" content={data.ogDescription} />
50
+ <meta property="og:image" content={data.ogImage} />
51
+ </svelte:head>
@@ -8,7 +8,7 @@ import FABIcon from "../../assets/bg_tiled/bg_tiled_turnip.png";
8
8
  import CloseIcon from "../../assets/icons/close.svg";
9
9
  import { dialogManager, enableDialogueOverlay } from "../dialog_manager/DialogManagerStore";
10
10
  import Toast from "./toast/Toast.svelte";
11
- import DialogOverlay from "../DialogOverlay.svelte";
11
+ import DialogOverlay from "../dialog_overlay/DialogOverlay.svelte";
12
12
  import { fade } from "svelte/transition";
13
13
  let pages = [];
14
14
  const updateBreadcrumb = (pathname) => {
package/dist/index.d.ts CHANGED
@@ -2,12 +2,10 @@ export { default as PineappleLayoutBase } from "./components/pineapple/Pineapple
2
2
  export { default as SeaweedTemplate } from "./template/Seaweed/SeaweedTemplate.svelte";
3
3
  export { default as LazyAsset } from "./components/LazyAsset.svelte";
4
4
  export { default as Card } from "./components/Card.svelte";
5
- export * from "./components/overrideable_meta/index.ts";
5
+ export * from "./components/overrideable_meta/index";
6
6
  export * from "./components/dialog_manager/DialogManagerStore";
7
7
  export * from "./components/dialog_manager/DialogManager";
8
8
  export * from "./components/dialog_manager/DialogUtils";
9
9
  export * from "./types/pineapple_fiber/PortraitType";
10
10
  export * from "./types/pineapple_fiber/DialogDetail";
11
11
  export * from "./util/util";
12
- export { mulberry32Generator } from "./util/util";
13
- export { generatedDailySeed } from "./util/util";
package/dist/index.js CHANGED
@@ -3,12 +3,10 @@ export { default as PineappleLayoutBase } from "./components/pineapple/Pineapple
3
3
  export { default as SeaweedTemplate } from "./template/Seaweed/SeaweedTemplate.svelte";
4
4
  export { default as LazyAsset } from "./components/LazyAsset.svelte";
5
5
  export { default as Card } from "./components/Card.svelte";
6
- export * from "./components/overrideable_meta/index.ts";
6
+ export * from "./components/overrideable_meta/index";
7
7
  export * from "./components/dialog_manager/DialogManagerStore";
8
8
  export * from "./components/dialog_manager/DialogManager";
9
9
  export * from "./components/dialog_manager/DialogUtils";
10
10
  export * from "./types/pineapple_fiber/PortraitType";
11
11
  export * from "./types/pineapple_fiber/DialogDetail";
12
12
  export * from "./util/util";
13
- export { mulberry32Generator } from "./util/util";
14
- export { generatedDailySeed } from "./util/util";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@turnipxenon/pineapple",
3
3
  "description": "personal package for base styling for other personal projects",
4
- "version": "2.4.26",
4
+ "version": "2.4.28",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "build": "npm run check-requirements && vite build && yarn package",
@@ -1,8 +1,7 @@
1
1
  <script lang="ts">
2
- import AresHappy from "$lib/assets/characters/ares/ares_happy.webp";
2
+ import AresHappy from "$pkg/assets/characters/ares/ares_happy.webp";
3
3
  import { onMount } from "svelte";
4
-
5
- import { dialogManager } from "$lib/components/dialog_manager/DialogManagerStore";
4
+ import { dialogManager } from "$pkg/components/dialog_manager/DialogManagerStore";
6
5
  import { DialogState } from "$pkg/types/pineapple_fiber/DialogState";
7
6
 
8
7
  let currentMessage = "";
@@ -43,7 +42,9 @@
43
42
  hidden={isHidden}
44
43
  style="--hidePercentWidth: -{hidePercent}vw;
45
44
  --hidePercentHeight: {hidePercent}vh;">
46
- <img src={currentPortrait} alt="Ares" class="dialog-portrait" />
45
+ <div class="dialog-portrait-container">
46
+ <img src={currentPortrait} alt="Ares" class="dialog-portrait" />
47
+ </div>
47
48
  <div class="card dialog-box variant-ghost-primary" on:click={onDialogClick}>
48
49
  <div class="card dialog-name">
49
50
  <p><b>Turnip</b></p>
@@ -61,8 +62,12 @@
61
62
  z-index: 10;
62
63
  }
63
64
 
64
- .dialog-elements > img {
65
- transform: translateX(var(--hidePercentWidth));
65
+ .dialog-elements:dir(ltr) {
66
+ left: 0;
67
+ }
68
+
69
+ .dialog-elements:dir(rtl) {
70
+ right: 0;
66
71
  }
67
72
 
68
73
  .dialog-elements > div {
@@ -87,16 +92,40 @@
87
92
  .dialog-name {
88
93
  @apply pt-2 px-4;
89
94
  position: fixed;
95
+ }
90
96
 
97
+ .dialog-name:dir(ltr) {
91
98
  /* for centering vertically */
92
99
  transform: translateX(clamp(0em, 5vw - 0.5em, 1em)) translateY(-50%);
93
100
  }
94
101
 
95
- .dialog-portrait {
102
+ .dialog-name:dir(rtl) {
103
+ /* for centering vertically */
104
+ transform: translateX(calc(clamp(0em, 5vw - 0.5em, 1em) * -1)) translateY(-50%);
105
+ }
106
+
107
+ .dialog-portrait-container {
96
108
  position: fixed;
97
109
  bottom: 0;
98
- left: clamp(-4rem, calc(5vw - 5em), 0rem);
99
110
  height: clamp(30rem, 75vw, 40rem);
100
111
  width: auto;
101
112
  }
113
+
114
+ .dialog-portrait-container:dir(ltr) {
115
+ transform: translateX(var(--hidePercentWidth));
116
+ left: clamp(-4rem, calc(5vw - 5em), 0rem);
117
+ }
118
+
119
+ .dialog-portrait-container:dir(rtl) {
120
+ transform: translateX(calc(var(--hidePercentWidth) * -1));
121
+ right: clamp(-4rem, calc(5vw - 5em), 0rem);
122
+ }
123
+
124
+ .dialog-portrait {
125
+ height: 100%;
126
+ }
127
+
128
+ .dialog-portrait:dir(rtl) {
129
+ transform: scaleX(-1);
130
+ }
102
131
  </style>
@@ -1,56 +1,56 @@
1
- <!--
2
- OverridableMeta is convenient Svelte component allowing each page to override the head meta values
3
- based on their +page.ts.
4
-
5
- For example:
6
- <code>
7
- // +page.ts
8
-
9
- import type { OverridableMetaProps } from "$pkg";
10
-
11
- export const load = async (): Promise<OverridableMetaProps> => {
12
- return {
13
- title: "CustomTitle",
14
- };
15
- };
16
- </code>
17
- -->
18
-
19
- <script lang="ts">
20
- import WebThumbnailImage from "$pkg/assets/placeholder/placeholder_circle.png";
21
-
22
- export let rootUrl = "http://localhost:5173";
23
- export let title = "Welcome to my portfolio";
24
- export let ogTitle = "Turnip time!";
25
- export let ogDescription = "Welcome to Turnip's test portfolio";
26
- export let ogImage = WebThumbnailImage;
27
-
28
- import { page } from "$app/stores";
29
- import type { OverridableMetaProps } from "./OverridableMetaProps";
30
-
31
- const data: OverridableMetaProps = {
32
- title: "Welcome to my portfolio",
33
- ogUrl: "https://www.crouton.net/",
34
- ogTitle: "Turnip time!",
35
- ogDescription: "Welcome to Turnip's test portfolio",
36
- ogImage: WebThumbnailImage
37
- };
38
- page.subscribe(p => {
39
- const pageData: OverridableMetaProps = p.data;
40
- data.title = pageData.title ?? title;
41
- data.ogUrl = `${rootUrl}${p.url.pathname}`;
42
- data.ogTitle = pageData.ogTitle ?? ogTitle;
43
- data.ogDescription = pageData.ogDescription ?? ogDescription;
44
- data.ogImage = pageData.ogImage ?? ogImage;
45
- });
46
- </script>
47
-
48
- <svelte:head>
49
- <meta charset="utf-8" />
50
- <title>{data.title}</title>
51
- <meta name="twitter:card" content="summary" />
52
- <meta property="og:url" content={data.ogUrl} />
53
- <meta property="og:title" content={data.ogTitle} />
54
- <meta property="og:description" content={data.ogDescription} />
55
- <meta property="og:image" content={data.ogImage} />
56
- </svelte:head>
1
+ <!--
2
+ OverridableMeta is convenient Svelte component allowing each page to override the head meta values
3
+ based on their +page.ts.
4
+
5
+ For example:
6
+ <code>
7
+ // +page.ts
8
+
9
+ import type { OverridableMetaProps } from "$pkg";
10
+
11
+ export const load = async (): Promise<OverridableMetaProps> => {
12
+ return {
13
+ title: "CustomTitle",
14
+ };
15
+ };
16
+ </code>
17
+ -->
18
+
19
+ <script lang="ts">
20
+ import WebThumbnailImage from "$pkg/assets/placeholder/placeholder_circle.png";
21
+
22
+ export let rootUrl = "http://localhost:5173";
23
+ export let title = "Welcome to my portfolio";
24
+ export let ogTitle = "Turnip time!";
25
+ export let ogDescription = "Welcome to Turnip's test portfolio";
26
+ export let ogImage = WebThumbnailImage;
27
+
28
+ import { page } from "$app/stores";
29
+ import type { OverridableMetaProps } from "./OverridableMetaProps";
30
+
31
+ const data: OverridableMetaProps = {
32
+ title: "Welcome to my portfolio",
33
+ ogUrl: "https://www.crouton.net/",
34
+ ogTitle: "Turnip time!",
35
+ ogDescription: "Welcome to Turnip's test portfolio",
36
+ ogImage: WebThumbnailImage
37
+ };
38
+ page.subscribe(p => {
39
+ const pageData: OverridableMetaProps = p.data;
40
+ data.title = pageData.title ?? title;
41
+ data.ogUrl = `${rootUrl}${p.url.pathname}`;
42
+ data.ogTitle = pageData.ogTitle ?? ogTitle;
43
+ data.ogDescription = pageData.ogDescription ?? ogDescription;
44
+ data.ogImage = pageData.ogImage ?? ogImage;
45
+ });
46
+ </script>
47
+
48
+ <svelte:head>
49
+ <meta charset="utf-8" />
50
+ <title>{data.title}</title>
51
+ <meta name="twitter:card" content="summary" />
52
+ <meta property="og:url" content={data.ogUrl} />
53
+ <meta property="og:title" content={data.ogTitle} />
54
+ <meta property="og:description" content={data.ogDescription} />
55
+ <meta property="og:image" content={data.ogImage} />
56
+ </svelte:head>
@@ -1,7 +1,7 @@
1
- export interface OverridableMetaProps {
2
- title?: string;
3
- ogUrl?: string;
4
- ogTitle?: string;
5
- ogDescription?: string;
6
- ogImage?: string;
7
- }
1
+ export interface OverridableMetaProps {
2
+ title?: string;
3
+ ogUrl?: string;
4
+ ogTitle?: string;
5
+ ogDescription?: string;
6
+ ogImage?: string;
7
+ }
@@ -1,4 +1,4 @@
1
- // noinspection JSUnusedGlobalSymbols
2
-
3
- export { default as OverridableMeta } from "./OverridableMeta.svelte";
4
- export * from "./OverridableMetaProps";
1
+ // noinspection JSUnusedGlobalSymbols
2
+
3
+ export { default as OverridableMeta } from "./OverridableMeta.svelte";
4
+ export * from "./OverridableMetaProps";
@@ -17,7 +17,7 @@
17
17
  import CloseIcon from "$pkg/assets/icons/close.svg";
18
18
  import { dialogManager, enableDialogueOverlay } from "$pkg/components/dialog_manager/DialogManagerStore";
19
19
  import Toast from "$pkg/components/pineapple/toast/Toast.svelte";
20
- import DialogOverlay from "$pkg/components/DialogOverlay.svelte";
20
+ import DialogOverlay from "$pkg/components/dialog_overlay/DialogOverlay.svelte";
21
21
  import { fade } from "svelte/transition";
22
22
  // todo: clean up all these imports!
23
23
 
package/src/lib/index.ts CHANGED
@@ -5,12 +5,10 @@ export { default as SeaweedTemplate } from "./template/Seaweed/SeaweedTemplate.s
5
5
  export { default as LazyAsset } from "./components/LazyAsset.svelte";
6
6
  export { default as Card } from "./components/Card.svelte";
7
7
 
8
- export * from "./components/overrideable_meta/index.ts";
8
+ export * from "$pkg/components/overrideable_meta/index";
9
9
  export * from "./components/dialog_manager/DialogManagerStore";
10
10
  export * from "./components/dialog_manager/DialogManager";
11
11
  export * from "./components/dialog_manager/DialogUtils";
12
12
  export * from "./types/pineapple_fiber/PortraitType";
13
13
  export * from "./types/pineapple_fiber/DialogDetail";
14
14
  export * from "./util/util";
15
- export { mulberry32Generator } from "$pkg/util/util";
16
- export { generatedDailySeed } from "$pkg/util/util";
@@ -1,8 +1,8 @@
1
- import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
-
3
- export const load = async (): Promise<OverridableMetaProps> => {
4
- return {
5
- title: "Pineapple",
6
- ogTitle: "Pineapple"
7
- };
8
- };
1
+ import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
+
3
+ export const load = async (): Promise<OverridableMetaProps> => {
4
+ return {
5
+ title: "Pineapple",
6
+ ogTitle: "Pineapple"
7
+ };
8
+ };
@@ -1,8 +1,8 @@
1
- import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
-
3
- export const load = async (): Promise<OverridableMetaProps> => {
4
- return {
5
- title: "Niko",
6
- ogTitle: "Niko"
7
- };
8
- };
1
+ import type { OverridableMetaProps } from "$pkg/components/overrideable_meta/OverridableMetaProps";
2
+
3
+ export const load = async (): Promise<OverridableMetaProps> => {
4
+ return {
5
+ title: "Niko",
6
+ ogTitle: "Niko"
7
+ };
8
+ };