@turnipxenon/pineapple 2.4.28 → 2.4.30

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 (53) hide show
  1. package/.idea/workspace.xml +170 -158
  2. package/.svelte-kit/__package__/components/navigation_component/NavigationComponent.svelte +229 -0
  3. package/.svelte-kit/__package__/components/navigation_component/NavigationComponent.svelte.d.ts +24 -0
  4. package/.svelte-kit/__package__/components/navigation_component/NavigationControl.svelte +121 -0
  5. package/.svelte-kit/__package__/components/navigation_component/NavigationControl.svelte.d.ts +18 -0
  6. package/.svelte-kit/__package__/components/navigation_component/PageMeta.d.ts +23 -0
  7. package/.svelte-kit/__package__/components/navigation_component/PageMeta.js +76 -0
  8. package/.svelte-kit/__package__/components/pineapple/PineappleBaseLayout.svelte +1 -0
  9. package/.svelte-kit/generated/client/app.js +19 -3
  10. package/.svelte-kit/generated/client/nodes/10.js +1 -0
  11. package/.svelte-kit/generated/client/nodes/11.js +1 -0
  12. package/.svelte-kit/generated/client/nodes/12.js +1 -0
  13. package/.svelte-kit/generated/client/nodes/13.js +1 -0
  14. package/.svelte-kit/generated/client/nodes/14.js +3 -0
  15. package/.svelte-kit/generated/client/nodes/15.js +3 -0
  16. package/.svelte-kit/generated/client/nodes/6.js +1 -3
  17. package/.svelte-kit/generated/client/nodes/7.js +1 -3
  18. package/.svelte-kit/generated/client/nodes/8.js +1 -1
  19. package/.svelte-kit/generated/client/nodes/9.js +1 -1
  20. package/.svelte-kit/generated/server/internal.js +1 -1
  21. package/.svelte-kit/types/route_meta_data.json +8 -0
  22. package/.svelte-kit/types/src/routes/$types.d.ts +1 -1
  23. package/.svelte-kit/types/src/routes/(pineapple)/$types.d.ts +1 -1
  24. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page1/$types.d.ts +17 -0
  25. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page2/$types.d.ts +17 -0
  26. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page3/$types.d.ts +17 -0
  27. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/$types.d.ts +17 -0
  28. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page6/$types.d.ts +17 -0
  29. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/$types.d.ts +17 -0
  30. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/$types.d.ts +17 -0
  31. package/.svelte-kit/types/src/routes/(pineapple)/pineapple/(extra-pages)/page4/$types.d.ts +17 -0
  32. package/dist/components/navigation_component/NavigationComponent.svelte +229 -0
  33. package/dist/components/navigation_component/NavigationComponent.svelte.d.ts +24 -0
  34. package/dist/components/navigation_component/NavigationControl.svelte +121 -0
  35. package/dist/components/navigation_component/NavigationControl.svelte.d.ts +18 -0
  36. package/dist/components/navigation_component/PageMeta.d.ts +23 -0
  37. package/dist/components/navigation_component/PageMeta.js +76 -0
  38. package/dist/components/pineapple/PineappleBaseLayout.svelte +1 -0
  39. package/package.json +1 -1
  40. package/src/lib/components/navigation_component/NavigationComponent.svelte +118 -0
  41. package/src/lib/components/navigation_component/NavigationControl.svelte +61 -0
  42. package/src/lib/components/navigation_component/PageMeta.ts +118 -0
  43. package/src/lib/components/pineapple/PineappleBaseLayout.svelte +1 -0
  44. package/src/routes/(pineapple)/+page.svelte +1 -1
  45. package/src/routes/(pineapple)/pineapple/(extra-pages)/page1/+page.svelte +13 -0
  46. package/src/routes/(pineapple)/pineapple/(extra-pages)/page2/+page.svelte +8 -0
  47. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/+page.svelte +8 -0
  48. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page5/+page.svelte +8 -0
  49. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page6/+page.svelte +8 -0
  50. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/(test_layout)/page8/+page.svelte +8 -0
  51. package/src/routes/(pineapple)/pineapple/(extra-pages)/page3/page7/+page.svelte +8 -0
  52. package/src/routes/(pineapple)/pineapple/(extra-pages)/page4/+page.svelte +7 -0
  53. package/src/routes/(pineapple)/pineapple/+page.svelte +32 -14
@@ -4,9 +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="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" />
7
+ <list default="true" id="accb6ba2-c343-4f84-ad30-6e2d71eceee5" name="Changes" comment="Move NavigationControl to a component">
8
+ <change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationComponent.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationComponent.svelte" afterDir="false" />
9
+ <change beforePath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationControl.svelte" beforeDir="false" afterPath="$PROJECT_DIR$/src/lib/components/navigation_component/NavigationControl.svelte" afterDir="false" />
10
10
  </list>
11
11
  <option name="SHOW_DIALOG" value="false" />
12
12
  <option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -37,11 +37,14 @@
37
37
  <option value="TestCard" />
38
38
  <option value="GameSection" />
39
39
  <option value="ProjectSection" />
40
- <option value="TypeScript File" />
41
40
  <option value="+page.svelte" />
42
41
  <option value="OverrideableMeta" />
43
42
  <option value="index.ts" />
44
43
  <option value="CSS File" />
44
+ <option value="+page" />
45
+ <option value="NavigationComponent" />
46
+ <option value="TypeScript File" />
47
+ <option value="NavigationControl" />
45
48
  </list>
46
49
  </option>
47
50
  </component>
@@ -82,47 +85,47 @@
82
85
  <option name="hideEmptyMiddlePackages" value="true" />
83
86
  <option name="showLibraryContents" value="true" />
84
87
  </component>
85
- <component name="PropertiesComponent"><![CDATA[{
86
- "keyToString": {
87
- "DefaultHtmlFileTemplate": "HTML File",
88
- "RunOnceActivity.OpenProjectViewOnStart": "true",
89
- "RunOnceActivity.ShowReadmeOnStart": "true",
90
- "WebServerToolWindowFactoryState": "false",
91
- "git-widget-placeholder": "turnip/meta",
92
- "ignore.virus.scanning.warn.message": "true",
93
- "last_opened_file_path": "C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(seaweed)/portfolio/actual",
94
- "list.type.of.created.stylesheet": "CSS",
95
- "node.js.detected.package.eslint": "true",
96
- "node.js.detected.package.tslint": "true",
97
- "node.js.selected.package.eslint": "(autodetect)",
98
- "node.js.selected.package.tslint": "(autodetect)",
99
- "nodejs_interpreter_path": "node",
100
- "nodejs_package_manager_path": "yarn",
101
- "npm.build.executor": "Run",
102
- "npm.dev (1).executor": "Run",
103
- "npm.dev --open.executor": "Run",
104
- "npm.dev offline.executor": "Run",
105
- "npm.dev-offline.executor": "Run",
106
- "npm.dev.executor": "Run",
107
- "settings.editor.selected.configurable": "inlay.hints",
108
- "ts.external.directory.path": "C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib",
109
- "vue.rearranger.settings.migration": "true"
88
+ <component name="PropertiesComponent">{
89
+ &quot;keyToString&quot;: {
90
+ &quot;DefaultHtmlFileTemplate&quot;: &quot;HTML File&quot;,
91
+ &quot;RunOnceActivity.OpenProjectViewOnStart&quot;: &quot;true&quot;,
92
+ &quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
93
+ &quot;WebServerToolWindowFactoryState&quot;: &quot;false&quot;,
94
+ &quot;git-widget-placeholder&quot;: &quot;turnip/navigation&quot;,
95
+ &quot;ignore.virus.scanning.warn.message&quot;: &quot;true&quot;,
96
+ &quot;last_opened_file_path&quot;: &quot;C:/Users/Pumpkin/Projects/Web/pineapple/src/routes/(pineapple)/pineapple/page3/page7/(test_layout)/page8&quot;,
97
+ &quot;list.type.of.created.stylesheet&quot;: &quot;CSS&quot;,
98
+ &quot;node.js.detected.package.eslint&quot;: &quot;true&quot;,
99
+ &quot;node.js.detected.package.tslint&quot;: &quot;true&quot;,
100
+ &quot;node.js.selected.package.eslint&quot;: &quot;(autodetect)&quot;,
101
+ &quot;node.js.selected.package.tslint&quot;: &quot;(autodetect)&quot;,
102
+ &quot;nodejs_interpreter_path&quot;: &quot;node&quot;,
103
+ &quot;nodejs_package_manager_path&quot;: &quot;yarn&quot;,
104
+ &quot;npm.build.executor&quot;: &quot;Run&quot;,
105
+ &quot;npm.dev (1).executor&quot;: &quot;Run&quot;,
106
+ &quot;npm.dev --open.executor&quot;: &quot;Run&quot;,
107
+ &quot;npm.dev offline.executor&quot;: &quot;Run&quot;,
108
+ &quot;npm.dev-offline.executor&quot;: &quot;Run&quot;,
109
+ &quot;npm.dev.executor&quot;: &quot;Run&quot;,
110
+ &quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;,
111
+ &quot;ts.external.directory.path&quot;: &quot;C:\\Users\\Pumpkin\\Projects\\Web\\pineapple\\node_modules\\typescript\\lib&quot;,
112
+ &quot;vue.rearranger.settings.migration&quot;: &quot;true&quot;
110
113
  }
111
- }]]></component>
114
+ }</component>
112
115
  <component name="RecentsManager">
113
116
  <key name="CopyFile.RECENT_KEYS">
114
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(seaweed)\portfolio\actual" />
115
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(seaweed)\portfolio" />
117
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7\(test_layout)\page8" />
118
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7" />
119
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3" />
120
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page5" />
116
121
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple" />
117
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\assets\placeholder" />
118
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\about" />
119
122
  </key>
120
123
  <key name="MoveFile.RECENT_KEYS">
124
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\(extra-pages)" />
125
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\(pineapple)\pineapple\page3\page7\(test_layout)" />
126
+ <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\navigation_component" />
121
127
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\dialog_overlay" />
122
128
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\components\overrideable_meta" />
123
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\types" />
124
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib" />
125
- <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\lib\template\Seaweed" />
126
129
  </key>
127
130
  <key name="es6.move.members.recent.items">
128
131
  <recent name="C:\Users\Pumpkin\Projects\Web\pineapple\src\routes\types\RootLayoutProps.ts" />
@@ -157,9 +160,9 @@
157
160
  </list>
158
161
  <recent_temporary>
159
162
  <list>
160
- <item itemvalue="npm.dev-offline" />
161
163
  <item itemvalue="npm.dev --open" />
162
164
  <item itemvalue="npm.dev-offline" />
165
+ <item itemvalue="npm.dev-offline" />
163
166
  <item itemvalue="npm.dev --open" />
164
167
  <item itemvalue="npm.dev-offline" />
165
168
  </list>
@@ -228,111 +231,16 @@
228
231
  <workItem from="1711115902471" duration="148000" />
229
232
  <workItem from="1711116299202" duration="1291000" />
230
233
  <workItem from="1711179012668" duration="14397000" />
231
- <workItem from="1711206704484" duration="8091000" />
232
- </task>
233
- <task id="LOCAL-00045" summary="Solve videos not dynamically loading">
234
- <option name="closed" value="true" />
235
- <created>1710203392528</created>
236
- <option name="number" value="00045" />
237
- <option name="presentableId" value="LOCAL-00045" />
238
- <option name="project" value="LOCAL" />
239
- <updated>1710203392528</updated>
240
- </task>
241
- <task id="LOCAL-00046" summary="Remove unnecessary iframe requests">
242
- <option name="closed" value="true" />
243
- <created>1710204501497</created>
244
- <option name="number" value="00046" />
245
- <option name="presentableId" value="LOCAL-00046" />
246
- <option name="project" value="LOCAL" />
247
- <updated>1710204501497</updated>
248
- </task>
249
- <task id="LOCAL-00047" summary="Extract head elements out of template component">
250
- <option name="closed" value="true" />
251
- <created>1710208978489</created>
252
- <option name="number" value="00047" />
253
- <option name="presentableId" value="LOCAL-00047" />
254
- <option name="project" value="LOCAL" />
255
- <updated>1710208978489</updated>
256
- </task>
257
- <task id="LOCAL-00048" summary="Extract head elements out of template component">
258
- <option name="closed" value="true" />
259
- <created>1710209121437</created>
260
- <option name="number" value="00048" />
261
- <option name="presentableId" value="LOCAL-00048" />
262
- <option name="project" value="LOCAL" />
263
- <updated>1710209121437</updated>
264
- </task>
265
- <task id="LOCAL-00049" summary="Fix path for Seaweed">
266
- <option name="closed" value="true" />
267
- <created>1710211369235</created>
268
- <option name="number" value="00049" />
269
- <option name="presentableId" value="LOCAL-00049" />
270
- <option name="project" value="LOCAL" />
271
- <updated>1710211369235</updated>
272
- </task>
273
- <task id="LOCAL-00050" summary="Move from dist to lib for package path">
274
- <option name="closed" value="true" />
275
- <created>1710263983434</created>
276
- <option name="number" value="00050" />
277
- <option name="presentableId" value="LOCAL-00050" />
278
- <option name="project" value="LOCAL" />
279
- <updated>1710263983434</updated>
280
- </task>
281
- <task id="LOCAL-00051" summary="Add missing npm run package to allow dist generation">
282
- <option name="closed" value="true" />
283
- <created>1710267769805</created>
284
- <option name="number" value="00051" />
285
- <option name="presentableId" value="LOCAL-00051" />
286
- <option name="project" value="LOCAL" />
287
- <updated>1710267769806</updated>
288
- </task>
289
- <task id="LOCAL-00052" summary="Remove postcss reference in non root layout">
290
- <option name="closed" value="true" />
291
- <created>1710269255282</created>
292
- <option name="number" value="00052" />
293
- <option name="presentableId" value="LOCAL-00052" />
294
- <option name="project" value="LOCAL" />
295
- <updated>1710269255282</updated>
296
- </task>
297
- <task id="LOCAL-00053" summary="Add unique class for Card">
298
- <option name="closed" value="true" />
299
- <created>1710277476383</created>
300
- <option name="number" value="00053" />
301
- <option name="presentableId" value="LOCAL-00053" />
302
- <option name="project" value="LOCAL" />
303
- <updated>1710277476383</updated>
304
- </task>
305
- <task id="LOCAL-00054" summary="Remove unnecessary files">
306
- <option name="closed" value="true" />
307
- <created>1710280419114</created>
308
- <option name="number" value="00054" />
309
- <option name="presentableId" value="LOCAL-00054" />
310
- <option name="project" value="LOCAL" />
311
- <updated>1710280419114</updated>
312
- </task>
313
- <task id="LOCAL-00055" summary="Fix accordion rounded border missing">
314
- <option name="closed" value="true" />
315
- <created>1710290096410</created>
316
- <option name="number" value="00055" />
317
- <option name="presentableId" value="LOCAL-00055" />
318
- <option name="project" value="LOCAL" />
319
- <updated>1710290096410</updated>
320
- </task>
321
- <task id="LOCAL-00056" summary="Extract styling out of Skeleton accordion">
322
- <option name="closed" value="true" />
323
- <created>1710292214352</created>
324
- <option name="number" value="00056" />
325
- <option name="presentableId" value="LOCAL-00056" />
326
- <option name="project" value="LOCAL" />
327
- <updated>1710292214352</updated>
328
- </task>
329
- <task id="LOCAL-00057" summary="Attempt to make postcss exportable">
330
- <option name="closed" value="true" />
331
- <created>1710295846318</created>
332
- <option name="number" value="00057" />
333
- <option name="presentableId" value="LOCAL-00057" />
334
- <option name="project" value="LOCAL" />
335
- <updated>1710295846318</updated>
234
+ <workItem from="1711206704484" duration="9686000" />
235
+ <workItem from="1711323704651" duration="673000" />
236
+ <workItem from="1711324400764" duration="178000" />
237
+ <workItem from="1711325601480" duration="19000" />
238
+ <workItem from="1711458291157" duration="39000" />
239
+ <workItem from="1711460809958" duration="200000" />
240
+ <workItem from="1711463423241" duration="256000" />
241
+ <workItem from="1711471654056" duration="635000" />
242
+ <workItem from="1711472302524" duration="9738000" />
243
+ <workItem from="1711482094100" duration="5314000" />
336
244
  </task>
337
245
  <task id="LOCAL-00058" summary="Change lib to pkg to prevent the references from breaking from downstream apps">
338
246
  <option name="closed" value="true" />
@@ -622,7 +530,111 @@
622
530
  <option name="project" value="LOCAL" />
623
531
  <updated>1711210905814</updated>
624
532
  </task>
625
- <option name="localTasksCounter" value="94" />
533
+ <task id="LOCAL-00094" summary="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">
534
+ <option name="closed" value="true" />
535
+ <created>1711214822227</created>
536
+ <option name="number" value="00094" />
537
+ <option name="presentableId" value="LOCAL-00094" />
538
+ <option name="project" value="LOCAL" />
539
+ <updated>1711214822227</updated>
540
+ </task>
541
+ <task id="LOCAL-00095" summary="Place fab on a higher z-index">
542
+ <option name="closed" value="true" />
543
+ <created>1711324122770</created>
544
+ <option name="number" value="00095" />
545
+ <option name="presentableId" value="LOCAL-00095" />
546
+ <option name="project" value="LOCAL" />
547
+ <updated>1711324122771</updated>
548
+ </task>
549
+ <task id="LOCAL-00096" summary="v2.4.29">
550
+ <option name="closed" value="true" />
551
+ <created>1711324455704</created>
552
+ <option name="number" value="00096" />
553
+ <option name="presentableId" value="LOCAL-00096" />
554
+ <option name="project" value="LOCAL" />
555
+ <updated>1711324455704</updated>
556
+ </task>
557
+ <task id="LOCAL-00097" summary="Implement basic navigation component logic">
558
+ <option name="closed" value="true" />
559
+ <created>1711475813467</created>
560
+ <option name="number" value="00097" />
561
+ <option name="presentableId" value="LOCAL-00097" />
562
+ <option name="project" value="LOCAL" />
563
+ <updated>1711475813468</updated>
564
+ </task>
565
+ <task id="LOCAL-00098" summary="Add basic navigation component logic">
566
+ <option name="closed" value="true" />
567
+ <created>1711475823640</created>
568
+ <option name="number" value="00098" />
569
+ <option name="presentableId" value="LOCAL-00098" />
570
+ <option name="project" value="LOCAL" />
571
+ <updated>1711475823640</updated>
572
+ </task>
573
+ <task id="LOCAL-00099" summary="Refactor NavigationComponent logic to its component">
574
+ <option name="closed" value="true" />
575
+ <created>1711476412950</created>
576
+ <option name="number" value="00099" />
577
+ <option name="presentableId" value="LOCAL-00099" />
578
+ <option name="project" value="LOCAL" />
579
+ <updated>1711476412950</updated>
580
+ </task>
581
+ <task id="LOCAL-00100" summary="Parse meta from subdirectories">
582
+ <option name="closed" value="true" />
583
+ <created>1711480038412</created>
584
+ <option name="number" value="00100" />
585
+ <option name="presentableId" value="LOCAL-00100" />
586
+ <option name="project" value="LOCAL" />
587
+ <updated>1711480038412</updated>
588
+ </task>
589
+ <task id="LOCAL-00101" summary="Refactor the test pages to have unique headers">
590
+ <option name="closed" value="true" />
591
+ <created>1711480176125</created>
592
+ <option name="number" value="00101" />
593
+ <option name="presentableId" value="LOCAL-00101" />
594
+ <option name="project" value="LOCAL" />
595
+ <updated>1711480176126</updated>
596
+ </task>
597
+ <task id="LOCAL-00102" summary="Document limitations of PageMeta.image">
598
+ <option name="closed" value="true" />
599
+ <created>1711481990238</created>
600
+ <option name="number" value="00102" />
601
+ <option name="presentableId" value="LOCAL-00102" />
602
+ <option name="project" value="LOCAL" />
603
+ <updated>1711481990238</updated>
604
+ </task>
605
+ <task id="LOCAL-00103" summary="Move test pages into a singluar director">
606
+ <option name="closed" value="true" />
607
+ <created>1711482117365</created>
608
+ <option name="number" value="00103" />
609
+ <option name="presentableId" value="LOCAL-00103" />
610
+ <option name="project" value="LOCAL" />
611
+ <updated>1711482117365</updated>
612
+ </task>
613
+ <task id="LOCAL-00104" summary="Move test pages into a directory">
614
+ <option name="closed" value="true" />
615
+ <created>1711482127548</created>
616
+ <option name="number" value="00104" />
617
+ <option name="presentableId" value="LOCAL-00104" />
618
+ <option name="project" value="LOCAL" />
619
+ <updated>1711482127548</updated>
620
+ </task>
621
+ <task id="LOCAL-00105" summary="Add Navigation control">
622
+ <option name="closed" value="true" />
623
+ <created>1711485096437</created>
624
+ <option name="number" value="00105" />
625
+ <option name="presentableId" value="LOCAL-00105" />
626
+ <option name="project" value="LOCAL" />
627
+ <updated>1711485096437</updated>
628
+ </task>
629
+ <task id="LOCAL-00106" summary="Move NavigationControl to a component">
630
+ <option name="closed" value="true" />
631
+ <created>1711485359574</created>
632
+ <option name="number" value="00106" />
633
+ <option name="presentableId" value="LOCAL-00106" />
634
+ <option name="project" value="LOCAL" />
635
+ <updated>1711485359574</updated>
636
+ </task>
637
+ <option name="localTasksCounter" value="107" />
626
638
  <servers />
627
639
  </component>
628
640
  <component name="TypeScriptGeneratedFilesManager">
@@ -660,7 +672,7 @@
660
672
  <entry key="branch">
661
673
  <value>
662
674
  <list>
663
- <option value="main" />
675
+ <option value="turnip/dev" />
664
676
  </list>
665
677
  </value>
666
678
  </entry>
@@ -680,18 +692,6 @@
680
692
  </option>
681
693
  </component>
682
694
  <component name="VcsManagerConfiguration">
683
- <MESSAGE value="Adjust default toast body styling and add shadow to toast" />
684
- <MESSAGE value="Clean up todos" />
685
- <MESSAGE value="Add default PR template" />
686
- <MESSAGE value="Fix chip in light mode" />
687
- <MESSAGE value="2.4.14" />
688
- <MESSAGE value="Run dialog parser in runtime" />
689
- <MESSAGE value="Fix dialog layout to make it usable on hobby site" />
690
- <MESSAGE value="Add option to set default dialog behavior in Pineapple" />
691
- <MESSAGE value="Export Card" />
692
- <MESSAGE value="Replace all $lib to $pkg" />
693
- <MESSAGE value="Refactor all util functions into util/util" />
694
- <MESSAGE value="v2.4.19" />
695
695
  <MESSAGE value="Fix breadcrumb layout" />
696
696
  <MESSAGE value="Fix default card postcss style" />
697
697
  <MESSAGE value="Adjust turnip fab button color" />
@@ -705,6 +705,18 @@
705
705
  <MESSAGE value="Add OverridableMeta component" />
706
706
  <MESSAGE value="Fix package main index" />
707
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" />
708
+ <MESSAGE value="Place fab on a higher z-index" />
709
+ <MESSAGE value="v2.4.29" />
710
+ <MESSAGE value="Implement basic navigation component logic" />
711
+ <MESSAGE value="Add basic navigation component logic" />
712
+ <MESSAGE value="Refactor NavigationComponent logic to its component" />
713
+ <MESSAGE value="Parse meta from subdirectories" />
714
+ <MESSAGE value="Refactor the test pages to have unique headers" />
715
+ <MESSAGE value="Document limitations of PageMeta.image" />
716
+ <MESSAGE value="Move test pages into a singluar director" />
717
+ <MESSAGE value="Move test pages into a directory" />
718
+ <MESSAGE value="Add Navigation control" />
719
+ <MESSAGE value="Move NavigationControl to a component" />
720
+ <option name="LAST_COMMIT_MESSAGE" value="Move NavigationControl to a component" />
709
721
  </component>
710
722
  </project>
@@ -0,0 +1,229 @@
1
+ <script>import NavigationControl from "./NavigationControl.svelte";
2
+ import { Card, createGoToFunction } from "../..";
3
+ import { parsePageMeta } from "./PageMeta";
4
+ export let title = void 0;
5
+ export let fileList;
6
+ export let parentSubpath;
7
+ export let compareFn;
8
+ export let pageSize = 5;
9
+ export let currentIndex = 0;
10
+ const pageFlatList = parsePageMeta(fileList, compareFn);
11
+ $:
12
+ visiblePages = pageFlatList.slice(currentIndex * pageSize, currentIndex * pageSize + pageSize);
13
+ </script>
14
+
15
+ <div class="navigation-wrapper">
16
+
17
+ <NavigationControl bind:currentIndex={currentIndex}
18
+ bind:contentLength={pageFlatList.length}
19
+ bind:pageSize={pageSize}></NavigationControl>
20
+
21
+ <div class="navigation-component">
22
+ {#if (title)}
23
+ <Card>
24
+ <h1 slot="content" class="default-card navigation-title">
25
+ {title}
26
+ </h1>
27
+ </Card>
28
+ {/if}
29
+ <!-- all the misc routes-->
30
+ {#each visiblePages as pageMeta}
31
+ {@const fullPath=`${parentSubpath}${pageMeta.relativeLink}`}
32
+ <button class="navigation-element"
33
+ title={fullPath}
34
+ on:click={createGoToFunction(fullPath)}>
35
+ {#if pageMeta.image}
36
+ <img src={pageMeta.image} alt={pageMeta.imageAlt ?? "placeholder alt text please replace me or report me!"} />
37
+ {/if}
38
+ <section class="blurb-text">
39
+ <h2>{pageMeta.title}</h2>
40
+ <p>Published: {pageMeta.datePublished ?? "N/A"} | Last updated: {pageMeta.lastUpdated ?? "N/A"}</p>
41
+ <p>{pageMeta.description ?? ""}</p>
42
+ Tags:
43
+ {#if (pageMeta.tags && pageMeta.tags.length !== 0)}
44
+ {#each pageMeta.tags as tagValue}
45
+ &nbsp;<span class="badge variant-filled">{tagValue}</span>
46
+ {/each}
47
+ {:else}
48
+ None
49
+ {/if}
50
+ </section>
51
+ </button>
52
+ {/each}
53
+
54
+ {#if visiblePages.length === 0}
55
+ <Card>
56
+ <p class="default-card" slot="content">Sorry, no content was found</p>
57
+ </Card>
58
+ {/if}
59
+ </div>
60
+
61
+ <NavigationControl bind:currentIndex={currentIndex}
62
+ bind:contentLength={pageFlatList.length}
63
+ bind:pageSize={pageSize}></NavigationControl>
64
+
65
+ </div>
66
+
67
+ <style>
68
+ img {
69
+ height: 20em;
70
+ width: 20em;
71
+ -o-object-fit: cover;
72
+ object-fit: cover;
73
+ padding: var(--theme-border-base);
74
+ border-radius: var(--theme-rounded-container) 0 0 var(--theme-rounded-container);
75
+ }
76
+
77
+ @media (max-width: 50rem) {
78
+ img {
79
+ max-height: 20rem;
80
+ width: 100%;
81
+ flex-basis: 100%;
82
+ border-radius: var(--theme-rounded-container) var(--theme-rounded-container) 0 0;
83
+ }
84
+ }
85
+
86
+ .navigation-component {
87
+ display: flex;
88
+ flex-direction: column;
89
+ gap: 2em;
90
+ }
91
+
92
+ .dark .navigation-element {
93
+ background-color: rgb(var(--color-surface-800));
94
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
95
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
96
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
97
+ --tw-ring-inset: inset;
98
+ --tw-ring-color: rgb(250 250 250 / 0.05);
99
+ }
100
+
101
+ .navigation-element:disabled {
102
+ cursor: not-allowed;
103
+ opacity: 0.5;
104
+ }
105
+
106
+ .navigation-element:disabled:hover {
107
+ --tw-brightness: brightness(1);
108
+ 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);
109
+ }
110
+
111
+ .navigation-element:disabled:active {
112
+ --tw-scale-x: 1;
113
+ --tw-scale-y: 1;
114
+ 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));
115
+ }
116
+
117
+ .navigation-element {
118
+ font-size: 1rem;
119
+ line-height: 1.5rem;
120
+ padding-left: 1.25rem;
121
+ padding-right: 1.25rem;
122
+ padding-top: 9px;
123
+ padding-bottom: 9px;
124
+ white-space: nowrap;
125
+ text-align: center;
126
+ display: inline-flex;
127
+ align-items: center;
128
+ justify-content: center;
129
+ transition-property: all;
130
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
131
+ transition-duration: 150ms;
132
+ border-radius: var(--theme-rounded-base);
133
+ }
134
+
135
+ .navigation-element > :not([hidden]) ~ :not([hidden]) {
136
+ --tw-space-x-reverse: 0;
137
+ margin-right: calc(0.5rem * var(--tw-space-x-reverse));
138
+ margin-left: calc(0.5rem * calc(1 - var(--tw-space-x-reverse)));
139
+ }
140
+
141
+ .navigation-element:hover {
142
+ --tw-brightness: brightness(1.15);
143
+ 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);
144
+ }
145
+
146
+ .navigation-element:active {
147
+ --tw-scale-x: 95%;
148
+ --tw-scale-y: 95%;
149
+ 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));
150
+ --tw-brightness: brightness(.9);
151
+ 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);
152
+ }
153
+
154
+ .navigation-element {
155
+ background-color: rgb(var(--color-surface-100));
156
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
157
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
158
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
159
+ --tw-ring-inset: inset;
160
+ --tw-ring-color: rgb(23 23 23 / 0.05);
161
+ border-radius: var(--theme-rounded-container);
162
+ }
163
+
164
+ .dark .navigation-element {
165
+ background-color: rgb(var(--color-surface-800));
166
+ --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
167
+ --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);
168
+ box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);
169
+ --tw-ring-inset: inset;
170
+ --tw-ring-color: rgb(250 250 250 / 0.05);
171
+ }
172
+
173
+ a.navigation-element {
174
+ transition-property: all;
175
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
176
+ transition-duration: 150ms;
177
+ }
178
+
179
+ a.navigation-element:hover {
180
+ --tw-brightness: brightness(1.05);
181
+ 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);
182
+ }
183
+
184
+ .navigation-element {
185
+ transition-property: all;
186
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
187
+ transition-duration: 150ms;
188
+ }
189
+
190
+ .navigation-element:hover {
191
+ --tw-scale-x: 101%;
192
+ --tw-scale-y: 101%;
193
+ 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));
194
+ --tw-shadow: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
195
+ --tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);
196
+ box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
197
+ }
198
+
199
+ .navigation-element {
200
+ --tw-bg-opacity: 1;
201
+ background-color: rgb(var(--color-surface-100) / var(--tw-bg-opacity));
202
+ }
203
+
204
+ :is(.dark .navigation-element) {
205
+ --tw-bg-opacity: 1;
206
+ background-color: rgb(var(--color-surface-900) / var(--tw-bg-opacity));
207
+ }
208
+
209
+ .navigation-element {
210
+ display: flex;
211
+ flex-wrap: wrap;
212
+ text-align: start;
213
+ padding: 0;
214
+ }
215
+
216
+ .navigation-title {
217
+ text-align: center;
218
+ }
219
+
220
+ .blurb-text {
221
+ flex: 1;
222
+ padding: 2em;
223
+ }
224
+
225
+ .navigation-wrapper {
226
+ display: flex;
227
+ flex-direction: column;
228
+ }
229
+ </style>