@turnipxenon/pineapple 2.10.0 → 3.0.0-alpha.1

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 (171) hide show
  1. package/dist/assets/icons/icon-contrast.svg +1 -0
  2. package/dist/assets/icons/icon-dark-mode.svg +1 -0
  3. package/dist/assets/icons/icon-light-mode.svg +1 -0
  4. package/dist/assets/icons/icon-settings.svg +1 -0
  5. package/dist/components/Card.svelte +43 -41
  6. package/dist/components/Card.svelte.d.ts +11 -24
  7. package/dist/components/CarouselElement.svelte +15 -8
  8. package/dist/components/CarouselElement.svelte.d.ts +7 -18
  9. package/dist/components/ElementVisbilityDetector.svelte +23 -14
  10. package/dist/components/ElementVisbilityDetector.svelte.d.ts +6 -17
  11. package/dist/components/LazyAsset.svelte +93 -65
  12. package/dist/components/LazyAsset.svelte.d.ts +9 -19
  13. package/dist/components/PineappleSlideToggle.svelte +19 -7
  14. package/dist/components/PineappleSlideToggle.svelte.d.ts +8 -19
  15. package/dist/components/RandomizedBackground.svelte +46 -27
  16. package/dist/components/RandomizedBackground.svelte.d.ts +5 -15
  17. package/dist/components/RandomizedImage.svelte +15 -8
  18. package/dist/components/RandomizedImage.svelte.d.ts +6 -16
  19. package/dist/components/StickyElement.svelte +25 -16
  20. package/dist/components/StickyElement.svelte.d.ts +6 -17
  21. package/dist/components/ToggleableContent.svelte +88 -59
  22. package/dist/components/ToggleableContent.svelte.d.ts +6 -17
  23. package/dist/components/blog_template/BlogTemplate.svelte +45 -25
  24. package/dist/components/blog_template/BlogTemplate.svelte.d.ts +9 -20
  25. package/dist/components/blog_template/BlogTemplateInner.svelte +11 -3
  26. package/dist/components/blog_template/BlogTemplateInner.svelte.d.ts +6 -17
  27. package/dist/components/chip/Chip.svelte +33 -57
  28. package/dist/components/chip/Chip.svelte.d.ts +7 -18
  29. package/dist/components/combo_box/ComboBox.svelte +10 -4
  30. package/dist/components/combo_box/ComboBox.svelte.d.ts +6 -16
  31. package/dist/components/combo_box/ComboBoxWithButton.svelte +16 -9
  32. package/dist/components/combo_box/ComboBoxWithButton.svelte.d.ts +7 -17
  33. package/dist/components/combo_box/combo-box.postcss +2 -2
  34. package/dist/components/dialog_manager/DialogManager.d.ts +0 -1
  35. package/dist/components/dialog_manager/DialogManagerStore.d.ts +0 -1
  36. package/dist/components/dialog_manager/DialogManagerStore.js +1 -1
  37. package/dist/components/dialog_overlay/DialogOverlay.svelte +42 -34
  38. package/dist/components/dialog_overlay/DialogOverlay.svelte.d.ts +3 -14
  39. package/dist/components/index.d.ts +1 -1
  40. package/dist/components/index.js +1 -1
  41. package/dist/components/layouts/SeaweedBaseLayout.svelte +80 -43
  42. package/dist/components/layouts/SeaweedBaseLayout.svelte.d.ts +8 -21
  43. package/dist/components/navigation_component/NavigationComponent.svelte +52 -141
  44. package/dist/components/navigation_component/NavigationComponent.svelte.d.ts +17 -26
  45. package/dist/components/navigation_component/NavigationControl.svelte +52 -103
  46. package/dist/components/navigation_component/NavigationControl.svelte.d.ts +7 -17
  47. package/dist/components/overrideable_meta/OverridableMeta.svelte +37 -22
  48. package/dist/components/overrideable_meta/OverridableMeta.svelte.d.ts +9 -19
  49. package/dist/components/pineapple/PineappleBaseLayout.svelte +132 -188
  50. package/dist/components/pineapple/PineappleBaseLayout.svelte.d.ts +6 -17
  51. package/dist/components/pineapple/toast/DefaultToastBody.svelte +14 -16
  52. package/dist/components/pineapple/toast/DefaultToastBody.svelte.d.ts +7 -17
  53. package/dist/components/pineapple/toast/Toast.d.ts +0 -1
  54. package/dist/components/pineapple/toast/Toast.svelte +92 -64
  55. package/dist/components/pineapple/toast/Toast.svelte.d.ts +3 -14
  56. package/dist/components/pineapple/toast/custom-toast/TestCustomToast.svelte.d.ts +22 -19
  57. package/dist/paraglide/messages/_index.d.ts +2 -0
  58. package/dist/paraglide/messages/_index.js +3 -0
  59. package/dist/paraglide/messages/example_message.d.ts +5 -0
  60. package/dist/paraglide/messages/example_message.js +39 -0
  61. package/dist/paraglide/messages/settings.d.ts +3 -0
  62. package/dist/paraglide/messages/settings.js +38 -0
  63. package/dist/paraglide/messages.d.ts +2 -0
  64. package/dist/paraglide/messages.js +4 -0
  65. package/dist/paraglide/registry.d.ts +21 -0
  66. package/dist/paraglide/registry.js +31 -0
  67. package/dist/paraglide/runtime.d.ts +400 -0
  68. package/dist/paraglide/runtime.js +1060 -0
  69. package/dist/paraglide/server.d.ts +64 -0
  70. package/dist/paraglide/server.js +161 -0
  71. package/dist/scripts/util/FileManagement.d.ts +1 -1
  72. package/dist/store.d.ts +0 -1
  73. package/dist/styles/app.css +53 -0
  74. package/dist/styles/turnip-theme.css +323 -0
  75. package/dist/template/seaweed/CreateUrlForm.svelte +50 -38
  76. package/dist/template/seaweed/CreateUrlForm.svelte.d.ts +5 -15
  77. package/dist/template/seaweed/SeaweedTemplate.svelte +244 -195
  78. package/dist/template/seaweed/SeaweedTemplate.svelte.d.ts +28 -25
  79. package/dist/template/seaweed/entries/ChefWings.svelte +37 -39
  80. package/dist/template/seaweed/entries/ChefWings.svelte.d.ts +5 -15
  81. package/dist/template/seaweed/entries/CustomizedYarnspinner.svelte +32 -24
  82. package/dist/template/seaweed/entries/CustomizedYarnspinner.svelte.d.ts +5 -15
  83. package/dist/template/seaweed/entries/Hepcat.svelte +58 -49
  84. package/dist/template/seaweed/entries/Hepcat.svelte.d.ts +5 -15
  85. package/dist/template/seaweed/entries/Pengi.svelte +51 -43
  86. package/dist/template/seaweed/entries/Pengi.svelte.d.ts +5 -15
  87. package/dist/template/seaweed/entries/Soulwork.svelte +44 -36
  88. package/dist/template/seaweed/entries/Soulwork.svelte.d.ts +5 -15
  89. package/dist/template/seaweed/entries/ThisWebpage.svelte +47 -38
  90. package/dist/template/seaweed/entries/ThisWebpage.svelte.d.ts +5 -15
  91. package/dist/template/seaweed/entries/WorkExperience.svelte +109 -92
  92. package/dist/template/seaweed/entries/WorkExperience.svelte.d.ts +6 -16
  93. package/dist/template/seaweed/entries/Workset.svelte +51 -42
  94. package/dist/template/seaweed/entries/Workset.svelte.d.ts +5 -15
  95. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte +136 -259
  96. package/dist/template/seaweed/entry_order_config/EntryOrderConfig.svelte.d.ts +10 -20
  97. package/dist/template/seaweed/seaweed.postcss +1 -9
  98. package/dist/{theme.postcss → theme.css} +1 -4
  99. package/dist/ui/components/FourPartCard.svelte +47 -0
  100. package/dist/ui/components/FourPartCard.svelte.d.ts +10 -0
  101. package/dist/ui/components/ModalBase.svelte +75 -0
  102. package/dist/ui/components/ModalBase.svelte.d.ts +8 -0
  103. package/dist/ui/components/SocialSection.svelte +87 -0
  104. package/dist/ui/components/SocialSection.svelte.d.ts +9 -0
  105. package/dist/ui/components/index.d.ts +3 -0
  106. package/dist/ui/components/index.js +3 -0
  107. package/dist/ui/components/randomized-background/RandomizedBackground.svelte +87 -0
  108. package/dist/ui/components/randomized-background/RandomizedBackground.svelte.d.ts +6 -0
  109. package/dist/ui/components/randomized-background/RandomizedImage.svelte +42 -0
  110. package/dist/ui/components/randomized-background/RandomizedImage.svelte.d.ts +7 -0
  111. package/dist/ui/elements/ColorScheme.d.ts +10 -0
  112. package/dist/ui/elements/ColorScheme.js +11 -0
  113. package/dist/ui/elements/GeneralUIProps.d.ts +12 -0
  114. package/dist/ui/elements/GeneralUIProps.js +1 -0
  115. package/dist/ui/elements/ImageIcon.svelte +54 -0
  116. package/dist/ui/elements/ImageIcon.svelte.d.ts +6 -0
  117. package/dist/ui/elements/OnBackground.d.ts +3 -0
  118. package/dist/ui/elements/OnBackground.js +4 -0
  119. package/dist/ui/elements/TextLink.svelte +17 -0
  120. package/dist/ui/elements/TextLink.svelte.d.ts +8 -0
  121. package/dist/ui/elements/WrapperProps.d.ts +4 -0
  122. package/dist/ui/elements/WrapperProps.js +1 -0
  123. package/dist/ui/elements/index.d.ts +8 -0
  124. package/dist/ui/elements/index.js +8 -0
  125. package/dist/ui/elements/pinya-button/component.svelte +47 -0
  126. package/dist/ui/elements/pinya-button/component.svelte.d.ts +4 -0
  127. package/dist/ui/elements/pinya-button/index.d.ts +2 -0
  128. package/dist/ui/elements/pinya-button/index.js +2 -0
  129. package/dist/ui/elements/pinya-button/props.d.ts +13 -0
  130. package/dist/ui/elements/pinya-button/props.js +6 -0
  131. package/dist/ui/elements/pinya-card/component.svelte +19 -0
  132. package/dist/ui/elements/pinya-card/component.svelte.d.ts +7 -0
  133. package/dist/ui/elements/pinya-card/index.d.ts +2 -0
  134. package/dist/ui/elements/pinya-card/index.js +2 -0
  135. package/dist/ui/elements/pinya-card/props.d.ts +7 -0
  136. package/dist/ui/elements/pinya-card/props.js +1 -0
  137. package/dist/ui/modules/index.d.ts +1 -0
  138. package/dist/ui/modules/index.js +1 -0
  139. package/dist/ui/modules/modals/general-settings/GeneralSettingsModal.svelte +110 -0
  140. package/dist/ui/modules/modals/general-settings/GeneralSettingsModal.svelte.d.ts +4 -0
  141. package/dist/ui/modules/modals/general-settings/LanguagePicker.svelte +48 -0
  142. package/dist/ui/modules/modals/general-settings/LanguagePicker.svelte.d.ts +3 -0
  143. package/dist/{template → ui/modules}/seaweed/ChumBucket.svelte +28 -28
  144. package/dist/ui/modules/seaweed/ChumBucket.svelte.d.ts +3 -0
  145. package/dist/ui/modules/seaweed/index.d.ts +3 -0
  146. package/dist/ui/modules/seaweed/index.js +4 -0
  147. package/dist/ui/templates/PinyaBase.svelte +45 -0
  148. package/dist/ui/templates/PinyaBase.svelte.d.ts +7 -0
  149. package/dist/ui/templates/confirmation-modal/component.svelte +47 -0
  150. package/dist/ui/templates/confirmation-modal/component.svelte.d.ts +4 -0
  151. package/dist/ui/templates/confirmation-modal/index.d.ts +2 -0
  152. package/dist/ui/templates/confirmation-modal/index.js +2 -0
  153. package/dist/ui/templates/confirmation-modal/props.d.ts +10 -0
  154. package/dist/ui/templates/confirmation-modal/props.js +1 -0
  155. package/dist/ui/templates/index.d.ts +3 -0
  156. package/dist/ui/templates/index.js +3 -0
  157. package/dist/ui/templates/pinya-page-layout/component.svelte +113 -0
  158. package/dist/ui/templates/pinya-page-layout/component.svelte.d.ts +8 -0
  159. package/dist/ui/templates/pinya-page-layout/index.d.ts +2 -0
  160. package/dist/ui/templates/pinya-page-layout/index.js +2 -0
  161. package/dist/ui/templates/pinya-page-layout/runes.svelte.d.ts +7 -0
  162. package/dist/ui/templates/pinya-page-layout/runes.svelte.js +3 -0
  163. package/package.json +36 -18
  164. package/src/lib/styles/app.css +53 -0
  165. package/src/lib/theme.css +114 -0
  166. package/dist/app.postcss +0 -212
  167. package/dist/components/SocialSection.svelte +0 -166
  168. package/dist/components/SocialSection.svelte.d.ts +0 -31
  169. package/dist/postcss.d.ts +0 -3
  170. package/dist/styles/DefaultGridContainer.css +0 -61
  171. package/dist/template/seaweed/ChumBucket.svelte.d.ts +0 -14
@@ -1,10 +1,15 @@
1
- <script>import { modeCurrent } from "@skeletonlabs/skeleton";
2
- export let src;
3
- export let rng;
4
- let rotateRandom = rng() * 90 - 45;
5
- const paddingLeft = 1 + rng() * 5;
6
- const paddingRight = 1 + rng() * 5;
7
- const paddingTop = 1 + rng() * 7;
1
+ <script lang="ts">
2
+ interface Props {
3
+ src: string;
4
+ rng: () => number;
5
+ }
6
+
7
+ let { src, rng }: Props = $props();
8
+ let rotateRandom = rng() * 90 - 45;
9
+
10
+ const paddingLeft = 1 + rng() * 5;
11
+ const paddingRight = 1 + rng() * 5;
12
+ const paddingTop = 1 + rng() * 7;
8
13
  </script>
9
14
 
10
15
  <div
@@ -15,7 +20,9 @@ const paddingTop = 1 + rng() * 7;
15
20
  aria-hidden="true"
16
21
  style="--rotateRandom:{rotateRandom}deg;"
17
22
  alt=""
18
- class:darkMode={modeCurrent} />
23
+ />
24
+ <!-- todo: migration -->
25
+ <!-- class:darkMode={modeCurrent} />-->
19
26
  </div>
20
27
 
21
28
  <style>
@@ -1,17 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- src: string;
5
- rng: () => number;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {};
11
- };
12
- export type RandomizedImageProps = typeof __propDef.props;
13
- export type RandomizedImageEvents = typeof __propDef.events;
14
- export type RandomizedImageSlots = typeof __propDef.slots;
15
- export default class RandomizedImage extends SvelteComponent<RandomizedImageProps, RandomizedImageEvents, RandomizedImageSlots> {
1
+ interface Props {
2
+ src: string;
3
+ rng: () => number;
16
4
  }
17
- export {};
5
+ declare const RandomizedImage: import("svelte").Component<Props, {}, "">;
6
+ type RandomizedImage = ReturnType<typeof RandomizedImage>;
7
+ export default RandomizedImage;
@@ -1,18 +1,27 @@
1
- <script>import { onMount } from "svelte";
2
- import { fly } from "svelte/transition";
3
- export let isFirst = false;
4
- let stickyElem;
5
- let isSticky = false;
6
- let observer;
7
- onMount(() => {
8
- observer = new IntersectionObserver(
9
- ([e]) => {
10
- isSticky = e.intersectionRatio < 1;
11
- },
12
- { threshold: [1] }
13
- );
14
- observer.observe(stickyElem);
15
- });
1
+ <script lang="ts">
2
+ import {onMount} from "svelte";
3
+ import {fly} from "svelte/transition";
4
+
5
+ interface Props {
6
+ isFirst?: boolean;
7
+ children?: import('svelte').Snippet;
8
+ }
9
+
10
+ let { isFirst = false, children }: Props = $props();
11
+
12
+ let stickyElem: HTMLElement = $state();
13
+ let isSticky = $state(false);
14
+
15
+ let observer: undefined | IntersectionObserver;
16
+ onMount(() => {
17
+ observer = new IntersectionObserver(
18
+ ([e]) => {
19
+ isSticky = e.intersectionRatio < 1;
20
+ },
21
+ {threshold: [1]}
22
+ );
23
+ observer.observe(stickyElem);
24
+ });
16
25
  </script>
17
26
 
18
27
  <span transition:fly={{y: -100}}>
@@ -24,7 +33,7 @@ onMount(() => {
24
33
  <br>
25
34
  {/if}
26
35
  <span class="sticky-div" bind:this={stickyElem}>
27
- <slot/>
36
+ {@render children?.()}
28
37
  </span>
29
38
  </span>
30
39
 
@@ -1,18 +1,7 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- isFirst?: boolean | undefined;
5
- };
6
- events: {
7
- [evt: string]: CustomEvent<any>;
8
- };
9
- slots: {
10
- default: {};
11
- };
12
- };
13
- export type StickyElementProps = typeof __propDef.props;
14
- export type StickyElementEvents = typeof __propDef.events;
15
- export type StickyElementSlots = typeof __propDef.slots;
16
- export default class StickyElement extends SvelteComponent<StickyElementProps, StickyElementEvents, StickyElementSlots> {
1
+ interface Props {
2
+ isFirst?: boolean;
3
+ children?: import('svelte').Snippet;
17
4
  }
18
- export {};
5
+ declare const StickyElement: import("svelte").Component<Props, {}, "">;
6
+ type StickyElement = ReturnType<typeof StickyElement>;
7
+ export default StickyElement;
@@ -1,66 +1,95 @@
1
- <script>import { ToggleableContentType } from "./ToggleableContentType";
2
- import { afterUpdate, onMount } from "svelte";
3
- export let toggle = ToggleableContentType.Default;
4
- var GibberishState = /* @__PURE__ */ ((GibberishState2) => {
5
- GibberishState2[GibberishState2["NonExistent"] = 0] = "NonExistent";
6
- GibberishState2[GibberishState2["CreatingParent"] = 1] = "CreatingParent";
7
- GibberishState2[GibberishState2["Binded"] = 2] = "Binded";
8
- return GibberishState2;
9
- })(GibberishState || {});
10
- let defaultSlot = void 0;
11
- let gibberishState = 0 /* NonExistent */;
12
- let gibberishParent;
13
- let gibberishSlot;
14
- const chaoticWordBank = ["niko", "toba", "seal", "aquarium", "ojisan", "baikal"];
15
- const turnToGibberish = (node) => {
16
- for (const childNodes of node.childNodes) {
17
- turnToGibberish(childNodes);
18
- }
19
- if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()) {
20
- const max = node.textContent.length;
21
- node.textContent = "";
22
- while (node.textContent.length < max) {
23
- node.textContent += chaoticWordBank[Math.floor(Math.random() * chaoticWordBank.length)] + " ";
24
- }
25
- }
26
- };
27
- const processDefaultSlot = (slot) => {
28
- if (!slot || toggle == ToggleableContentType.Default) {
29
- return;
30
- }
31
- turnToGibberish(slot);
32
- };
33
- const attachGibberish = (parent) => {
34
- console.log("Help");
35
- if (gibberishState !== 1 /* CreatingParent */ && parent !== void 0) {
36
- return;
37
- }
38
- console.log("Help1");
39
- if (gibberishSlot === void 0) {
40
- console.warn("Gibberish slot was not created");
41
- return;
42
- }
43
- console.log("Help2");
44
- if (gibberishParent === void 0) {
45
- console.warn("Gibberish parent was not created");
46
- return;
47
- }
48
- console.log("Help3");
49
- gibberishParent.appendChild(gibberishSlot);
50
- console.log(gibberishParent);
51
- gibberishState = 2 /* Binded */;
52
- };
53
- onMount(() => {
54
- processDefaultSlot(defaultSlot);
55
- });
56
- $:
57
- attachGibberish(gibberishParent);
1
+ <script lang="ts">
2
+ import { run } from 'svelte/legacy';
3
+
4
+ import { ToggleableContentType } from "./ToggleableContentType";
5
+ import { onMount } from "svelte";
6
+
7
+ interface Props {
8
+ toggle?: ToggleableContentType;
9
+ children?: import('svelte').Snippet;
10
+ }
11
+
12
+ let { toggle = ToggleableContentType.Default, children }: Props = $props();
13
+
14
+ enum GibberishState {
15
+ NonExistent,
16
+ CreatingParent,
17
+ Binded
18
+ }
19
+
20
+ let defaultSlot: HTMLDivElement | undefined = $state(undefined);
21
+ let gibberishState: GibberishState = $state(GibberishState.NonExistent);
22
+ let gibberishParent: HTMLDivElement | undefined;
23
+ let gibberishSlot: Node | undefined;
24
+
25
+ const chaoticWordBank = ["niko", "toba", "seal", "aquarium", "ojisan", "baikal"];
26
+ const turnToGibberish = (node: Node) => {
27
+ for (const childNodes of node.childNodes) {
28
+ turnToGibberish(childNodes);
29
+ }
30
+
31
+ if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim()) {
32
+ const max = node.textContent.length;
33
+ node.textContent = "";
34
+ while (node.textContent.length < max) {
35
+ node.textContent += (chaoticWordBank[Math.floor(Math.random() * chaoticWordBank.length)]) + " ";
36
+ }
37
+ }
38
+ };
39
+
40
+ const processDefaultSlot = (slot: HTMLDivElement | undefined) => {
41
+ if (!slot || toggle == ToggleableContentType.Default) {
42
+ return;
43
+ }
44
+
45
+ turnToGibberish(slot);
46
+ };
47
+
48
+ const attachGibberish = (parent: HTMLDivElement | undefined) => {
49
+ console.log("Help");
50
+ if (gibberishState !== GibberishState.CreatingParent && parent !== undefined) {
51
+ return;
52
+ }
53
+
54
+ console.log("Help1");
55
+ if (gibberishSlot === undefined) {
56
+ console.warn("Gibberish slot was not created");
57
+ return;
58
+ }
59
+
60
+ console.log("Help2");
61
+ if (gibberishParent === undefined) {
62
+ console.warn("Gibberish parent was not created");
63
+ return;
64
+ }
65
+
66
+ console.log("Help3");
67
+ gibberishParent.appendChild(gibberishSlot);
68
+ console.log(gibberishParent);
69
+ gibberishState = GibberishState.Binded;
70
+ };
71
+
72
+ onMount(() => {
73
+ processDefaultSlot(defaultSlot);
74
+ });
75
+
76
+ // afterUpdate(() => {
77
+ // console.log("after update:", gibberishState);
78
+ // console.log("after update:", gibberishParent);
79
+ // if (gibberishParent !== undefined && gibberishState === GibberishState.CreatingParent) {
80
+ // gibberishState = GibberishState.ParentCreated;
81
+ // }
82
+ // });
83
+
84
+ run(() => {
85
+ attachGibberish(gibberishParent);
86
+ });
58
87
  </script>
59
88
 
60
89
  {#if toggle === ToggleableContentType.Default}
61
- <slot />
90
+ {@render children?.()}
62
91
  {:else if (ToggleableContentType.Gibberish === toggle)}
63
92
  <div bind:this={defaultSlot} style={`visibility: ${gibberishState === GibberishState.Binded}`}>
64
- <slot />
93
+ {@render children?.()}
65
94
  </div>
66
95
  {/if}
@@ -1,19 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { ToggleableContentType } from "./ToggleableContentType";
3
- declare const __propDef: {
4
- props: {
5
- toggle?: ToggleableContentType | undefined;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- default: {};
12
- };
13
- };
14
- export type ToggleableContentProps = typeof __propDef.props;
15
- export type ToggleableContentEvents = typeof __propDef.events;
16
- export type ToggleableContentSlots = typeof __propDef.slots;
17
- export default class ToggleableContent extends SvelteComponent<ToggleableContentProps, ToggleableContentEvents, ToggleableContentSlots> {
2
+ interface Props {
3
+ toggle?: ToggleableContentType;
4
+ children?: import('svelte').Snippet;
18
5
  }
19
- export {};
6
+ declare const ToggleableContent: import("svelte").Component<Props, {}, "">;
7
+ type ToggleableContent = ReturnType<typeof ToggleableContent>;
8
+ export default ToggleableContent;
@@ -1,37 +1,57 @@
1
- <script>import { Card, enableDialogueOverlay } from "../..";
2
- import "./blog-template.css";
3
- import { enableBackground } from "../../store";
4
- import { onDestroy, onMount } from "svelte";
5
- import BlogTemplateInner from "./BlogTemplateInner.svelte";
6
- export let pageMeta;
7
- export let shouldFillWholePage = false;
8
- export let shouldEnableDialogOverlay = false;
9
- export let includeDataNoSnippet = false;
10
- enableBackground.set(!shouldFillWholePage);
11
- let initialDialogState = false;
12
- onMount(() => {
13
- initialDialogState = $enableDialogueOverlay;
14
- enableDialogueOverlay.set(shouldEnableDialogOverlay);
15
- });
16
- onDestroy(() => {
17
- enableBackground.set(true);
18
- enableDialogueOverlay.set(initialDialogState);
19
- });
1
+ <script lang="ts">
2
+ import { Card, enableDialogueOverlay, type SimplePageMeta } from "../..";
3
+ import "./blog-template.css";
4
+ import { enableBackground } from "../../store";
5
+ import { onDestroy, onMount } from "svelte";
6
+ import BlogTemplateInner from "./BlogTemplateInner.svelte";
7
+
8
+ // grab page meta from the adjacent meta.json
9
+ interface Props {
10
+ pageMeta: SimplePageMeta;
11
+ shouldFillWholePage?: boolean;
12
+ shouldEnableDialogOverlay?: boolean;
13
+ includeDataNoSnippet?: boolean;
14
+ children?: import('svelte').Snippet;
15
+ }
16
+
17
+ let {
18
+ pageMeta,
19
+ shouldFillWholePage = false,
20
+ shouldEnableDialogOverlay = false,
21
+ includeDataNoSnippet = false,
22
+ children
23
+ }: Props = $props();
24
+
25
+ enableBackground.set(!shouldFillWholePage);
26
+ let initialDialogState = false;
27
+
28
+ onMount(() => {
29
+ initialDialogState = $enableDialogueOverlay;
30
+ enableDialogueOverlay.set(shouldEnableDialogOverlay);
31
+ });
32
+
33
+ onDestroy(() => {
34
+ enableBackground.set(true);
35
+ enableDialogueOverlay.set(initialDialogState);
36
+ });
37
+
20
38
  </script>
21
39
 
22
40
  {#if shouldFillWholePage}
23
41
  <div class="whole-page">
24
42
  <BlogTemplateInner pageMeta={pageMeta}>
25
- <slot />
43
+ {@render children?.()}
26
44
  </BlogTemplateInner>
27
45
  </div>
28
46
  {:else}
29
47
  <Card includeDataNoSnippet={includeDataNoSnippet}>
30
- <div slot="content" class="default-card">
31
- <BlogTemplateInner pageMeta={pageMeta}>
32
- <slot />
33
- </BlogTemplateInner>
34
- </div>
48
+ {#snippet content()}
49
+ <div class="default-card">
50
+ <BlogTemplateInner pageMeta={pageMeta}>
51
+ {@render children?.()}
52
+ </BlogTemplateInner>
53
+ </div>
54
+ {/snippet}
35
55
  </Card>
36
56
  {/if}
37
57
 
@@ -1,23 +1,12 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import { type SimplePageMeta } from "../..";
3
2
  import "./blog-template.css";
4
- declare const __propDef: {
5
- props: {
6
- pageMeta: SimplePageMeta;
7
- shouldFillWholePage?: boolean | undefined;
8
- shouldEnableDialogOverlay?: boolean | undefined;
9
- includeDataNoSnippet?: boolean | undefined;
10
- };
11
- events: {
12
- [evt: string]: CustomEvent<any>;
13
- };
14
- slots: {
15
- default: {};
16
- };
17
- };
18
- export type BlogTemplateProps = typeof __propDef.props;
19
- export type BlogTemplateEvents = typeof __propDef.events;
20
- export type BlogTemplateSlots = typeof __propDef.slots;
21
- export default class BlogTemplate extends SvelteComponent<BlogTemplateProps, BlogTemplateEvents, BlogTemplateSlots> {
3
+ interface Props {
4
+ pageMeta: SimplePageMeta;
5
+ shouldFillWholePage?: boolean;
6
+ shouldEnableDialogOverlay?: boolean;
7
+ includeDataNoSnippet?: boolean;
8
+ children?: import('svelte').Snippet;
22
9
  }
23
- export {};
10
+ declare const BlogTemplate: import("svelte").Component<Props, {}, "">;
11
+ type BlogTemplate = ReturnType<typeof BlogTemplate>;
12
+ export default BlogTemplate;
@@ -1,4 +1,12 @@
1
- <script>export let pageMeta;
1
+ <script lang="ts">
2
+ import type { SimplePageMeta } from "../..";
3
+
4
+ interface Props {
5
+ pageMeta: SimplePageMeta;
6
+ children?: import('svelte').Snippet;
7
+ }
8
+
9
+ let { pageMeta, children }: Props = $props();
2
10
  </script>
3
11
 
4
12
  <article>
@@ -16,14 +24,14 @@
16
24
  <section id="article-tags">
17
25
  Tags:
18
26
  {#each pageMeta.tags as tag}
19
- <span class="badge variant-filled">{tag}</span>
27
+ <span class="badge preset-filled">{tag}</span>
20
28
  {/each}
21
29
  </section>
22
30
  {/if}
23
31
  </hgroup>
24
32
 
25
33
  <div class="article-content">
26
- <slot />
34
+ {@render children?.()}
27
35
  </div>
28
36
  </article>
29
37
 
@@ -1,19 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
1
  import type { SimplePageMeta } from "../..";
3
- declare const __propDef: {
4
- props: {
5
- pageMeta: SimplePageMeta;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- default: {};
12
- };
13
- };
14
- export type BlogTemplateInnerProps = typeof __propDef.props;
15
- export type BlogTemplateInnerEvents = typeof __propDef.events;
16
- export type BlogTemplateInnerSlots = typeof __propDef.slots;
17
- export default class BlogTemplateInner extends SvelteComponent<BlogTemplateInnerProps, BlogTemplateInnerEvents, BlogTemplateInnerSlots> {
2
+ interface Props {
3
+ pageMeta: SimplePageMeta;
4
+ children?: import('svelte').Snippet;
18
5
  }
19
- export {};
6
+ declare const BlogTemplateInner: import("svelte").Component<Props, {}, "">;
7
+ type BlogTemplateInner = ReturnType<typeof BlogTemplateInner>;
8
+ export default BlogTemplateInner;
@@ -1,69 +1,45 @@
1
- <script>import { modeCurrent as isLightMode } from "@skeletonlabs/skeleton";
2
- export let onClick = void 0;
3
- export let checked = true;
4
- $:
5
- textColorClass = $isLightMode ? "local-light" : "local-dark";
6
- let buttonClass = "variant-filled-tertiary";
7
- const toggleChipColor = (isLightMode2, checked2) => {
8
- if (isLightMode2) {
9
- buttonClass = checked2 ? "normal-bg" : "light-unchecked-bg";
10
- } else {
11
- buttonClass = checked2 ? "normal-bg" : "dark-unchecked-bg";
12
- }
13
- };
14
- $:
15
- toggleChipColor($isLightMode, checked);
1
+ <script lang="ts">
2
+ import { run } from "svelte/legacy";
3
+
4
+ interface Props {
5
+ onClick?: undefined | (() => void);
6
+ checked?: boolean;
7
+ children?: import("svelte").Snippet;
8
+ }
9
+
10
+ let { onClick = undefined, checked = true, children }: Props = $props();
11
+
12
+ // todo: look at isLightMode usage
13
+ // let textColorClass = $derived($isLightMode ? "local-light" : "local-dark");
14
+ let buttonClass = $state("preset-filled-tertiary-500");
15
+ const toggleChipColor = (isLightMode: boolean, checked: boolean) => {
16
+ if (isLightMode) {
17
+ buttonClass = checked ? "normal-bg" : "light-unchecked-bg";
18
+ } else {
19
+ buttonClass = checked ? "normal-bg" : "dark-unchecked-bg";
20
+ }
21
+ };
22
+ // run(() => {
23
+ // toggleChipColor($isLightMode, checked);
24
+ // });
16
25
  </script>
17
26
 
18
27
  {#if onClick}
19
- <button class={`chip ${buttonClass} ${textColorClass}`}
20
- on:click={onClick}>
21
- <slot />
28
+ <!-- <button class={`chip ${buttonClass} ${textColorClass}`}-->
29
+ <button class={`chip ${buttonClass}`}
30
+ onclick={onClick}>
31
+ {@render children?.()}
22
32
  </button>
23
33
  {:else }
24
- <span class={`local-chip normal-bg ${textColorClass}`}>
25
- <slot />
34
+ <!-- <span class={`local-chip normal-bg ${textColorClass}`}>-->
35
+ <span class={`local-chip normal-bg`}>
36
+ {@render children?.()}
26
37
  </span>
27
38
  {/if}
28
39
 
29
40
  <style>
30
- .local-chip {
31
- cursor: pointer;
32
- white-space: nowrap;
33
- padding-left: 0.75rem;
34
- padding-right: 0.75rem;
35
- padding-top: 0.375rem;
36
- padding-bottom: 0.375rem;
37
- text-align: center;
38
- font-size: 0.75rem;
39
- line-height: 1rem;
40
- border-radius: 0.25rem;
41
- display: inline-flex;
42
- align-items: center;
43
- justify-content: center;
44
- transition-property: all;
45
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
46
- transition-duration: 150ms;
47
- }
48
- .local-chip > :not([hidden]) ~ :not([hidden]) {
49
- --tw-space-x-reverse: 0;
50
- margin-right: calc(0.5rem * var(--tw-space-x-reverse));
51
- margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
52
- }
53
- a.local-chip:hover,
54
- button.local-chip:hover {
55
- --tw-brightness: brightness(1.15);
56
- filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
57
- }
58
- .local-chip:disabled {
59
- cursor: not-allowed;
60
- opacity: 0.5;
61
- }
62
- .local-chip:disabled:active {
63
- --tw-scale-x: 1;
64
- --tw-scale-y: 1;
65
- transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
66
- }
41
+ /*todo: migration*/
42
+ /*@apply chip;*/
67
43
  .local-chip {
68
44
  border-radius: 1em;
69
45
  margin: 0.25em;
@@ -1,19 +1,8 @@
1
- import { SvelteComponent } from "svelte";
2
- declare const __propDef: {
3
- props: {
4
- onClick?: undefined | (() => void);
5
- checked?: boolean | undefined;
6
- };
7
- events: {
8
- [evt: string]: CustomEvent<any>;
9
- };
10
- slots: {
11
- default: {};
12
- };
13
- };
14
- export type ChipProps = typeof __propDef.props;
15
- export type ChipEvents = typeof __propDef.events;
16
- export type ChipSlots = typeof __propDef.slots;
17
- export default class Chip extends SvelteComponent<ChipProps, ChipEvents, ChipSlots> {
1
+ interface Props {
2
+ onClick?: undefined | (() => void);
3
+ checked?: boolean;
4
+ children?: import("svelte").Snippet;
18
5
  }
19
- export {};
6
+ declare const Chip: import("svelte").Component<Props, {}, "">;
7
+ type Chip = ReturnType<typeof Chip>;
8
+ export default Chip;
@@ -1,7 +1,13 @@
1
- <script>import "./combo-box.postcss";
2
- export let stringItems = ["Select item"];
3
- export let selectedValue = "";
4
- selectedValue = stringItems.length === 0 ? "" : stringItems[0];
1
+ <script lang="ts">
2
+ import "./combo-box.postcss";
3
+
4
+ interface Props {
5
+ stringItems?: string[];
6
+ selectedValue?: string;
7
+ }
8
+
9
+ let { stringItems = ["Select item"], selectedValue = $bindable("") }: Props = $props();
10
+ selectedValue = stringItems.length === 0 ? "" : stringItems[0];
5
11
  </script>
6
12
 
7
13
  <select bind:value={selectedValue} class="select">