@turnipxenon/pineapple 5.0.0-alpha.11 → 5.0.0-alpha.13

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.
@@ -76,88 +76,6 @@ a.external-link {
76
76
  }
77
77
  }
78
78
 
79
- /*https://shiki.style/guide/dual-themes*/
80
- html.dark .shiki,
81
- html.dark .shiki span {
82
- color: var(--shiki-dark) !important;
83
- background-color: var(--shiki-dark-bg) !important;
84
- /* Optional, if you also want font styles */
85
- font-style: var(--shiki-dark-font-style) !important;
86
- font-weight: var(--shiki-dark-font-weight) !important;
87
- text-decoration: var(--shiki-dark-text-decoration) !important;
88
- }
89
-
90
- .inline-code {
91
- background-color: aliceblue;
92
- padding: 0.2rem;
93
- border-radius: 0.2rem;
94
- }
95
-
96
- html.dark .inline-code {
97
- background-color: #303446;
98
- }
99
-
100
- .shiki {
101
- span {
102
- white-space: pre-wrap;
103
- word-wrap: break-word;
104
- }
105
- }
106
-
107
- /* region shiki copy button */
108
- pre:has(code) {
109
- position: relative;
110
- }
111
-
112
- pre button.copy {
113
- position: absolute;
114
- right: 16px;
115
- top: 16px;
116
- height: 28px;
117
- width: 28px;
118
- padding: 0;
119
- display: flex;
120
-
121
- & span {
122
- width: 100%;
123
- aspect-ratio: 1 / 1;
124
- background-repeat: no-repeat;
125
- background-position: center;
126
- background-size: cover;
127
- }
128
-
129
- & .ready {
130
- background-image: url("$pkg/assets/icons/icon-copy-light-contrast.svg");
131
- /*todo*/
132
- /*@variant dark {*/
133
- /* background-image: url("$pkg/assets/icons/icon-copy-dark-contrast.svg");*/
134
- /*}*/
135
- }
136
-
137
- & .success {
138
- display: none;
139
- background-image: url("$pkg/assets/icons/icon-check-light-contrast.svg");
140
-
141
- /*todo: migration*/
142
- /*@variant dark {*/
143
- /* background-image: url("$pkg/assets/icons/icon-check-dark-contrast.svg");*/
144
- /*}*/
145
- }
146
-
147
- &.copied {
148
- & .success {
149
- display: block;
150
- }
151
-
152
- & .ready {
153
- display: none;
154
- }
155
- }
156
- }
157
-
158
- /* endregion shiki copy button */
159
-
160
-
161
79
  ul + h2, ol + h2 {
162
80
  margin-top: 1rlh;
163
81
  }
@@ -536,9 +536,6 @@
536
536
  .ig-textarea::placeholder {
537
537
  color:var(--color-surface-700-300)
538
538
  }
539
- ::selection {
540
- background-color:#73737380
541
- }
542
539
  :disabled,
543
540
  .disabled {
544
541
  opacity:.5
@@ -2715,15 +2712,6 @@ a.external-link {
2715
2712
  #toast-progress::-moz-progress-bar {
2716
2713
  background:rgba(var(--color-secondary-500))
2717
2714
  }
2718
- html.dark .shiki,
2719
- html.dark .shiki span {
2720
- color:var(--shiki-dark)!important;
2721
- background-color:var(--shiki-dark-bg)!important;
2722
- font-style:var(--shiki-dark-font-style)!important;
2723
- font-weight:var(--shiki-dark-font-weight)!important;
2724
- -webkit-text-decoration:var(--shiki-dark-text-decoration)!important;
2725
- text-decoration:var(--shiki-dark-text-decoration)!important
2726
- }
2727
2715
  .inline-code {
2728
2716
  background-color:#f0f8ff;
2729
2717
  border-radius:.2rem;
@@ -1,23 +1,25 @@
1
1
  <!-- @component Code Block based on: https://shiki.style/ and https://www.skeleton.dev/docs/integrations/code-block/svelte/ -->
2
2
 
3
3
  <script module lang="ts">
4
+ import { transformerNotationDiff } from "@shikijs/transformers";
4
5
  import { addCopyButton } from "shiki-transformer-copy-button";
5
6
  import { createHighlighterCoreSync } from "shiki/core";
6
7
  import { createJavaScriptRegexEngine } from "shiki/engine/javascript";
7
- // Themes
8
- // https://shiki.style/themes
9
- import themeLight from "shiki/themes/catppuccin-latte.mjs";
10
- import themeDark from "shiki/themes/catppuccin-frappe.mjs";
11
8
  // Languages
12
9
  // https://shiki.style/languages
13
- import console from "shiki/langs/console.mjs";
14
- import html from "shiki/langs/html.mjs";
10
+ import shikiConsole from "shiki/langs/console.mjs";
15
11
  import css from "shiki/langs/css.mjs";
12
+ import html from "shiki/langs/html.mjs";
16
13
  import js from "shiki/langs/javascript.mjs";
17
- import ts from "shiki/langs/typescript.mjs";
14
+ import json from "shiki/langs/json.mjs";
18
15
  import markdown from "shiki/langs/markdown.mjs";
19
- import xml from "shiki/langs/xml.mjs";
20
16
  import svelte from "shiki/langs/svelte.mjs";
17
+ import ts from "shiki/langs/typescript.mjs";
18
+ import xml from "shiki/langs/xml.mjs";
19
+ // Themes
20
+ // https://shiki.style/themes
21
+ import themeDark from "shiki/themes/catppuccin-frappe.mjs";
22
+ import themeLight from "shiki/themes/catppuccin-latte.mjs";
21
23
 
22
24
  // https://shiki.style/guide/sync-usage
23
25
  const shiki = createHighlighterCoreSync({
@@ -25,11 +27,12 @@
25
27
  // Implement your import theme.
26
28
  themes: [themeLight, themeDark],
27
29
  // Implement your imported and supported languages.
28
- langs: [console, html, css, js, ts, markdown, xml, svelte]
30
+ langs: [shikiConsole, html, css, js, ts, markdown, xml, svelte, json]
29
31
  });
30
32
  </script>
31
33
 
32
34
  <script lang="ts">
35
+ import { onMount } from "svelte";
33
36
  import type { CodeBlockProps } from "./CodeBlockProps";
34
37
 
35
38
  let {
@@ -54,6 +57,7 @@
54
57
  dark: "catppuccin-frappe"
55
58
  },
56
59
  transformers: [
60
+ transformerNotationDiff(),
57
61
  addCopyButton({ toggle: 2000 })
58
62
  ]
59
63
  }));
@@ -67,13 +71,152 @@
67
71
  </div>
68
72
 
69
73
  <style>
70
- :global {
71
- .pinya-code-block {
72
- margin-bottom: 1rlh;
73
- }
74
-
75
- h2 + .pinya-code-block {
76
- margin-top: 0.5rlh;
77
- }
78
- }
74
+ :global {
75
+ .pinya-code-block {
76
+ margin-bottom: 1rlh;
77
+ }
78
+
79
+ /*https://shiki.style/guide/dual-themes*/
80
+
81
+ html.dark .shiki,
82
+ html.dark .shiki > span {
83
+ color: var(--shiki-dark);
84
+ background-color: var(--shiki-dark-bg);
85
+ /* Optional, if you also want font styles */
86
+ font-style: var(--shiki-dark-font-style);
87
+ font-weight: var(--shiki-dark-font-weight);
88
+ text-decoration: var(--shiki-dark-text-decoration);
89
+ }
90
+
91
+
92
+ html.dark .shiki {
93
+ color: var(--shiki-dark) !important;
94
+ background-color: var(--shiki-dark-bg) !important;
95
+ font-style: var(--shiki-dark-font-style) !important;
96
+ font-weight: var(--shiki-dark-font-weight) !important;
97
+ -webkit-text-decoration: var(--shiki-dark-text-decoration) !important;
98
+ text-decoration: var(--shiki-dark-text-decoration) !important
99
+ }
100
+
101
+ html.dark .shiki.has-diff span.diff.add {
102
+ background-color: rgba(0, 255, 0, 0.05);
103
+ }
104
+
105
+ .inline-code {
106
+ background-color: aliceblue;
107
+ padding: 0.2rem;
108
+ border-radius: 0.2rem;
109
+ }
110
+
111
+ .shiki {
112
+ span {
113
+ white-space: pre-wrap;
114
+ word-wrap: break-word;
115
+ }
116
+
117
+ &.has-diff {
118
+ padding-inline-start: 0;
119
+ padding-inline-end: 0;
120
+
121
+ code {
122
+ display: flex;
123
+ flex-direction: column;
124
+ gap: 0.2lh;
125
+
126
+ & > span {
127
+ display: flex;
128
+ flex-wrap: wrap;
129
+ padding-inline-start: 2em;
130
+ padding-inline-end: 1em;
131
+ }
132
+ }
133
+
134
+ span.diff.remove {
135
+ background-color: rgba(255, 0, 0, 0.15);
136
+
137
+ &::before {
138
+ display: block;
139
+ position: absolute;
140
+ content: "-";
141
+ margin-inline-start: calc((var(--spacing) * -4) - 2em);
142
+ padding-inline-start: 1.75em;
143
+ font-weight: bold;
144
+ pointer-events: none;
145
+ }
146
+ }
147
+
148
+ span.diff.add {
149
+ background-color: rgba(0, 255, 0, 0.15);
150
+
151
+ &::before {
152
+ display: block;
153
+ position: absolute;
154
+ content: "+";
155
+ margin-inline-start: calc((var(--spacing) * -4) - 2em);
156
+ padding-inline-start: 1.75em;
157
+ font-weight: bold;
158
+ pointer-events: none;
159
+ }
160
+ }
161
+ }
162
+ }
163
+
164
+ /* region shiki copy button */
165
+
166
+ pre:has(code) {
167
+ position: relative;
168
+ }
169
+
170
+ pre button.copy {
171
+ position: absolute;
172
+ right: 16px;
173
+ top: 16px;
174
+ height: 28px;
175
+ width: 28px;
176
+ padding: 0;
177
+ display: flex;
178
+
179
+ & span {
180
+ width: 100%;
181
+ aspect-ratio: 1 / 1;
182
+ background-repeat: no-repeat;
183
+ background-position: center;
184
+ background-size: cover;
185
+ }
186
+
187
+ & .ready {
188
+ background-image: url("$pkg/assets/icons/icon-copy-light-contrast.svg");
189
+ /*todo*/
190
+ /*@variant dark {*/
191
+ /* background-image: url("$pkg/assets/icons/icon-copy-dark-contrast.svg");*/
192
+ /*}*/
193
+ }
194
+
195
+ & .success {
196
+ display: none;
197
+ background-image: url("$pkg/assets/icons/icon-check-light-contrast.svg");
198
+
199
+ /*todo: migration*/
200
+ /*@variant dark {*/
201
+ /* background-image: url("$pkg/assets/icons/icon-check-dark-contrast.svg");*/
202
+ /*}*/
203
+ }
204
+
205
+ &.copied {
206
+ & .success {
207
+ display: block;
208
+ }
209
+
210
+ & .ready {
211
+ display: none;
212
+ }
213
+ }
214
+ }
215
+
216
+ /* endregion shiki copy button */
217
+
218
+ h2 + .pinya-code-block {
219
+ margin-top: 0.5rlh;
220
+ }
221
+ }
79
222
  </style>
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlock.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/elements/CodeBlock/CodeBlock.svelte.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA6CvD,kHAAkH;AAClH,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"CodeBlock.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/elements/CodeBlock/CodeBlock.svelte.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AA+CvD,kHAAkH;AAClH,QAAA,MAAM,SAAS,oDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -132,6 +132,10 @@
132
132
 
133
133
  <style>
134
134
  :global {
135
+ .hidden {
136
+ opacity: 0;
137
+ }
138
+
135
139
  #header-action-wrapper {
136
140
  max-height: 2rem;
137
141
  display: flex;
@@ -12,13 +12,14 @@
12
12
  import "../../../styles/app.css";
13
13
  import { onMount, type Snippet } from "svelte";
14
14
  import { Modals } from "svelte-modals";
15
+ import { getParsnipDataRemote } from "../../../../routes/(pineapple)/pineapple/getParsnipData.remote";
15
16
 
16
17
  let { children, fileList = {}, jsonList = {}, parsnipBasePath = "/pineapple" }
17
18
  : {
18
19
  children: Snippet,
19
- fileList: Record<string, () => Promise<unknown>>,
20
- jsonList: Record<string, unknown>,
21
- parsnipBasePath: string
20
+ fileList?: Record<string, () => Promise<unknown>>,
21
+ jsonList?: Record<string, unknown>,
22
+ parsnipBasePath?: string
22
23
  } = $props();
23
24
 
24
25
  // https://github.com/sveltejs/kit/issues/1540#issuecomment-2029016082
@@ -46,7 +47,7 @@
46
47
  setSiteLayout(fileBasedList);
47
48
 
48
49
  onMount(() => {
49
- menuPageServerLoad().then(data => {
50
+ getParsnipDataRemote().then(data => {
50
51
  fileBasedList.push(...parsePageMetaNested({
51
52
  fileList,
52
53
  jsonList,
@@ -3,9 +3,9 @@ import "../../../styles/app.css";
3
3
  import { type Snippet } from "svelte";
4
4
  type $$ComponentProps = {
5
5
  children: Snippet;
6
- fileList: Record<string, () => Promise<unknown>>;
7
- jsonList: Record<string, unknown>;
8
- parsnipBasePath: string;
6
+ fileList?: Record<string, () => Promise<unknown>>;
7
+ jsonList?: Record<string, unknown>;
8
+ parsnipBasePath?: string;
9
9
  };
10
10
  declare const PinyaBase: import("svelte").Component<$$ComponentProps, {}, "">;
11
11
  type PinyaBase = ReturnType<typeof PinyaBase>;
@@ -1 +1 @@
1
- {"version":3,"file":"PinyaBase.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/pinya-base/PinyaBase.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,wBAAwB,CAAC;AAMhC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAG9C,KAAK,gBAAgB,GAAI;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IACjD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,eAAe,EAAE,MAAM,CAAA;CACvB,CAAC;AAmGH,QAAA,MAAM,SAAS,sDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"PinyaBase.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/pinya-base/PinyaBase.svelte.ts"],"names":[],"mappings":"AAOA,OAAO,wBAAwB,CAAC;AAMhC,OAAO,qBAAqB,CAAC;AAC7B,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,QAAQ,CAAC;AAI9C,KAAK,gBAAgB,GAAI;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAA;CACxB,CAAC;AAoGH,QAAA,MAAM,SAAS,sDAAwC,CAAC;AACxD,KAAK,SAAS,GAAG,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;AAC9C,eAAe,SAAS,CAAC"}
@@ -0,0 +1 @@
1
+ export const menuPageServerLoadRemote =
@@ -0,0 +1,27 @@
1
+ export default MenuPageServerLoadRemote;
2
+ type MenuPageServerLoadRemote = SvelteComponent<{
3
+ [x: string]: never;
4
+ }, {
5
+ [evt: string]: CustomEvent<any>;
6
+ }, {}> & {
7
+ $$bindings?: string | undefined;
8
+ };
9
+ declare const MenuPageServerLoadRemote: $$__sveltets_2_IsomorphicComponent<{
10
+ [x: string]: never;
11
+ }, {
12
+ [evt: string]: CustomEvent<any>;
13
+ }, {}, {}, string>;
14
+ interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
15
+ new (options: import("svelte").ComponentConstructorOptions<Props>): import("svelte").SvelteComponent<Props, Events, Slots> & {
16
+ $$bindings?: Bindings;
17
+ } & Exports;
18
+ (internal: unknown, props: {
19
+ $$events?: Events;
20
+ $$slots?: Slots;
21
+ }): Exports & {
22
+ $set?: any;
23
+ $on?: any;
24
+ };
25
+ z_$$bindings?: Bindings;
26
+ }
27
+ //# sourceMappingURL=menuPageServerLoadRemote.remote.svelte.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuPageServerLoadRemote.remote.svelte.d.ts","sourceRoot":"","sources":["../../../../src/lib/ui/templates/pinya-base/menuPageServerLoadRemote.remote.svelte.js"],"names":[],"mappings":";;;;;;;;AAeA;;;;mBAAoI;6CATvF,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,KAAK,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,OAAO,OAAO,QAAQ;IAC3L,cAAc,OAAO,QAAQ,EAAE,2BAA2B,CAAC,KAAK,CAAC,GAAG,OAAO,QAAQ,EAAE,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,GAAG;QAAE,UAAU,CAAC,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC;IACjK,WAAW,OAAO,SAAS;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,KAAK,CAAA;KAAC,GAAG,OAAO,GAAG;QAAE,IAAI,CAAC,EAAE,GAAG,CAAC;QAAC,GAAG,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC;IACtG,eAAe,QAAQ,CAAC"}
@@ -1,7 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { enableUniversalOverlaySvelte4 } from "../..";
3
3
  import {
4
- getIgnoreOverlayOverride,
5
4
  setEnableDialogOverlayContext,
6
5
  setEnableDialogPreferenceContext,
7
6
  setEnablePortraitContext,
@@ -36,12 +35,12 @@
36
35
 
37
36
  let enableDialog = $state({ value: enableDialogPrefStore.value });
38
37
  setEnableDialogOverlayContext(enableDialog);
39
- setIgnoreOverlayOverride(true);
40
- let ignoreOverlaySet = getIgnoreOverlayOverride();
38
+ let ignoreOverlaySet = $state({ value: true });
39
+ setIgnoreOverlayOverride(ignoreOverlaySet);
41
40
  onMount(() => {
42
41
  enableUniversalOverlaySvelte4.subscribe((value) => {
43
- if (ignoreOverlaySet) {
44
- ignoreOverlaySet = false;
42
+ if (ignoreOverlaySet.value) {
43
+ ignoreOverlaySet.value = false;
45
44
  // force initial value?
46
45
  enableUniversalOverlaySvelte4.set(enableDialogPrefStore.value);
47
46
  enableDialog.value = enableDialogPrefStore.value;
@@ -1 +1 @@
1
- {"version":3,"file":"PineappleBaseContext.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/util/context/PineappleBaseContext.svelte.ts"],"names":[],"mappings":"AAoEA,QAAA,MAAM,oBAAoB;cAjD8B,GAAG;UAiDO,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"PineappleBaseContext.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/util/context/PineappleBaseContext.svelte.ts"],"names":[],"mappings":"AAmEA,QAAA,MAAM,oBAAoB;cAjD8B,GAAG;UAiDO,CAAC;AACnE,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACpE,eAAe,oBAAoB,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { OverlayType, PageMeta } from "../..";
1
+ import { type OverlayType, type PageMeta } from "../..";
2
2
  import { type LocalStore } from "../localStore.svelte";
3
3
  export declare const getEnablePortraitContext: () => LocalStore<boolean>, setEnablePortraitContext: (context: LocalStore<boolean>) => LocalStore<boolean>;
4
4
  export declare const getEnableDialogPreferenceContext: () => LocalStore<boolean>, setEnableDialogPreferenceContext: (context: LocalStore<boolean>) => LocalStore<boolean>;
@@ -10,6 +10,20 @@ export declare const getEnableDialogOverlayContext: () => {
10
10
  value: boolean;
11
11
  };
12
12
  export declare const getOverlayTypeContext: () => LocalStore<OverlayType>, setOverlayTypeContext: (context: LocalStore<OverlayType>) => LocalStore<OverlayType>;
13
- export declare const getIgnoreOverlayOverride: () => boolean, setIgnoreOverlayOverride: (context: boolean) => boolean;
13
+ export declare const getIgnoreOverlayOverride: () => {
14
+ value: boolean;
15
+ }, setIgnoreOverlayOverride: (context: {
16
+ value: boolean;
17
+ }) => {
18
+ value: boolean;
19
+ };
14
20
  export declare const getSiteLayout: () => PageMeta[], setSiteLayout: (context: PageMeta[]) => PageMeta[];
21
+ /**
22
+ * useful for on-start dialog appearance
23
+ *
24
+ * use on onMount
25
+ *
26
+ * @param value
27
+ */
28
+ export declare const forceSetDialog: (value: boolean) => void;
15
29
  //# sourceMappingURL=pineappleBaseContextDefinitions.svelte.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pineappleBaseContextDefinitions.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/util/context/pineappleBaseContextDefinitions.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AAClD,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAO,wBAAwB,6BAAE,wBAAwB,uDAAwC,CAAC;AACzG,eAAO,MAAO,gCAAgC,6BAAE,gCAAgC,uDAAwC,CAAC;AAIzH,eAAO,MAAO,6BAA6B;WAAyD,OAAO;GAA9D,6BAA6B;WAA0B,OAAO;;WAAP,OAAO;CAAI,CAAC;AAEhH,eAAO,MAAO,qBAAqB,iCAAE,qBAAqB,+DAA4C,CAAC;AACvG,eAAO,MAAO,wBAAwB,iBAAE,wBAAwB,+BAA4B,CAAC;AAC7F,eAAO,MAAO,aAAa,oBAAE,aAAa,qCAA+B,CAAC"}
1
+ {"version":3,"file":"pineappleBaseContextDefinitions.svelte.d.ts","sourceRoot":"","sources":["../../../src/lib/util/context/pineappleBaseContextDefinitions.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC;AACtF,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAG9D,eAAO,MAAO,wBAAwB,6BAAE,wBAAwB,uDAAwC,CAAC;AACzG,eAAO,MAAO,gCAAgC,6BAAE,gCAAgC,uDAAwC,CAAC;AAIzH,eAAO,MAAO,6BAA6B;WAAyD,OAAO;GAA9D,6BAA6B;WAA0B,OAAO;;WAAP,OAAO;CAAI,CAAC;AAEhH,eAAO,MAAO,qBAAqB,iCAAE,qBAAqB,+DAA4C,CAAC;AACvG,eAAO,MAAO,wBAAwB;WAAqD,OAAO;GAA1D,wBAAwB;WAA2B,OAAO;;WAAP,OAAO;CAAK,CAAC;AACxG,eAAO,MAAO,aAAa,oBAAE,aAAa,qCAA+B,CAAC;AAE1E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,OAAO,SAI5C,CAAA"}
@@ -1,3 +1,4 @@
1
+ import { enableUniversalOverlaySvelte4 } from "../..";
1
2
  import {} from "../localStore.svelte";
2
3
  import { createContext } from "svelte";
3
4
  export const [getEnablePortraitContext, setEnablePortraitContext] = createContext();
@@ -8,3 +9,15 @@ export const [getEnableDialogOverlayContext, setEnableDialogOverlayContext] = cr
8
9
  export const [getOverlayTypeContext, setOverlayTypeContext] = createContext();
9
10
  export const [getIgnoreOverlayOverride, setIgnoreOverlayOverride] = createContext();
10
11
  export const [getSiteLayout, setSiteLayout] = createContext();
12
+ /**
13
+ * useful for on-start dialog appearance
14
+ *
15
+ * use on onMount
16
+ *
17
+ * @param value
18
+ */
19
+ export const forceSetDialog = (value) => {
20
+ const ignoreOverride = getIgnoreOverlayOverride();
21
+ ignoreOverride.value = false;
22
+ enableUniversalOverlaySvelte4.set(value);
23
+ };
package/package.json CHANGED
@@ -1,17 +1,21 @@
1
1
  {
2
2
  "name": "@turnipxenon/pineapple",
3
3
  "description": "personal package for base styling for other personal projects",
4
- "version": "5.0.0-alpha.11",
4
+ "version": "5.0.0-alpha.13",
5
5
  "devDependencies": {
6
6
  "@commitlint/cli": "^19.8.1",
7
7
  "@commitlint/config-conventional": "^19.8.1",
8
8
  "@eslint/compat": "^1.4.1",
9
9
  "@eslint/js": "^9.39.2",
10
+ "@inlang/paraglide-js": "~2.4.0",
11
+ "@prisma/client": "^5.22.0",
10
12
  "@sveltejs/adapter-cloudflare": "^7.2.6",
13
+ "@sveltejs/kit": "2.49.5",
11
14
  "@sveltejs/package": "^2.5.7",
15
+ "@sveltejs/vite-plugin-svelte": "^6.2.4",
12
16
  "@types/htmlparser2": "^3.10.7",
13
17
  "@types/mdast": "^4.0.4",
14
- "@types/node": "^20.19.30",
18
+ "@types/node": "^20.19.31",
15
19
  "eslint": "^9.39.2",
16
20
  "eslint-config-prettier": "^10.1.8",
17
21
  "eslint-plugin-svelte": "^3.14.0",
@@ -29,25 +33,22 @@
29
33
  "publint": "^0.2.12",
30
34
  "sass": "^1.97.3",
31
35
  "string-width": "^7.2.0",
32
- "svelte": "^5.49.1",
36
+ "svelte": "^5.49.2",
33
37
  "svelte-check": "^4.3.6",
34
38
  "svelte2tsx": "^0.7.47",
35
39
  "ts-node": "^10.9.2",
36
40
  "tslib": "^2.8.1",
37
41
  "typescript": "^5.9.3",
38
42
  "typescript-eslint": "^8.54.0",
39
- "@sveltejs/vite-plugin-svelte": "^6.2.4",
40
43
  "vite": "^7.3.1",
41
- "wrangler": "4.59.1",
42
- "@sveltejs/kit": "2.49.5",
43
- "@inlang/paraglide-js": "~2.4.0",
44
- "@prisma/client": "^5.22.0"
44
+ "wrangler": "4.59.1"
45
45
  },
46
46
  "dependencies": {
47
47
  "melt": "^0.44.0",
48
48
  "mode-watcher": "^0.5.1",
49
49
  "shiki": "^3.22.0",
50
50
  "shiki-transformer-copy-button": "0.0.3",
51
+ "@shikijs/transformers": "^3.22.0",
51
52
  "svelte-modals": "^2.0.1"
52
53
  },
53
54
  "peerDependencies": {
@@ -76,88 +76,6 @@ a.external-link {
76
76
  }
77
77
  }
78
78
 
79
- /*https://shiki.style/guide/dual-themes*/
80
- html.dark .shiki,
81
- html.dark .shiki span {
82
- color: var(--shiki-dark) !important;
83
- background-color: var(--shiki-dark-bg) !important;
84
- /* Optional, if you also want font styles */
85
- font-style: var(--shiki-dark-font-style) !important;
86
- font-weight: var(--shiki-dark-font-weight) !important;
87
- text-decoration: var(--shiki-dark-text-decoration) !important;
88
- }
89
-
90
- .inline-code {
91
- background-color: aliceblue;
92
- padding: 0.2rem;
93
- border-radius: 0.2rem;
94
- }
95
-
96
- html.dark .inline-code {
97
- background-color: #303446;
98
- }
99
-
100
- .shiki {
101
- span {
102
- white-space: pre-wrap;
103
- word-wrap: break-word;
104
- }
105
- }
106
-
107
- /* region shiki copy button */
108
- pre:has(code) {
109
- position: relative;
110
- }
111
-
112
- pre button.copy {
113
- position: absolute;
114
- right: 16px;
115
- top: 16px;
116
- height: 28px;
117
- width: 28px;
118
- padding: 0;
119
- display: flex;
120
-
121
- & span {
122
- width: 100%;
123
- aspect-ratio: 1 / 1;
124
- background-repeat: no-repeat;
125
- background-position: center;
126
- background-size: cover;
127
- }
128
-
129
- & .ready {
130
- background-image: url("$pkg/assets/icons/icon-copy-light-contrast.svg");
131
- /*todo*/
132
- /*@variant dark {*/
133
- /* background-image: url("$pkg/assets/icons/icon-copy-dark-contrast.svg");*/
134
- /*}*/
135
- }
136
-
137
- & .success {
138
- display: none;
139
- background-image: url("$pkg/assets/icons/icon-check-light-contrast.svg");
140
-
141
- /*todo: migration*/
142
- /*@variant dark {*/
143
- /* background-image: url("$pkg/assets/icons/icon-check-dark-contrast.svg");*/
144
- /*}*/
145
- }
146
-
147
- &.copied {
148
- & .success {
149
- display: block;
150
- }
151
-
152
- & .ready {
153
- display: none;
154
- }
155
- }
156
- }
157
-
158
- /* endregion shiki copy button */
159
-
160
-
161
79
  ul + h2, ol + h2 {
162
80
  margin-top: 1rlh;
163
81
  }