@tygo-van-den-hurk/slyde 0.0.2-unstable-0192a39.0 → 0.0.2-unstable-8f6d5a0.0

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 (215) hide show
  1. package/README.md +5 -5
  2. package/dist/browser/css/modes/base.d.ts +8 -0
  3. package/dist/browser/css/modes/base.d.ts.map +1 -0
  4. package/dist/browser/css/modes/base.js +110 -0
  5. package/dist/browser/css/modes/base.js.map +1 -0
  6. package/dist/browser/css/modes/pdf.d.ts +6 -0
  7. package/dist/browser/css/modes/pdf.d.ts.map +1 -0
  8. package/dist/browser/css/modes/pdf.js +26 -0
  9. package/dist/browser/css/modes/pdf.js.map +1 -0
  10. package/dist/browser/css/modes/presentation.d.ts +8 -0
  11. package/dist/browser/css/modes/presentation.d.ts.map +1 -0
  12. package/dist/browser/css/modes/presentation.js +43 -0
  13. package/dist/browser/css/modes/presentation.js.map +1 -0
  14. package/dist/browser/css/tw-config.d.ts +6 -0
  15. package/dist/browser/css/tw-config.d.ts.map +1 -0
  16. package/dist/browser/css/tw-config.js +34 -0
  17. package/dist/browser/css/tw-config.js.map +1 -0
  18. package/dist/browser/{css.d.ts → css/types.d.ts} +2 -10
  19. package/dist/browser/css/types.d.ts.map +1 -0
  20. package/dist/browser/css/types.js +2 -0
  21. package/dist/browser/css/types.js.map +1 -0
  22. package/dist/browser/html.d.ts +1 -1
  23. package/dist/browser/html.d.ts.map +1 -1
  24. package/dist/browser/html.js +16 -8
  25. package/dist/browser/html.js.map +1 -1
  26. package/dist/browser/scripts/input-bindings.d.ts +23 -0
  27. package/dist/browser/scripts/input-bindings.d.ts.map +1 -0
  28. package/dist/browser/scripts/input-bindings.js +129 -0
  29. package/dist/browser/scripts/input-bindings.js.map +1 -0
  30. package/dist/browser/scripts/pdf-mode.d.ts +29 -0
  31. package/dist/browser/scripts/pdf-mode.d.ts.map +1 -0
  32. package/dist/browser/scripts/pdf-mode.js +60 -0
  33. package/dist/browser/scripts/pdf-mode.js.map +1 -0
  34. package/dist/browser/scripts/slide-control.d.ts +60 -0
  35. package/dist/browser/scripts/slide-control.d.ts.map +1 -0
  36. package/dist/browser/scripts/slide-control.js +74 -0
  37. package/dist/browser/scripts/slide-control.js.map +1 -0
  38. package/dist/browser/scripts/utils.d.ts +12 -0
  39. package/dist/browser/scripts/utils.d.ts.map +1 -0
  40. package/dist/browser/scripts/utils.js +22 -0
  41. package/dist/browser/scripts/utils.js.map +1 -0
  42. package/dist/lib/core/render/render.js +1 -1
  43. package/dist/lib/core/render/render.js.map +1 -1
  44. package/package.json +1 -1
  45. package/dist/browser/css.d.ts.map +0 -1
  46. package/dist/browser/css.js +0 -184
  47. package/dist/browser/css.js.map +0 -1
  48. package/dist/browser/index.d.ts +0 -3
  49. package/dist/browser/index.d.ts.map +0 -1
  50. package/dist/browser/index.js +0 -5
  51. package/dist/browser/index.js.map +0 -1
  52. package/dist/browser/page-logic.browser.d.ts +0 -78
  53. package/dist/browser/page-logic.browser.d.ts.map +0 -1
  54. package/dist/browser/page-logic.browser.js +0 -264
  55. package/dist/browser/page-logic.browser.js.map +0 -1
  56. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodes.test.d.ts +0 -2
  57. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodes.test.d.ts.map +0 -1
  58. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodes.test.js +0 -300
  59. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodes.test.js.map +0 -1
  60. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodesRecurse.test.d.ts +0 -2
  61. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodesRecurse.test.d.ts.map +0 -1
  62. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodesRecurse.test.js +0 -184
  63. package/dist/test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodesRecurse.test.js.map +0 -1
  64. package/dist/test/lib/core/compiler/io/loadPlugins.test.d.ts +0 -2
  65. package/dist/test/lib/core/compiler/io/loadPlugins.test.d.ts.map +0 -1
  66. package/dist/test/lib/core/compiler/io/loadPlugins.test.js +0 -30
  67. package/dist/test/lib/core/compiler/io/loadPlugins.test.js.map +0 -1
  68. package/dist/test/lib/core/compiler/io/parseInput.test.d.ts +0 -2
  69. package/dist/test/lib/core/compiler/io/parseInput.test.d.ts.map +0 -1
  70. package/dist/test/lib/core/compiler/io/parseInput.test.js +0 -21
  71. package/dist/test/lib/core/compiler/io/parseInput.test.js.map +0 -1
  72. package/dist/test/lib/core/components/blocks/image.test.d.ts +0 -2
  73. package/dist/test/lib/core/components/blocks/image.test.d.ts.map +0 -1
  74. package/dist/test/lib/core/components/blocks/image.test.js +0 -41
  75. package/dist/test/lib/core/components/blocks/image.test.js.map +0 -1
  76. package/dist/test/lib/core/components/blocks/point.test.d.ts +0 -2
  77. package/dist/test/lib/core/components/blocks/point.test.d.ts.map +0 -1
  78. package/dist/test/lib/core/components/blocks/point.test.js +0 -31
  79. package/dist/test/lib/core/components/blocks/point.test.js.map +0 -1
  80. package/dist/test/lib/core/components/blocks/quote.test.d.ts +0 -2
  81. package/dist/test/lib/core/components/blocks/quote.test.d.ts.map +0 -1
  82. package/dist/test/lib/core/components/blocks/quote.test.js +0 -31
  83. package/dist/test/lib/core/components/blocks/quote.test.js.map +0 -1
  84. package/dist/test/lib/core/components/blocks/table.test.d.ts +0 -2
  85. package/dist/test/lib/core/components/blocks/table.test.d.ts.map +0 -1
  86. package/dist/test/lib/core/components/blocks/table.test.js +0 -35
  87. package/dist/test/lib/core/components/blocks/table.test.js.map +0 -1
  88. package/dist/test/lib/core/components/blocks/text.test.d.ts +0 -2
  89. package/dist/test/lib/core/components/blocks/text.test.d.ts.map +0 -1
  90. package/dist/test/lib/core/components/blocks/text.test.js +0 -31
  91. package/dist/test/lib/core/components/blocks/text.test.js.map +0 -1
  92. package/dist/test/lib/core/components/class.test.d.ts +0 -2
  93. package/dist/test/lib/core/components/class.test.d.ts.map +0 -1
  94. package/dist/test/lib/core/components/class.test.js +0 -111
  95. package/dist/test/lib/core/components/class.test.js.map +0 -1
  96. package/dist/test/lib/core/components/presentations/presentation.test.d.ts +0 -2
  97. package/dist/test/lib/core/components/presentations/presentation.test.d.ts.map +0 -1
  98. package/dist/test/lib/core/components/presentations/presentation.test.js +0 -31
  99. package/dist/test/lib/core/components/presentations/presentation.test.js.map +0 -1
  100. package/dist/test/lib/core/components/slides/iframe.test.d.ts +0 -2
  101. package/dist/test/lib/core/components/slides/iframe.test.d.ts.map +0 -1
  102. package/dist/test/lib/core/components/slides/iframe.test.js +0 -31
  103. package/dist/test/lib/core/components/slides/iframe.test.js.map +0 -1
  104. package/dist/test/lib/core/components/slides/question-slide.test.d.ts +0 -2
  105. package/dist/test/lib/core/components/slides/question-slide.test.d.ts.map +0 -1
  106. package/dist/test/lib/core/components/slides/question-slide.test.js +0 -31
  107. package/dist/test/lib/core/components/slides/question-slide.test.js.map +0 -1
  108. package/dist/test/lib/core/components/slides/slide.test.d.ts +0 -2
  109. package/dist/test/lib/core/components/slides/slide.test.d.ts.map +0 -1
  110. package/dist/test/lib/core/components/slides/slide.test.js +0 -31
  111. package/dist/test/lib/core/components/slides/slide.test.js.map +0 -1
  112. package/dist/test/lib/core/components/slides/title-slide.test.d.ts +0 -2
  113. package/dist/test/lib/core/components/slides/title-slide.test.d.ts.map +0 -1
  114. package/dist/test/lib/core/components/slides/title-slide.test.js +0 -52
  115. package/dist/test/lib/core/components/slides/title-slide.test.js.map +0 -1
  116. package/dist/test/lib/core/components/utils/extract.test.d.ts +0 -2
  117. package/dist/test/lib/core/components/utils/extract.test.d.ts.map +0 -1
  118. package/dist/test/lib/core/components/utils/extract.test.js +0 -88
  119. package/dist/test/lib/core/components/utils/extract.test.js.map +0 -1
  120. package/dist/test/lib/core/components/utils/fetch.test.d.ts +0 -2
  121. package/dist/test/lib/core/components/utils/fetch.test.d.ts.map +0 -1
  122. package/dist/test/lib/core/components/utils/fetch.test.js +0 -62
  123. package/dist/test/lib/core/components/utils/fetch.test.js.map +0 -1
  124. package/dist/test/lib/core/components/utils/transform.test.d.ts +0 -2
  125. package/dist/test/lib/core/components/utils/transform.test.d.ts.map +0 -1
  126. package/dist/test/lib/core/components/utils/transform.test.js +0 -65
  127. package/dist/test/lib/core/components/utils/transform.test.js.map +0 -1
  128. package/dist/test/lib/core/defaults.test.d.ts +0 -2
  129. package/dist/test/lib/core/defaults.test.d.ts.map +0 -1
  130. package/dist/test/lib/core/defaults.test.js +0 -32
  131. package/dist/test/lib/core/defaults.test.js.map +0 -1
  132. package/dist/test/lib/core/markup/class.test.d.ts +0 -2
  133. package/dist/test/lib/core/markup/class.test.d.ts.map +0 -1
  134. package/dist/test/lib/core/markup/class.test.js +0 -68
  135. package/dist/test/lib/core/markup/class.test.js.map +0 -1
  136. package/dist/test/lib/core/markup/languages/latex.test.d.ts +0 -2
  137. package/dist/test/lib/core/markup/languages/latex.test.d.ts.map +0 -1
  138. package/dist/test/lib/core/markup/languages/latex.test.js +0 -22
  139. package/dist/test/lib/core/markup/languages/latex.test.js.map +0 -1
  140. package/dist/test/lib/core/markup/languages/lowercase.test.d.ts +0 -2
  141. package/dist/test/lib/core/markup/languages/lowercase.test.d.ts.map +0 -1
  142. package/dist/test/lib/core/markup/languages/lowercase.test.js +0 -26
  143. package/dist/test/lib/core/markup/languages/lowercase.test.js.map +0 -1
  144. package/dist/test/lib/core/markup/languages/markdown.test.d.ts +0 -2
  145. package/dist/test/lib/core/markup/languages/markdown.test.d.ts.map +0 -1
  146. package/dist/test/lib/core/markup/languages/markdown.test.js +0 -151
  147. package/dist/test/lib/core/markup/languages/markdown.test.js.map +0 -1
  148. package/dist/test/lib/core/markup/languages/plain.test.d.ts +0 -2
  149. package/dist/test/lib/core/markup/languages/plain.test.d.ts.map +0 -1
  150. package/dist/test/lib/core/markup/languages/plain.test.js +0 -26
  151. package/dist/test/lib/core/markup/languages/plain.test.js.map +0 -1
  152. package/dist/test/lib/core/markup/languages/slyde.test.d.ts +0 -2
  153. package/dist/test/lib/core/markup/languages/slyde.test.d.ts.map +0 -1
  154. package/dist/test/lib/core/markup/languages/slyde.test.js +0 -218
  155. package/dist/test/lib/core/markup/languages/slyde.test.js.map +0 -1
  156. package/dist/test/lib/core/markup/languages/uppercase.test.d.ts +0 -2
  157. package/dist/test/lib/core/markup/languages/uppercase.test.d.ts.map +0 -1
  158. package/dist/test/lib/core/markup/languages/uppercase.test.js +0 -26
  159. package/dist/test/lib/core/markup/languages/uppercase.test.js.map +0 -1
  160. package/dist/test/lib/core/markup/utils.test.d.ts +0 -2
  161. package/dist/test/lib/core/markup/utils.test.d.ts.map +0 -1
  162. package/dist/test/lib/core/markup/utils.test.js +0 -18
  163. package/dist/test/lib/core/markup/utils.test.js.map +0 -1
  164. package/dist/test/lib/core/registry.test.d.ts +0 -2
  165. package/dist/test/lib/core/registry.test.d.ts.map +0 -1
  166. package/dist/test/lib/core/registry.test.js +0 -120
  167. package/dist/test/lib/core/registry.test.js.map +0 -1
  168. package/dist/test/lib/core/render/processing-instructions.test.d.ts +0 -2
  169. package/dist/test/lib/core/render/processing-instructions.test.d.ts.map +0 -1
  170. package/dist/test/lib/core/render/processing-instructions.test.js +0 -68
  171. package/dist/test/lib/core/render/processing-instructions.test.js.map +0 -1
  172. package/dist/test/lib/core/render/render.test.d.ts +0 -2
  173. package/dist/test/lib/core/render/render.test.d.ts.map +0 -1
  174. package/dist/test/lib/core/render/render.test.js +0 -84
  175. package/dist/test/lib/core/render/render.test.js.map +0 -1
  176. package/dist/test/lib/core/render/utils.test.d.ts +0 -2
  177. package/dist/test/lib/core/render/utils.test.d.ts.map +0 -1
  178. package/dist/test/lib/core/render/utils.test.js +0 -161
  179. package/dist/test/lib/core/render/utils.test.js.map +0 -1
  180. package/dist/test/lib/logger.test.d.ts +0 -2
  181. package/dist/test/lib/logger.test.d.ts.map +0 -1
  182. package/dist/test/lib/logger.test.js +0 -64
  183. package/dist/test/lib/logger.test.js.map +0 -1
  184. package/dist/test/lib/types/base-path.test.d.ts +0 -2
  185. package/dist/test/lib/types/base-path.test.d.ts.map +0 -1
  186. package/dist/test/lib/types/base-path.test.js +0 -36
  187. package/dist/test/lib/types/base-path.test.js.map +0 -1
  188. package/dist/test/lib/types/log-level.test.d.ts +0 -2
  189. package/dist/test/lib/types/log-level.test.d.ts.map +0 -1
  190. package/dist/test/lib/types/log-level.test.js +0 -122
  191. package/dist/test/lib/types/log-level.test.js.map +0 -1
  192. package/dist/test/lib/types/optional.test.d.ts +0 -2
  193. package/dist/test/lib/types/optional.test.d.ts.map +0 -1
  194. package/dist/test/lib/types/optional.test.js +0 -116
  195. package/dist/test/lib/types/optional.test.js.map +0 -1
  196. package/dist/test/lib/types/result.test.d.ts +0 -2
  197. package/dist/test/lib/types/result.test.d.ts.map +0 -1
  198. package/dist/test/lib/types/result.test.js +0 -97
  199. package/dist/test/lib/types/result.test.js.map +0 -1
  200. package/dist/test/lib/utils/index.test.d.ts +0 -2
  201. package/dist/test/lib/utils/index.test.d.ts.map +0 -1
  202. package/dist/test/lib/utils/index.test.js +0 -27
  203. package/dist/test/lib/utils/index.test.js.map +0 -1
  204. package/dist/test/lib/utils/switch-case.test.d.ts +0 -2
  205. package/dist/test/lib/utils/switch-case.test.d.ts.map +0 -1
  206. package/dist/test/lib/utils/switch-case.test.js +0 -33
  207. package/dist/test/lib/utils/switch-case.test.js.map +0 -1
  208. package/dist/test/src/cli.test.d.ts +0 -2
  209. package/dist/test/src/cli.test.d.ts.map +0 -1
  210. package/dist/test/src/cli.test.js +0 -9
  211. package/dist/test/src/cli.test.js.map +0 -1
  212. package/dist/vitest.config.d.ts +0 -3
  213. package/dist/vitest.config.d.ts.map +0 -1
  214. package/dist/vitest.config.js +0 -30
  215. package/dist/vitest.config.js.map +0 -1
@@ -1,264 +0,0 @@
1
- /* eslint-disable max-lines */
2
- import { Logger } from '#lib/logger';
3
- /** Checks if the document is supposed to viewed as a PDF. */
4
- export const isPDF = function isPDF() {
5
- const params = new URLSearchParams(window.location.search);
6
- if (params.has('pdf'))
7
- return true;
8
- return params.has('type', 'pdf');
9
- };
10
- /** Adds enables the stacked layout in the body. */
11
- export const setStackedLayout = function setStackedLayout() {
12
- if (!isPDF())
13
- return;
14
- Logger.debug('is a PDF, forcing stacked layout.');
15
- document.body.classList.add('pdf');
16
- };
17
- /**
18
- * The Regex the Hash will comply with.
19
- */
20
- export const regex = /^#slide-(?<slide>\d+)/iu;
21
- /**
22
- * Sets the browsers location hash (the `#id` part) to the given index.
23
- */
24
- export const setCurrentSlideUrlHash = function setCurrentSlideUrlHash(index) {
25
- window.location.hash = `slide-${index}`;
26
- };
27
- export function getCurrentSlideUrlHash({ allowMissing = false, } = {}) {
28
- const match = regex.exec(window.location.hash);
29
- if (!match?.groups) {
30
- if (allowMissing)
31
- return null;
32
- throw new Error(`Expected window.location.hash to be of the form ${regex}, but found ${window.location.hash}.`);
33
- }
34
- const { slide } = match.groups;
35
- return Number.parseInt(slide, 10);
36
- }
37
- /** Goes to the next slide. */
38
- export const goToNextSlide = function goToNextSlide() {
39
- const currentSlide = getCurrentSlideUrlHash();
40
- const nextSlide = currentSlide + 1;
41
- Logger.info(`Going to the next slide: ${nextSlide}`);
42
- setCurrentSlideUrlHash(nextSlide);
43
- };
44
- /** Goes to the previous slide. */
45
- export const goToPreviousSlide = function goToPreviousSlide() {
46
- const currentSlide = getCurrentSlideUrlHash();
47
- const previousSlide = currentSlide - 1;
48
- if (previousSlide < 1) {
49
- Logger.warn(`At the start of the presentation, cannot go back further.`);
50
- return;
51
- }
52
- Logger.info(`Going to the previous slide: ${previousSlide}`);
53
- setCurrentSlideUrlHash(previousSlide);
54
- };
55
- /**
56
- * The callback to exec when the window has loaded to ensure that a hash slide is set.
57
- */
58
- const setupUrlHashCallBack = function setupUrlHashCallBack() {
59
- const currentSlide = getCurrentSlideUrlHash({ allowMissing: true });
60
- if (currentSlide === null)
61
- setCurrentSlideUrlHash(1);
62
- };
63
- /**
64
- * Watches for changes in the hash of the URL (the # part), and resets the hash if it is incorrect.
65
- */
66
- export const handleUrlHashChange = function handleUrlHashChange(event) {
67
- const oldUrl = new URL(event.oldURL);
68
- const newURL = new URL(event.newURL);
69
- const match = regex.exec(newURL.hash);
70
- if (!match?.groups) {
71
- let message = `The new URL hash: ${newURL.hash} does not have a hash of the right shape: ${regex}.`;
72
- message += `Resetting it to the old value of ${oldUrl.hash}`;
73
- Logger.warn(message);
74
- history.replaceState(null, '', event.oldURL);
75
- return;
76
- }
77
- Logger.info(`Moved to: ${event.newURL}`);
78
- };
79
- /** Handles mouse presses on the document, and moves slides accordingly. */
80
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
81
- export const handleMousePresses = function handleMousePresses(event) {
82
- if (isPDF())
83
- return;
84
- // Letting the "handle touch" function handle clicks if they are on mobile.
85
- if ('ontouchstart' in window || navigator.maxTouchPoints > 0)
86
- return;
87
- const leftClick = 0;
88
- if (event.button === leftClick)
89
- goToNextSlide();
90
- const rightClick = 2;
91
- if (event.button === rightClick)
92
- goToPreviousSlide();
93
- };
94
- /** Toggles between full screen and normal web page mode. */
95
- export const toggleFullScreen = function toggleFullScreen() {
96
- if (document.fullscreenElement) {
97
- document.exitFullscreen().catch((error) => {
98
- Logger.error(error);
99
- });
100
- }
101
- else {
102
- document.documentElement
103
- .requestFullscreen()
104
- .then(() => {
105
- Logger.info('Received full screen permissions, press ESC to exit.');
106
- })
107
- .catch((error) => {
108
- Logger.error(error);
109
- });
110
- }
111
- };
112
- /** Gets the size of one `--unit` in pixels. */
113
- export const getOneUnitSizeInPixels = function getOneUnitSizeInPixels() {
114
- const element = document.createElement('div');
115
- element.style.position = 'absolute';
116
- element.style.visibility = 'hidden';
117
- element.style.height = 'var(--unit)';
118
- document.body.appendChild(element);
119
- const pixels = element.getBoundingClientRect().height;
120
- document.body.removeChild(element);
121
- return pixels;
122
- };
123
- /** Scrolls the window down by `amount * --unit` in pixels. */
124
- export const scrollUsingUnit = function scrollUsingUnit({ amount, slides = false, }) {
125
- let modifier = 1;
126
- if (slides) {
127
- const marginBetweenSlides = 1;
128
- const value = getComputedStyle(document.body).getPropertyValue('--height').trim();
129
- modifier = Number.parseFloat(value) + marginBetweenSlides;
130
- }
131
- const pixels = getOneUnitSizeInPixels() * amount * modifier;
132
- Logger.debug(`Scrolling by ${pixels} pixels`);
133
- if (!Number.isNaN(pixels))
134
- document.body.scrollBy({ behavior: 'smooth', left: 0, top: pixels });
135
- };
136
- /** Handles key presses on the document, and moves slides accordingly. */
137
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
138
- export const handleKeyPresses = function handleKeyPresses(event) {
139
- switch (event.key) {
140
- case 'Enter':
141
- case ' ':
142
- case 'd':
143
- case 'l':
144
- case 'ArrowRight':
145
- if (!isPDF())
146
- goToNextSlide();
147
- break;
148
- case 'a':
149
- case 'h':
150
- case 'ArrowLeft':
151
- if (!isPDF())
152
- goToPreviousSlide();
153
- break;
154
- case 'f':
155
- case 'F11':
156
- toggleFullScreen();
157
- break;
158
- case 'ArrowDown':
159
- case 'PageDown':
160
- if (isPDF())
161
- scrollUsingUnit({ amount: 1, slides: true });
162
- break;
163
- case 'ArrowUp':
164
- case 'PageUp':
165
- if (isPDF())
166
- scrollUsingUnit({ amount: -1, slides: true });
167
- break;
168
- default:
169
- }
170
- };
171
- /** Handles scrolling through on the document, and moves slides accordingly. */
172
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
173
- export const handleScrollEvents = function handleScrollEvents(event) {
174
- if (isPDF())
175
- return;
176
- if (event.deltaY < 0)
177
- goToNextSlide();
178
- if (event.deltaY > 0)
179
- goToPreviousSlide();
180
- };
181
- /**
182
- * Handles touch events the screen. Goes to the next slide, when tapping the right half,
183
- * and the previous slide when tapping the left half of the screen.
184
- */
185
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
186
- export const handleTouchEvents = function handleTouchEvents(event) {
187
- if (isPDF())
188
- return;
189
- const half = 2;
190
- const screenWidth = window.innerWidth;
191
- for (const touch of event.touches) {
192
- // Ignoring touches outside of the presentation, or are not on document nodes.
193
- const { target } = touch;
194
- if (!(target instanceof Node))
195
- continue;
196
- if (!document.body.contains(target))
197
- continue;
198
- if (target === document.documentElement)
199
- continue;
200
- if (touch.clientX > screenWidth / half)
201
- goToNextSlide();
202
- else
203
- goToPreviousSlide();
204
- }
205
- };
206
- let hideTimeout; // eslint-disable-line @typescript-eslint/init-declarations
207
- /** Hides mouse cursor when its not moving, shows the mouse cursor when it is. */
208
- export const handleMouseMove = function handleMouseMove() {
209
- if (isPDF())
210
- return;
211
- document.documentElement.style.cursor = 'default';
212
- clearTimeout(hideTimeout);
213
- const second = 1000;
214
- hideTimeout = setTimeout(() => {
215
- document.documentElement.style.cursor = 'none';
216
- }, second);
217
- };
218
- /** Prevents context menus from showing up when right clicking. */
219
- // eslint-disable-next-line @typescript-eslint/prefer-readonly-parameter-types
220
- export const handleContextMenus = function handleContextMenus(event) {
221
- if (isPDF())
222
- return;
223
- event.preventDefault();
224
- };
225
- /** Adds a bunch of events listeners as setup. */
226
- export const addEventListeners = function addEventListeners() {
227
- window.addEventListener('prev:slide', goToPreviousSlide);
228
- window.addEventListener('next:slide', goToNextSlide);
229
- window.addEventListener('load', setupUrlHashCallBack);
230
- window.addEventListener('load', setStackedLayout);
231
- window.addEventListener('hashchange', handleUrlHashChange);
232
- window.addEventListener('mousedown', handleMousePresses);
233
- window.addEventListener('keydown', handleKeyPresses);
234
- window.addEventListener('wheel', handleScrollEvents);
235
- window.addEventListener('touchstart', handleTouchEvents);
236
- window.addEventListener('mousemove', handleMouseMove);
237
- window.addEventListener('contextmenu', handleContextMenus);
238
- };
239
- /** The full setup code to run when first opening the document */
240
- // eslint-disable-next-line no-inline-comments
241
- export const setupScriptCode = /*JavaScript*/ `
242
- "use strict";
243
- ${isPDF.toString()}
244
- ${setStackedLayout.toString()}
245
- let hideTimeout;
246
- ${handleMouseMove.toString()}
247
- const regex = ${regex.toString()};
248
- ${setCurrentSlideUrlHash.toString()}
249
- ${getCurrentSlideUrlHash.toString()}
250
- ${goToNextSlide.toString()}
251
- ${goToPreviousSlide.toString()}
252
- ${setupUrlHashCallBack.toString()}
253
- ${handleUrlHashChange.toString()}
254
- ${handleMousePresses.toString()}
255
- ${toggleFullScreen.toString()}
256
- ${getOneUnitSizeInPixels.toString()}
257
- ${scrollUsingUnit.toString()}
258
- ${handleKeyPresses.toString()}
259
- ${handleScrollEvents.toString()}
260
- ${handleTouchEvents.toString()}
261
- ${handleContextMenus.toString()}
262
- (${addEventListeners.toString()})(); // Executes immediately.
263
- `;
264
- //# sourceMappingURL=page-logic.browser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"page-logic.browser.js","sourceRoot":"","sources":["../../browser/page-logic.browser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cleanAndMergeAdjacentTextNodes.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanAndMergeAdjacentTextNodes.test.d.ts","sourceRoot":"","sources":["../../../../../../test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodes.test.ts"],"names":[],"mappings":""}
@@ -1,300 +0,0 @@
1
- /* eslint-disable max-lines */
2
- import { describe, expect, test } from 'vitest';
3
- import { cleanAndMergeAdjacentTextNodes } from '#lib/core/compiler/io';
4
- describe('function cleanAndMergeAdjacentTextNodes', () => {
5
- test(`filtering of no children`, () => {
6
- const root = {
7
- attributes: {},
8
- children: null,
9
- name: 'root',
10
- type: 'Element',
11
- };
12
- const input = {
13
- children: [root],
14
- declaration: null,
15
- root,
16
- };
17
- const result = cleanAndMergeAdjacentTextNodes(input);
18
- expect(result).toStrictEqual({
19
- ...input,
20
- children: [
21
- {
22
- ...root,
23
- children: [],
24
- },
25
- ],
26
- root: {
27
- ...root,
28
- children: [],
29
- },
30
- });
31
- });
32
- test(`merging of no children`, () => {
33
- const root = {
34
- attributes: {},
35
- children: [
36
- {
37
- content: 'A',
38
- type: 'Text',
39
- },
40
- {
41
- content: 'B',
42
- type: 'Text',
43
- },
44
- ],
45
- name: 'root',
46
- type: 'Element',
47
- };
48
- const input = {
49
- children: [root],
50
- declaration: null,
51
- root,
52
- };
53
- const result = cleanAndMergeAdjacentTextNodes(input);
54
- expect(result).toStrictEqual({
55
- ...input,
56
- children: [
57
- {
58
- ...root,
59
- children: [
60
- {
61
- content: 'A B',
62
- type: 'Text',
63
- },
64
- ],
65
- },
66
- ],
67
- root: {
68
- ...root,
69
- children: [
70
- {
71
- content: 'A B',
72
- type: 'Text',
73
- },
74
- ],
75
- },
76
- });
77
- });
78
- test(`filtering of empty text`, () => {
79
- const root = {
80
- attributes: {},
81
- children: [
82
- {
83
- content: '',
84
- type: 'Text',
85
- },
86
- {
87
- content: ' ',
88
- type: 'Text',
89
- },
90
- ],
91
- name: 'root',
92
- type: 'Element',
93
- };
94
- const input = {
95
- children: [root],
96
- declaration: null,
97
- root,
98
- };
99
- const result = cleanAndMergeAdjacentTextNodes(input);
100
- expect(result).toStrictEqual({
101
- ...input,
102
- children: [
103
- {
104
- ...root,
105
- children: [],
106
- },
107
- ],
108
- root: {
109
- ...root,
110
- children: [],
111
- },
112
- });
113
- });
114
- test(`filtering of empty before, after, or between anything else`, () => {
115
- const root = {
116
- attributes: {},
117
- children: [
118
- {
119
- content: '',
120
- type: 'Text',
121
- },
122
- {
123
- content: 'this is a comment',
124
- type: 'Comment',
125
- },
126
- {
127
- content: ' ',
128
- type: 'Text',
129
- },
130
- {
131
- content: 'this is a comment',
132
- type: 'Comment',
133
- },
134
- {
135
- content: ' ',
136
- type: 'Text',
137
- },
138
- ],
139
- name: 'root',
140
- type: 'Element',
141
- };
142
- const input = {
143
- children: [root],
144
- declaration: null,
145
- root,
146
- };
147
- const result = cleanAndMergeAdjacentTextNodes(input);
148
- expect(result).toStrictEqual({
149
- ...input,
150
- children: [
151
- {
152
- ...root,
153
- children: [
154
- {
155
- content: 'this is a comment',
156
- type: 'Comment',
157
- },
158
- {
159
- content: 'this is a comment',
160
- type: 'Comment',
161
- },
162
- ],
163
- },
164
- ],
165
- root: {
166
- ...root,
167
- children: [
168
- {
169
- content: 'this is a comment',
170
- type: 'Comment',
171
- },
172
- {
173
- content: 'this is a comment',
174
- type: 'Comment',
175
- },
176
- ],
177
- },
178
- });
179
- });
180
- test(`no changes on non text nodes`, () => {
181
- const root = {
182
- attributes: {},
183
- children: [
184
- {
185
- content: 'this is a instruction',
186
- name: 'program',
187
- type: 'ProcessingInstruction',
188
- },
189
- {
190
- content: 'this data',
191
- type: 'CDATA',
192
- },
193
- ],
194
- name: 'root',
195
- type: 'Element',
196
- };
197
- const input = {
198
- children: [root],
199
- declaration: null,
200
- root,
201
- };
202
- const result = cleanAndMergeAdjacentTextNodes(input);
203
- expect(result).toStrictEqual(input);
204
- });
205
- test(`checking recursion result`, () => {
206
- const child = {
207
- attributes: {},
208
- children: [
209
- {
210
- content: '',
211
- type: 'Text',
212
- },
213
- {
214
- content: 'this is a comment',
215
- type: 'Comment',
216
- },
217
- {
218
- content: ' ',
219
- type: 'Text',
220
- },
221
- {
222
- content: 'this is a comment',
223
- type: 'Comment',
224
- },
225
- {
226
- content: ' ',
227
- type: 'Text',
228
- },
229
- ],
230
- name: 'child',
231
- type: 'Element',
232
- };
233
- const root = {
234
- attributes: {},
235
- children: [child],
236
- name: 'root',
237
- type: 'Element',
238
- };
239
- const input = {
240
- children: [
241
- {
242
- content: 'this is a instruction',
243
- name: 'program',
244
- type: 'ProcessingInstruction',
245
- },
246
- root,
247
- ],
248
- declaration: null,
249
- root,
250
- };
251
- const result = cleanAndMergeAdjacentTextNodes(input);
252
- expect(result).toStrictEqual({
253
- ...input,
254
- children: [
255
- {
256
- content: 'this is a instruction',
257
- name: 'program',
258
- type: 'ProcessingInstruction',
259
- },
260
- {
261
- ...root,
262
- children: [
263
- {
264
- ...child,
265
- children: [
266
- {
267
- content: 'this is a comment',
268
- type: 'Comment',
269
- },
270
- {
271
- content: 'this is a comment',
272
- type: 'Comment',
273
- },
274
- ],
275
- },
276
- ],
277
- },
278
- ],
279
- root: {
280
- ...root,
281
- children: [
282
- {
283
- ...child,
284
- children: [
285
- {
286
- content: 'this is a comment',
287
- type: 'Comment',
288
- },
289
- {
290
- content: 'this is a comment',
291
- type: 'Comment',
292
- },
293
- ],
294
- },
295
- ],
296
- },
297
- });
298
- });
299
- });
300
- //# sourceMappingURL=cleanAndMergeAdjacentTextNodes.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanAndMergeAdjacentTextNodes.test.js","sourceRoot":"","sources":["../../../../../../test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodes.test.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=cleanAndMergeAdjacentTextNodesRecurse.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cleanAndMergeAdjacentTextNodesRecurse.test.d.ts","sourceRoot":"","sources":["../../../../../../test/lib/core/compiler/io/cleanAndMergeAdjacentTextNodesRecurse.test.ts"],"names":[],"mappings":""}