@studiometa/ui 0.2.46 → 0.2.48

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 (183) hide show
  1. package/atoms/Action/Action.cjs +12 -17
  2. package/atoms/Action/Action.cjs.map +1 -1
  3. package/atoms/Action/Action.js.map +1 -1
  4. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +3 -8
  5. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +1 -1
  6. package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +1 -1
  7. package/atoms/CircularMarquee/CircularMarquee.cjs +12 -17
  8. package/atoms/CircularMarquee/CircularMarquee.cjs.map +1 -1
  9. package/atoms/Cursor/Cursor.cjs +37 -42
  10. package/atoms/Cursor/Cursor.cjs.map +1 -1
  11. package/atoms/Cursor/Cursor.js.map +1 -1
  12. package/atoms/Figure/Figure.cjs +13 -18
  13. package/atoms/Figure/Figure.cjs.map +1 -1
  14. package/atoms/Figure/FigureTwicpics.cjs +26 -31
  15. package/atoms/Figure/FigureTwicpics.cjs.map +1 -1
  16. package/atoms/Figure/FigureTwicpics.js.map +1 -1
  17. package/atoms/FigureVideo/FigureVideo.cjs +132 -0
  18. package/atoms/FigureVideo/FigureVideo.cjs.map +7 -0
  19. package/atoms/FigureVideo/FigureVideo.d.ts +51 -0
  20. package/atoms/FigureVideo/FigureVideo.js +110 -0
  21. package/atoms/FigureVideo/FigureVideo.js.map +7 -0
  22. package/atoms/FigureVideo/FigureVideo.twig +152 -0
  23. package/atoms/FigureVideo/FigureVideoTwicpics.cjs +153 -0
  24. package/atoms/FigureVideo/FigureVideoTwicpics.cjs.map +7 -0
  25. package/atoms/FigureVideo/FigureVideoTwicpics.d.ts +57 -0
  26. package/atoms/FigureVideo/FigureVideoTwicpics.js +135 -0
  27. package/atoms/FigureVideo/FigureVideoTwicpics.js.map +7 -0
  28. package/atoms/FigureVideo/FigureVideoTwicpics.twig +98 -0
  29. package/atoms/FigureVideo/index.cjs +22 -0
  30. package/atoms/FigureVideo/index.cjs.map +7 -0
  31. package/atoms/FigureVideo/index.d.ts +2 -0
  32. package/atoms/FigureVideo/index.js +3 -0
  33. package/atoms/FigureVideo/index.js.map +7 -0
  34. package/atoms/LargeText/LargeText.cjs +18 -23
  35. package/atoms/LargeText/LargeText.cjs.map +1 -1
  36. package/atoms/LazyInclude/LazyInclude.cjs +12 -17
  37. package/atoms/LazyInclude/LazyInclude.cjs.map +1 -1
  38. package/atoms/Prefetch/AbstractPrefetch.cjs +17 -23
  39. package/atoms/Prefetch/AbstractPrefetch.cjs.map +1 -1
  40. package/atoms/Prefetch/PrefetchWhenOver.cjs +7 -12
  41. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +1 -1
  42. package/atoms/Prefetch/PrefetchWhenVisible.cjs +7 -12
  43. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +1 -1
  44. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +27 -32
  45. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +1 -1
  46. package/atoms/ScrollAnimation/AbstractScrollAnimation.d.ts +1 -1
  47. package/atoms/ScrollAnimation/ScrollAnimation.cjs +8 -13
  48. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +1 -1
  49. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +18 -23
  50. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +1 -1
  51. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +7 -12
  52. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +1 -1
  53. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.d.ts +1 -1
  54. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +9 -14
  55. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +1 -1
  56. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +7 -12
  57. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +1 -1
  58. package/atoms/ScrollAnimation/ScrollAnimationWithEase.d.ts +1 -1
  59. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +1 -1
  60. package/atoms/ScrollAnimation/animationScrollWithEase.js.map +1 -1
  61. package/atoms/ScrollReveal/ScrollReveal.cjs +25 -31
  62. package/atoms/ScrollReveal/ScrollReveal.cjs.map +1 -1
  63. package/atoms/index.cjs +1 -0
  64. package/atoms/index.cjs.map +2 -2
  65. package/atoms/index.d.ts +1 -0
  66. package/atoms/index.js +1 -0
  67. package/atoms/index.js.map +2 -2
  68. package/decorators/index.cjs +1 -0
  69. package/decorators/index.cjs.map +2 -2
  70. package/decorators/index.d.ts +1 -0
  71. package/decorators/index.js +1 -0
  72. package/decorators/index.js.map +2 -2
  73. package/decorators/withDeprecation.cjs +47 -0
  74. package/decorators/withDeprecation.cjs.map +7 -0
  75. package/decorators/withDeprecation.d.ts +9 -0
  76. package/decorators/withDeprecation.js +25 -0
  77. package/decorators/withDeprecation.js.map +7 -0
  78. package/decorators/withTransition.cjs.map +1 -1
  79. package/decorators/withTransition.js.map +1 -1
  80. package/molecules/Accordion/Accordion.cjs +6 -11
  81. package/molecules/Accordion/Accordion.cjs.map +1 -1
  82. package/molecules/Accordion/AccordionCore.cjs +14 -19
  83. package/molecules/Accordion/AccordionCore.cjs.map +1 -1
  84. package/molecules/Accordion/AccordionItem.cjs +23 -29
  85. package/molecules/Accordion/AccordionItem.cjs.map +1 -1
  86. package/molecules/Accordion/AccordionItem.js.map +1 -1
  87. package/molecules/AnchorNav/AnchorNav.cjs +63 -0
  88. package/molecules/AnchorNav/AnchorNav.cjs.map +7 -0
  89. package/molecules/AnchorNav/AnchorNav.d.ts +24 -0
  90. package/molecules/AnchorNav/AnchorNav.js +41 -0
  91. package/molecules/AnchorNav/AnchorNav.js.map +7 -0
  92. package/molecules/AnchorNav/AnchorNavLink.cjs +40 -0
  93. package/molecules/AnchorNav/AnchorNavLink.cjs.map +7 -0
  94. package/molecules/AnchorNav/AnchorNavLink.d.ts +19 -0
  95. package/molecules/AnchorNav/AnchorNavLink.js +18 -0
  96. package/molecules/AnchorNav/AnchorNavLink.js.map +7 -0
  97. package/molecules/AnchorNav/AnchorNavTarget.cjs +35 -0
  98. package/molecules/AnchorNav/AnchorNavTarget.cjs.map +7 -0
  99. package/molecules/AnchorNav/AnchorNavTarget.d.ts +13 -0
  100. package/molecules/AnchorNav/AnchorNavTarget.js +13 -0
  101. package/molecules/AnchorNav/AnchorNavTarget.js.map +7 -0
  102. package/molecules/AnchorNav/index.cjs +23 -0
  103. package/molecules/AnchorNav/index.cjs.map +7 -0
  104. package/molecules/AnchorNav/index.d.ts +3 -0
  105. package/molecules/AnchorNav/index.js +4 -0
  106. package/molecules/AnchorNav/index.js.map +7 -0
  107. package/molecules/Menu/Menu.cjs +19 -25
  108. package/molecules/Menu/Menu.cjs.map +1 -1
  109. package/molecules/Menu/MenuBtn.cjs +6 -11
  110. package/molecules/Menu/MenuBtn.cjs.map +1 -1
  111. package/molecules/Menu/MenuList.cjs +12 -18
  112. package/molecules/Menu/MenuList.cjs.map +1 -1
  113. package/molecules/Menu/MenuList.d.ts +1 -1
  114. package/molecules/Modal/Modal.cjs +28 -33
  115. package/molecules/Modal/Modal.cjs.map +1 -1
  116. package/molecules/Modal/ModalWithTransition.cjs +31 -36
  117. package/molecules/Modal/ModalWithTransition.cjs.map +1 -1
  118. package/molecules/Panel/Panel.cjs +19 -25
  119. package/molecules/Panel/Panel.cjs.map +1 -1
  120. package/molecules/Slider/AbstractSliderChild.cjs +6 -11
  121. package/molecules/Slider/AbstractSliderChild.cjs.map +1 -1
  122. package/molecules/Slider/AbstractSliderChild.js.map +1 -1
  123. package/molecules/Slider/Slider.cjs +19 -24
  124. package/molecules/Slider/Slider.cjs.map +1 -1
  125. package/molecules/Slider/Slider.js.map +1 -1
  126. package/molecules/Slider/SliderBtn.cjs +11 -16
  127. package/molecules/Slider/SliderBtn.cjs.map +1 -1
  128. package/molecules/Slider/SliderBtn.js.map +1 -1
  129. package/molecules/Slider/SliderCount.cjs +7 -12
  130. package/molecules/Slider/SliderCount.cjs.map +1 -1
  131. package/molecules/Slider/SliderCount.js.map +1 -1
  132. package/molecules/Slider/SliderDots.cjs +7 -12
  133. package/molecules/Slider/SliderDots.cjs.map +1 -1
  134. package/molecules/Slider/SliderDots.d.ts +1 -1
  135. package/molecules/Slider/SliderDrag.cjs +13 -18
  136. package/molecules/Slider/SliderDrag.cjs.map +1 -1
  137. package/molecules/Slider/SliderDrag.d.ts +1 -1
  138. package/molecules/Slider/SliderItem.cjs +7 -12
  139. package/molecules/Slider/SliderItem.cjs.map +1 -1
  140. package/molecules/Slider/SliderProgress.cjs +7 -12
  141. package/molecules/Slider/SliderProgress.cjs.map +1 -1
  142. package/molecules/Sticky/Sticky.cjs +24 -30
  143. package/molecules/Sticky/Sticky.cjs.map +1 -1
  144. package/molecules/Sticky/Sticky.js.map +1 -1
  145. package/molecules/TableOfContent/TableOfContent.cjs +16 -20
  146. package/molecules/TableOfContent/TableOfContent.cjs.map +2 -2
  147. package/molecules/TableOfContent/TableOfContent.d.ts +4 -1
  148. package/molecules/TableOfContent/TableOfContent.js +2 -1
  149. package/molecules/TableOfContent/TableOfContent.js.map +2 -2
  150. package/molecules/TableOfContent/TableOfContentAnchor.cjs +18 -20
  151. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +2 -2
  152. package/molecules/TableOfContent/TableOfContentAnchor.d.ts +4 -1
  153. package/molecules/TableOfContent/TableOfContentAnchor.js +5 -2
  154. package/molecules/TableOfContent/TableOfContentAnchor.js.map +2 -2
  155. package/molecules/Tabs/Tabs.cjs +24 -29
  156. package/molecules/Tabs/Tabs.cjs.map +1 -1
  157. package/molecules/Tabs/Tabs.js.map +1 -1
  158. package/molecules/index.cjs +1 -0
  159. package/molecules/index.cjs.map +2 -2
  160. package/molecules/index.d.ts +1 -0
  161. package/molecules/index.js +1 -0
  162. package/molecules/index.js.map +2 -2
  163. package/organisms/Frame/Frame.cjs +46 -39
  164. package/organisms/Frame/Frame.cjs.map +3 -3
  165. package/organisms/Frame/Frame.d.ts +2 -2
  166. package/organisms/Frame/Frame.js +20 -7
  167. package/organisms/Frame/Frame.js.map +3 -3
  168. package/organisms/Frame/FrameAnchor.cjs +6 -11
  169. package/organisms/Frame/FrameAnchor.cjs.map +1 -1
  170. package/organisms/Frame/FrameForm.cjs +6 -11
  171. package/organisms/Frame/FrameForm.cjs.map +1 -1
  172. package/organisms/Frame/FrameTarget.cjs +25 -31
  173. package/organisms/Frame/FrameTarget.cjs.map +1 -1
  174. package/organisms/Frame/FrameTarget.d.ts +1 -1
  175. package/package.json +3 -3
  176. package/primitives/Draggable/Draggable.cjs +6 -11
  177. package/primitives/Draggable/Draggable.cjs.map +1 -1
  178. package/primitives/Draggable/Draggable.d.ts +1 -1
  179. package/primitives/Sentinel/Sentinel.cjs +6 -11
  180. package/primitives/Sentinel/Sentinel.cjs.map +1 -1
  181. package/primitives/Transition/Transition.cjs +6 -11
  182. package/primitives/Transition/Transition.cjs.map +1 -1
  183. package/primitives/Transition/Transition.d.ts +1 -1
@@ -0,0 +1,57 @@
1
+ import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';
2
+ import { FigureVideo } from './FigureVideo.js';
3
+ export interface FigureVideoTwicpicsProps extends BaseProps {
4
+ $refs: {
5
+ video: HTMLVideoElement;
6
+ };
7
+ $options: {
8
+ lazy: boolean;
9
+ transform: string;
10
+ domain: string;
11
+ path: string;
12
+ step: number;
13
+ mode: string;
14
+ };
15
+ }
16
+ /**
17
+ * FigureVideo class.
18
+ *
19
+ * Manager lazyloading image sources.
20
+ */
21
+ export declare class FigureVideoTwicpics<T extends BaseProps = BaseProps> extends FigureVideo<T & FigureVideoTwicpicsProps> {
22
+ /**
23
+ * Config.
24
+ */
25
+ static config: BaseConfig;
26
+ /**
27
+ * Get the Twicpics path.
28
+ */
29
+ get path(): string;
30
+ /**
31
+ * Get the Twicpics domain.
32
+ */
33
+ get domain(): string;
34
+ /**
35
+ * Format the source for Twicpics.
36
+ * @param {string} src
37
+ * @param {Array} options
38
+ * @returns {string}
39
+ */
40
+ formatSrc(src: string, options?: Array<string>): string;
41
+ /**
42
+ * Load poster
43
+ */
44
+ loadPoster(): Promise<void | HTMLImageElement>;
45
+ /**
46
+ * Load sources
47
+ */
48
+ loadSources(): Promise<void>;
49
+ /**
50
+ * Reassign the source from the original on resize.
51
+ */
52
+ resized(): Promise<void>;
53
+ /**
54
+ * Do not terminate on image load as we need to set the src on resize.
55
+ */
56
+ onLoad(): void;
57
+ }
@@ -0,0 +1,135 @@
1
+ import {
2
+ withLeadingSlash,
3
+ withoutLeadingSlash,
4
+ withoutTrailingSlash
5
+ } from "@studiometa/js-toolkit/utils";
6
+ import { loadImage } from "../index.js";
7
+ import { FigureVideo } from "./FigureVideo.js";
8
+ function normalizeSize(that, prop) {
9
+ const { step } = that.$options;
10
+ return Math.ceil(that.$refs.video[prop] / step) * step;
11
+ }
12
+ class FigureVideoTwicpics extends FigureVideo {
13
+ /**
14
+ * Config.
15
+ */
16
+ static config = {
17
+ ...FigureVideo.config,
18
+ name: "FigureVideoTwicpics",
19
+ options: {
20
+ ...FigureVideo.config.options,
21
+ transform: String,
22
+ domain: String,
23
+ path: String,
24
+ step: {
25
+ type: Number,
26
+ default: 50
27
+ },
28
+ mode: {
29
+ type: String,
30
+ default: "cover"
31
+ }
32
+ }
33
+ };
34
+ /**
35
+ * Get the Twicpics path.
36
+ */
37
+ get path() {
38
+ return withoutTrailingSlash(withoutLeadingSlash(this.$options.path));
39
+ }
40
+ /**
41
+ * Get the Twicpics domain.
42
+ */
43
+ get domain() {
44
+ if (this.$options.domain) {
45
+ return this.$options.domain;
46
+ }
47
+ const url = new URL(this.sources[0].dataset.src);
48
+ return url.host;
49
+ }
50
+ /**
51
+ * Format the source for Twicpics.
52
+ * @param {string} src
53
+ * @param {Array} options
54
+ * @returns {string}
55
+ */
56
+ formatSrc(src, options = []) {
57
+ const url = new URL(src, "https://localhost");
58
+ url.host = this.domain;
59
+ url.port = "";
60
+ if (this.path && !url.pathname.startsWith(withLeadingSlash(this.path))) {
61
+ url.pathname = `/${this.path}${url.pathname}`;
62
+ }
63
+ const width = normalizeSize(this, "offsetWidth");
64
+ const height = normalizeSize(this, "offsetHeight");
65
+ this.$log(this.$options.mode, width, height);
66
+ url.searchParams.set(
67
+ "twic",
68
+ ["v1", this.$options.transform, `${this.$options.mode}=${width}x${height}`, ...options].filter(Boolean).join("/")
69
+ );
70
+ url.search = decodeURIComponent(url.search);
71
+ return url.toString();
72
+ }
73
+ /**
74
+ * Load poster
75
+ */
76
+ loadPoster() {
77
+ const { video } = this.$refs;
78
+ if (!video.dataset.poster) {
79
+ return Promise.resolve();
80
+ }
81
+ const twicPoster = this.formatSrc(video.dataset.poster);
82
+ return loadImage(twicPoster).then(() => {
83
+ video.poster = twicPoster;
84
+ this.$log("fresh poster loaded");
85
+ });
86
+ }
87
+ /**
88
+ * Load sources
89
+ */
90
+ loadSources() {
91
+ const { video } = this.$refs;
92
+ this.sources.forEach((source) => {
93
+ if (!source.dataset.src) {
94
+ return;
95
+ }
96
+ source.src = this.formatSrc(
97
+ source.dataset.src,
98
+ source.dataset.output ? [`output=${source.dataset.output}`] : []
99
+ );
100
+ });
101
+ return new Promise((resolve) => {
102
+ const loadHandler = () => {
103
+ resolve();
104
+ video.removeEventListener("canplaythrough", loadHandler);
105
+ this.$log("fresh sources loaded");
106
+ };
107
+ video.addEventListener("canplaythrough", loadHandler);
108
+ this.$refs.video.width = normalizeSize(this, "offsetWidth");
109
+ this.$refs.video.height = normalizeSize(this, "offsetHeight");
110
+ video.load();
111
+ });
112
+ }
113
+ /**
114
+ * Reassign the source from the original on resize.
115
+ */
116
+ async resized() {
117
+ const width = normalizeSize(this, "offsetWidth");
118
+ const height = normalizeSize(this, "offsetHeight");
119
+ if (width === this.$refs.video.width && height === this.$refs.video.height) {
120
+ return;
121
+ }
122
+ this.$refs.video.width = width;
123
+ this.$refs.video.height = height;
124
+ await this.load();
125
+ }
126
+ /**
127
+ * Do not terminate on image load as we need to set the src on resize.
128
+ */
129
+ onLoad() {
130
+ }
131
+ }
132
+ export {
133
+ FigureVideoTwicpics
134
+ };
135
+ //# sourceMappingURL=FigureVideoTwicpics.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/atoms/FigureVideo/FigureVideoTwicpics.ts"],
4
+ "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport {\n withLeadingSlash,\n withoutLeadingSlash,\n withoutTrailingSlash,\n} from '@studiometa/js-toolkit/utils';\nimport { loadImage } from '../index.js';\nimport { FigureVideo } from './FigureVideo.js';\n\nexport interface FigureVideoTwicpicsProps extends BaseProps {\n $refs: {\n video: HTMLVideoElement;\n };\n $options: {\n lazy: boolean;\n transform: string;\n domain: string;\n path: string;\n step: number;\n mode: string;\n };\n}\n\n/**\n * Normalize the given size to the step option.\n */\n// eslint-disable-next-line no-use-before-define\nfunction normalizeSize(that: FigureVideoTwicpics, prop: string): number {\n const { step } = that.$options;\n return Math.ceil(that.$refs.video[prop] / step) * step;\n}\n\n/**\n * FigureVideo class.\n *\n * Manager lazyloading image sources.\n */\nexport class FigureVideoTwicpics<T extends BaseProps = BaseProps> extends FigureVideo<\n T & FigureVideoTwicpicsProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...FigureVideo.config,\n name: 'FigureVideoTwicpics',\n options: {\n ...FigureVideo.config.options,\n transform: String,\n domain: String,\n path: String,\n step: {\n type: Number,\n default: 50,\n },\n mode: {\n type: String,\n default: 'cover',\n },\n },\n };\n\n /**\n * Get the Twicpics path.\n */\n get path(): string {\n return withoutTrailingSlash(withoutLeadingSlash(this.$options.path));\n }\n\n /**\n * Get the Twicpics domain.\n */\n get domain(): string {\n if (this.$options.domain) {\n return this.$options.domain;\n }\n const url = new URL(this.sources[0].dataset.src);\n return url.host;\n }\n\n /**\n * Format the source for Twicpics.\n * @param {string} src\n * @param {Array} options\n * @returns {string}\n */\n formatSrc(src: string, options: Array<string> = []): string {\n const url = new URL(src, 'https://localhost');\n url.host = this.domain;\n url.port = '';\n\n if (this.path && !url.pathname.startsWith(withLeadingSlash(this.path))) {\n url.pathname = `/${this.path}${url.pathname}`;\n }\n\n const width = normalizeSize(this, 'offsetWidth');\n const height = normalizeSize(this, 'offsetHeight');\n\n this.$log(this.$options.mode, width, height);\n\n url.searchParams.set(\n 'twic',\n ['v1', this.$options.transform, `${this.$options.mode}=${width}x${height}`, ...options]\n .filter(Boolean)\n .join('/'),\n );\n\n url.search = decodeURIComponent(url.search);\n\n return url.toString();\n }\n\n /**\n * Load poster\n */\n loadPoster(): Promise<void|HTMLImageElement> {\n const { video } = this.$refs;\n\n if (!video.dataset.poster) {\n return Promise.resolve();\n }\n\n const twicPoster = this.formatSrc(video.dataset.poster);\n\n return loadImage(twicPoster).then(() => {\n video.poster = twicPoster;\n this.$log('fresh poster loaded');\n });\n }\n\n /**\n * Load sources\n */\n loadSources(): Promise<void> {\n const { video } = this.$refs;\n\n this.sources.forEach((source) => {\n if (!source.dataset.src) {\n return;\n }\n source.src = this.formatSrc(\n source.dataset.src,\n source.dataset.output ? [`output=${source.dataset.output}`] : [],\n );\n });\n\n return new Promise((resolve) => {\n const loadHandler = () => {\n resolve();\n video.removeEventListener('canplaythrough', loadHandler);\n this.$log('fresh sources loaded');\n };\n\n video.addEventListener('canplaythrough', loadHandler);\n\n this.$refs.video.width = normalizeSize(this, 'offsetWidth');\n this.$refs.video.height = normalizeSize(this, 'offsetHeight');\n\n video.load();\n });\n }\n\n /**\n * Reassign the source from the original on resize.\n */\n async resized() {\n const width = normalizeSize(this, 'offsetWidth');\n const height = normalizeSize(this, 'offsetHeight');\n\n if (width === this.$refs.video.width && height === this.$refs.video.height) {\n return;\n }\n\n this.$refs.video.width = width;\n this.$refs.video.height = height;\n\n await this.load();\n }\n\n /**\n * Do not terminate on image load as we need to set the src on resize.\n */\n onLoad() {\n // Do not terminate on image load as we need.\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,98 @@
1
+ {#
2
+ /**
3
+ * @file
4
+ * FigureVideo with Twicpics component.
5
+ *
6
+ * @param string $twic_domain
7
+ * The Twicpics domain to use.
8
+ * @param string $twic_path
9
+ * The Twicpics path to use.
10
+ * @param object $twic_transform
11
+ * Custom transforms for Twicpics.
12
+ */
13
+ #}
14
+
15
+ {% extends '@ui-pkg/atoms/FigureVideo/FigureVideo.twig' %}
16
+
17
+ {% set twic_param = 'v1' %}
18
+ {% if twic_transform is defined %}
19
+ {% set formatted_transform = [] %}
20
+ {% for key, value in twic_transform %}
21
+ {% set formatted_transform = formatted_transform|merge(['%s=%s'|format(key, value)]) %}
22
+ {% endfor %}
23
+ {% set formatted_transform = formatted_transform|join('/') %}
24
+
25
+ {% set twic_param = 'v1/%s'|format(formatted_transform) %}
26
+ {% set attr = (attr ?? {})|merge({ data_option_transform: formatted_transform }) %}
27
+ {% endif %}
28
+
29
+ {% if twic_domain is defined %}
30
+ {% set attr = (attr ?? {})|merge({ data_option_domain: twic_domain }) %}
31
+ {% endif %}
32
+
33
+ {% if twic_path is defined %}
34
+ {% set attr = (attr ?? {})|merge({ data_option_path: twic_path }) %}
35
+ {% endif %}
36
+
37
+ {% block sources %}
38
+ {% if sources is empty %}
39
+ {% set twic_src =
40
+ twig_toolkit_url(src).withQueryParameter('twic', twic_param).withScheme('https')
41
+ %}
42
+
43
+ {% if twic_domain is defined %}
44
+ {% set twic_src = twic_src.withHost(twic_domain) %}
45
+ {% endif %}
46
+
47
+ {% if twic_path is defined %}
48
+ {% set twic_src = twic_src.withPath(twic_path ~ twic_src.getPath()) %}
49
+ {% endif %}
50
+
51
+ {% set sources = [
52
+ {
53
+ src: twic_src.withQueryParameter('twic', '%s/output=%s'|format(twic_param, 'h265')),
54
+ data_output: lazy ? 'h265' : false,
55
+ type: 'video/mp4;codecs=hvc1'
56
+ },
57
+ {
58
+ src: twic_src.withQueryParameter('twic', '%s/output=%s'|format(twic_param, 'vp9')),
59
+ data_output: lazy ? 'vp9' : false,
60
+ type: 'video/webm;codecs=vp9'
61
+ },
62
+ {
63
+ src: twic_src.withQueryParameter('twic', '%s/output=%s'|format(twic_param, 'h264')),
64
+ data_output: lazy ? 'h264' : false
65
+ }
66
+ ] %}
67
+ {% endif %}
68
+
69
+ {% for source in sources %}
70
+ {% if twic_src is empty and source.src is not empty %}
71
+ {% set source_twic_src =
72
+ twig_toolkit_url(source.src).withQueryParameter('twic', twic_param).withScheme('https')
73
+ %}
74
+
75
+ {% if twic_domain is defined %}
76
+ {% set source_twic_src = source_twic_src.withHost(twic_domain) %}
77
+ {% endif %}
78
+
79
+ {% if twic_path is defined %}
80
+ {% set source_twic_src = source_twic_src.withPath(twic_path ~ source_twic_src.getPath()) %}
81
+ {% endif %}
82
+ {% else %}
83
+ {% set source_twic_src = source.src %}
84
+ {% endif %}
85
+
86
+ <source {{
87
+ html_attributes(
88
+ merge_html_attributes(
89
+ source,
90
+ {
91
+ src: lazy ? false : source_twic_src|default(false),
92
+ data_src: lazy ? source_twic_src|default(false) : false
93
+ }
94
+ )
95
+ )
96
+ }} />
97
+ {% endfor %}
98
+ {% endblock %}
@@ -0,0 +1,22 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __copyProps = (to, from, except, desc) => {
6
+ if (from && typeof from === "object" || typeof from === "function") {
7
+ for (let key of __getOwnPropNames(from))
8
+ if (!__hasOwnProp.call(to, key) && key !== except)
9
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
+ }
11
+ return to;
12
+ };
13
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+
16
+ // packages/ui/atoms/FigureVideo/index.ts
17
+ var FigureVideo_exports = {};
18
+ module.exports = __toCommonJS(FigureVideo_exports);
19
+ __reExport(FigureVideo_exports, require("./FigureVideo.cjs"), module.exports);
20
+ __reExport(FigureVideo_exports, require("./FigureVideoTwicpics.cjs"), module.exports);
21
+ if (module.exports.default) module.exports = module.exports.default;
22
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/atoms/FigureVideo/index.ts"],
4
+ "sourcesContent": ["export * from './FigureVideo.js';\nexport * from './FigureVideoTwicpics.js';\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,gCAAc,8BAAd;AACA,gCAAc,sCADd;",
6
+ "names": []
7
+ }
@@ -0,0 +1,2 @@
1
+ export * from './FigureVideo.js';
2
+ export * from './FigureVideoTwicpics.js';
@@ -0,0 +1,3 @@
1
+ export * from "./FigureVideo.js";
2
+ export * from "./FigureVideoTwicpics.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../packages/ui/atoms/FigureVideo/index.ts"],
4
+ "sourcesContent": ["export * from './FigureVideo.js';\nexport * from './FigureVideoTwicpics.js';\n"],
5
+ "mappings": "AAAA,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/ui/atoms/LargeText/LargeText.ts
25
20
  var LargeText_exports = {};
@@ -30,6 +25,24 @@ module.exports = __toCommonJS(LargeText_exports);
30
25
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
26
  var import_utils = require("@studiometa/js-toolkit/utils");
32
27
  var LargeText = class extends (0, import_js_toolkit.withMountWhenInView)(import_js_toolkit.Base, { rootMargin: "50%" }) {
28
+ /**
29
+ * Config.
30
+ */
31
+ static config = {
32
+ name: "LargeText",
33
+ refs: ["target"],
34
+ options: {
35
+ skew: Boolean,
36
+ sensitivity: {
37
+ type: Number,
38
+ default: 1
39
+ },
40
+ skewSensitivity: {
41
+ type: Number,
42
+ default: 1
43
+ }
44
+ }
45
+ };
33
46
  /**
34
47
  * Translate X.
35
48
  */
@@ -92,23 +105,5 @@ var LargeText = class extends (0, import_js_toolkit.withMountWhenInView)(import_
92
105
  };
93
106
  }
94
107
  };
95
- /**
96
- * Config.
97
- */
98
- __publicField(LargeText, "config", {
99
- name: "LargeText",
100
- refs: ["target"],
101
- options: {
102
- skew: Boolean,
103
- sensitivity: {
104
- type: Number,
105
- default: 1
106
- },
107
- skewSensitivity: {
108
- type: Number,
109
- default: 1
110
- }
111
- }
112
- });
113
108
  if (module.exports.default) module.exports = module.exports.default;
114
109
  //# sourceMappingURL=LargeText.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/LargeText/LargeText.ts"],
4
4
  "sourcesContent": ["import { Base, withMountWhenInView } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseInterface, ScrollServiceProps } from '@studiometa/js-toolkit';\nimport { damp, clamp, transform } from '@studiometa/js-toolkit/utils';\n\nexport interface LargeTextProps extends BaseProps {\n $refs: {\n target: HTMLElement;\n };\n $options: {\n skew: boolean;\n sensitivity: number;\n skewSensitivity: number;\n };\n}\n\n/**\n * Large text class.\n */\nexport class LargeText<T extends BaseProps = BaseProps>\n extends withMountWhenInView(Base, { rootMargin: '50%' })<T & LargeTextProps>\n implements BaseInterface\n{\n /**\n * Config.\n */\n static config = {\n name: 'LargeText',\n refs: ['target'],\n options: {\n skew: Boolean,\n sensitivity: {\n type: Number,\n default: 1,\n },\n skewSensitivity: {\n type: Number,\n default: 1,\n },\n },\n };\n\n /**\n * Translate X.\n */\n x = 0;\n\n /**\n * Scroll delta Y.\n */\n deltaY = 0;\n\n /**\n * Transform values.\n */\n transform = {\n skewX: 0,\n x: 0,\n };\n\n /**\n * Target width.\n */\n width = 0;\n\n /**\n * Set width on mount.\n */\n mounted() {\n this.width = this.$refs.target.clientWidth;\n }\n\n /**\n * Set width on resize.\n */\n resized() {\n this.width = this.$refs.target.clientWidth;\n }\n\n /**\n * Update delta scroll on scroll.\n */\n scrolled(props: ScrollServiceProps) {\n this.deltaY = props.delta.y;\n }\n\n /**\n * Update values on raf.\n */\n ticked() {\n this.x -= (Math.abs(this.deltaY) + 1) * this.$options.sensitivity;\n\n this.transform.x = damp(this.x, this.transform.x, 0.25);\n\n if (this.$options.skew) {\n this.transform.skewX = damp(\n clamp(this.deltaY * -1, -50, 50) * this.$options.skewSensitivity,\n this.transform.skewX,\n 0.25,\n );\n }\n\n if (this.x <= this.width * -1) {\n this.x = 0;\n this.transform.x += this.width;\n } else if (this.$options.sensitivity < 0 && this.x >= this.width) {\n this.x = 0;\n this.transform.x -= this.width;\n }\n\n return () => {\n transform(this.$refs.target, this.transform);\n };\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0C;AAE1C,mBAAuC;AAgBhC,IAAM,YAAN,kBACG,uCAAoB,wBAAM,EAAE,YAAY,MAAM,CAAC,EAEzD;AAAA;AAAA;AAAA;AAAA,EAuBE,IAAI;AAAA;AAAA;AAAA;AAAA,EAKJ,SAAS;AAAA;AAAA;AAAA;AAAA,EAKT,YAAY;AAAA,IACV,OAAO;AAAA,IACP,GAAG;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AAAA;AAAA;AAAA;AAAA,EAKR,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,OAA2B;AAClC,SAAK,SAAS,MAAM,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACP,SAAK,MAAM,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS;AAEtD,SAAK,UAAU,QAAI,mBAAK,KAAK,GAAG,KAAK,UAAU,GAAG,IAAI;AAEtD,QAAI,KAAK,SAAS,MAAM;AACtB,WAAK,UAAU,YAAQ;AAAA,YACrB,oBAAM,KAAK,SAAS,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;AAAA,QACjD,KAAK,UAAU;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,KAAK,KAAK,QAAQ,IAAI;AAC7B,WAAK,IAAI;AACT,WAAK,UAAU,KAAK,KAAK;AAAA,IAC3B,WAAW,KAAK,SAAS,cAAc,KAAK,KAAK,KAAK,KAAK,OAAO;AAChE,WAAK,IAAI;AACT,WAAK,UAAU,KAAK,KAAK;AAAA,IAC3B;AAEA,WAAO,MAAM;AACX,kCAAU,KAAK,MAAM,QAAQ,KAAK,SAAS;AAAA,IAC7C;AAAA,EACF;AACF;AAAA;AAAA;AAAA;AAxFE,cAPW,WAOJ,UAAS;AAAA,EACd,MAAM;AAAA,EACN,MAAM,CAAC,QAAQ;AAAA,EACf,SAAS;AAAA,IACP,MAAM;AAAA,IACN,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0C;AAE1C,mBAAuC;AAgBhC,IAAM,YAAN,kBACG,uCAAoB,wBAAM,EAAE,YAAY,MAAM,CAAC,EAEzD;AAAA;AAAA;AAAA;AAAA,EAIE,OAAO,SAAS;AAAA,IACd,MAAM;AAAA,IACN,MAAM,CAAC,QAAQ;AAAA,IACf,SAAS;AAAA,MACP,MAAM;AAAA,MACN,aAAa;AAAA,QACX,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI;AAAA;AAAA;AAAA;AAAA,EAKJ,SAAS;AAAA;AAAA;AAAA;AAAA,EAKT,YAAY;AAAA,IACV,OAAO;AAAA,IACP,GAAG;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AAAA;AAAA;AAAA;AAAA,EAKR,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,OAA2B;AAClC,SAAK,SAAS,MAAM,MAAM;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACP,SAAK,MAAM,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS;AAEtD,SAAK,UAAU,QAAI,mBAAK,KAAK,GAAG,KAAK,UAAU,GAAG,IAAI;AAEtD,QAAI,KAAK,SAAS,MAAM;AACtB,WAAK,UAAU,YAAQ;AAAA,YACrB,oBAAM,KAAK,SAAS,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;AAAA,QACjD,KAAK,UAAU;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAEA,QAAI,KAAK,KAAK,KAAK,QAAQ,IAAI;AAC7B,WAAK,IAAI;AACT,WAAK,UAAU,KAAK,KAAK;AAAA,IAC3B,WAAW,KAAK,SAAS,cAAc,KAAK,KAAK,KAAK,KAAK,OAAO;AAChE,WAAK,IAAI;AACT,WAAK,UAAU,KAAK,KAAK;AAAA,IAC3B;AAEA,WAAO,MAAM;AACX,kCAAU,KAAK,MAAM,QAAQ,KAAK,SAAS;AAAA,IAC7C;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/ui/atoms/LazyInclude/LazyInclude.ts
25
20
  var LazyInclude_exports = {};
@@ -29,6 +24,18 @@ __export(LazyInclude_exports, {
29
24
  module.exports = __toCommonJS(LazyInclude_exports);
30
25
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
26
  var LazyInclude = class extends import_js_toolkit.Base {
27
+ /**
28
+ * Config.
29
+ */
30
+ static config = {
31
+ name: "LazyInclude",
32
+ refs: ["loading", "error"],
33
+ emits: ["content", "error", "always"],
34
+ options: {
35
+ src: String,
36
+ terminateOnLoad: Boolean
37
+ }
38
+ };
32
39
  /**
33
40
  * Load the lazy content on mount.
34
41
  */
@@ -67,17 +74,5 @@ var LazyInclude = class extends import_js_toolkit.Base {
67
74
  }
68
75
  }
69
76
  };
70
- /**
71
- * Config.
72
- */
73
- __publicField(LazyInclude, "config", {
74
- name: "LazyInclude",
75
- refs: ["loading", "error"],
76
- emits: ["content", "error", "always"],
77
- options: {
78
- src: String,
79
- terminateOnLoad: Boolean
80
- }
81
- });
82
77
  if (module.exports.default) module.exports = module.exports.default;
83
78
  //# sourceMappingURL=LazyInclude.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/LazyInclude/LazyInclude.ts"],
4
4
  "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseInterface } from '@studiometa/js-toolkit';\n\nexport interface LazyIncludeProps extends BaseProps {\n $refs: {\n loading: HTMLElement;\n error: HTMLElement;\n };\n $options: {\n src: string;\n terminateOnLoad: boolean;\n };\n}\n\n/**\n * LazyInclude class.\n */\nexport class LazyInclude<T extends BaseProps = BaseProps>\n extends Base<T & LazyIncludeProps>\n implements BaseInterface\n{\n /**\n * Config.\n */\n static config = {\n name: 'LazyInclude',\n refs: ['loading', 'error'],\n emits: ['content', 'error', 'always'],\n options: {\n src: String,\n terminateOnLoad: Boolean,\n },\n };\n\n /**\n * Load the lazy content on mount.\n */\n mounted() {\n if (!this.$options.src) {\n this.$log('The `src` option is missing. Define it with the `data-option-src` attribute');\n return;\n }\n\n fetch(this.$options.src)\n .then((response) => response.text())\n .then((content) => {\n this.$emit('content', content);\n })\n .catch((error) => {\n this.$emit('error', error);\n })\n .finally(() => {\n this.$emit('always');\n });\n }\n\n /**\n * Set content.\n */\n onContent(content: string) {\n this.$refs.loading.style.display = 'none';\n this.$el.innerHTML = content;\n }\n\n /**\n * Set error.\n */\n onError() {\n this.$refs.error.style.display = 'block';\n }\n\n /**\n * Always.\n */\n onAlways() {\n if (this.$options.terminateOnLoad) {\n this.$terminate();\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAiBd,IAAM,cAAN,cACG,uBAEV;AAAA;AAAA;AAAA;AAAA,EAiBE,UAAU;AACR,QAAI,CAAC,KAAK,SAAS,KAAK;AACtB,WAAK,KAAK,6EAA6E;AACvF;AAAA,IACF;AAEA,UAAM,KAAK,SAAS,GAAG,EACpB,KAAK,CAAC,aAAa,SAAS,KAAK,CAAC,EAClC,KAAK,CAAC,YAAY;AACjB,WAAK,MAAM,WAAW,OAAO;AAAA,IAC/B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,WAAK,MAAM,SAAS,KAAK;AAAA,IAC3B,CAAC,EACA,QAAQ,MAAM;AACb,WAAK,MAAM,QAAQ;AAAA,IACrB,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,SAAiB;AACzB,SAAK,MAAM,QAAQ,MAAM,UAAU;AACnC,SAAK,IAAI,YAAY;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,SAAK,MAAM,MAAM,MAAM,UAAU;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACT,QAAI,KAAK,SAAS,iBAAiB;AACjC,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AACF;AAAA;AAAA;AAAA;AAvDE,cAPW,aAOJ,UAAS;AAAA,EACd,MAAM;AAAA,EACN,MAAM,CAAC,WAAW,OAAO;AAAA,EACzB,OAAO,CAAC,WAAW,SAAS,QAAQ;AAAA,EACpC,SAAS;AAAA,IACP,KAAK;AAAA,IACL,iBAAiB;AAAA,EACnB;AACF;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAiBd,IAAM,cAAN,cACG,uBAEV;AAAA;AAAA;AAAA;AAAA,EAIE,OAAO,SAAS;AAAA,IACd,MAAM;AAAA,IACN,MAAM,CAAC,WAAW,OAAO;AAAA,IACzB,OAAO,CAAC,WAAW,SAAS,QAAQ;AAAA,IACpC,SAAS;AAAA,MACP,KAAK;AAAA,MACL,iBAAiB;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,QAAI,CAAC,KAAK,SAAS,KAAK;AACtB,WAAK,KAAK,6EAA6E;AACvF;AAAA,IACF;AAEA,UAAM,KAAK,SAAS,GAAG,EACpB,KAAK,CAAC,aAAa,SAAS,KAAK,CAAC,EAClC,KAAK,CAAC,YAAY;AACjB,WAAK,MAAM,WAAW,OAAO;AAAA,IAC/B,CAAC,EACA,MAAM,CAAC,UAAU;AAChB,WAAK,MAAM,SAAS,KAAK;AAAA,IAC3B,CAAC,EACA,QAAQ,MAAM;AACb,WAAK,MAAM,QAAQ;AAAA,IACrB,CAAC;AAAA,EACL;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,SAAiB;AACzB,SAAK,MAAM,QAAQ,MAAM,UAAU;AACnC,SAAK,IAAI,YAAY;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,SAAK,MAAM,MAAM,MAAM,UAAU;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AACT,QAAI,KAAK,SAAS,iBAAiB;AACjC,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/ui/atoms/Prefetch/AbstractPrefetch.ts
25
20
  var AbstractPrefetch_exports = {};
@@ -28,7 +23,23 @@ __export(AbstractPrefetch_exports, {
28
23
  });
29
24
  module.exports = __toCommonJS(AbstractPrefetch_exports);
30
25
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
- var _AbstractPrefetch = class extends import_js_toolkit.Base {
26
+ var AbstractPrefetch = class _AbstractPrefetch extends import_js_toolkit.Base {
27
+ /**
28
+ * Config.
29
+ */
30
+ static config = {
31
+ name: "AbstractPrefetch",
32
+ options: {
33
+ prefetch: {
34
+ type: Boolean,
35
+ default: true
36
+ }
37
+ }
38
+ };
39
+ /**
40
+ * Store prefetched URL.
41
+ */
42
+ static prefetchedUrls = /* @__PURE__ */ new Set();
32
43
  /**
33
44
  * Is the given anchor prefetchable?
34
45
  */
@@ -71,22 +82,5 @@ var _AbstractPrefetch = class extends import_js_toolkit.Base {
71
82
  this.$terminate();
72
83
  }
73
84
  };
74
- var AbstractPrefetch = _AbstractPrefetch;
75
- /**
76
- * Config.
77
- */
78
- __publicField(AbstractPrefetch, "config", {
79
- name: "AbstractPrefetch",
80
- options: {
81
- prefetch: {
82
- type: Boolean,
83
- default: true
84
- }
85
- }
86
- });
87
- /**
88
- * Store prefetched URL.
89
- */
90
- __publicField(AbstractPrefetch, "prefetchedUrls", /* @__PURE__ */ new Set());
91
85
  if (module.exports.default) module.exports = module.exports.default;
92
86
  //# sourceMappingURL=AbstractPrefetch.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/AbstractPrefetch.ts"],
4
4
  "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface AbstractPrefetchProps extends BaseProps {\n $el: HTMLAnchorElement;\n $options: {\n prefetch: boolean;\n };\n}\n\n/**\n * AbstractPrefetch class.\n */\nexport class AbstractPrefetch<T extends BaseProps = BaseProps> extends Base<\n T & AbstractPrefetchProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'AbstractPrefetch',\n options: {\n prefetch: {\n type: Boolean,\n default: true,\n },\n },\n };\n\n /**\n * Store prefetched URL.\n */\n static prefetchedUrls: Set<string> = new Set();\n\n /**\n * Is the given anchor prefetchable?\n */\n isPrefetchable(url: URL): boolean {\n if (!url || !url.href) {\n return false;\n }\n\n if (!this.$options.prefetch) {\n return false;\n }\n\n if (url.origin !== window.location.origin) {\n return false;\n }\n\n if (!['http:', 'https:'].includes(url.protocol)) {\n return false;\n }\n\n if (url.protocol === 'http:' && window.location.protocol === 'https:') {\n return false;\n }\n\n if (\n url.hash &&\n url.pathname + url.search === window.location.pathname + window.location.search\n ) {\n return false;\n }\n\n return true;\n }\n\n /**\n * Prefetch the given URL and terminate the component.\n */\n prefetch(url: URL) {\n if (AbstractPrefetch.prefetchedUrls.has(url.href)) {\n return;\n }\n\n if (!this.isPrefetchable(url)) {\n return;\n }\n\n const prefetcher = document.createElement('link');\n prefetcher.rel = 'prefetch';\n prefetcher.href = url.href;\n document.head.append(prefetcher);\n\n AbstractPrefetch.prefetchedUrls.add(url.href);\n\n this.$terminate();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAad,IAAM,oBAAN,cAAgE,uBAErE;AAAA;AAAA;AAAA;AAAA,EAsBA,eAAe,KAAmB;AAChC,QAAI,CAAC,OAAO,CAAC,IAAI,MAAM;AACrB,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,KAAK,SAAS,UAAU;AAC3B,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,WAAW,OAAO,SAAS,QAAQ;AACzC,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,GAAG;AAC/C,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,aAAa,WAAW,OAAO,SAAS,aAAa,UAAU;AACrE,aAAO;AAAA,IACT;AAEA,QACE,IAAI,QACJ,IAAI,WAAW,IAAI,WAAW,OAAO,SAAS,WAAW,OAAO,SAAS,QACzE;AACA,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,KAAU;AACjB,QAAI,kBAAiB,eAAe,IAAI,IAAI,IAAI,GAAG;AACjD;AAAA,IACF;AAEA,QAAI,CAAC,KAAK,eAAe,GAAG,GAAG;AAC7B;AAAA,IACF;AAEA,UAAM,aAAa,SAAS,cAAc,MAAM;AAChD,eAAW,MAAM;AACjB,eAAW,OAAO,IAAI;AACtB,aAAS,KAAK,OAAO,UAAU;AAE/B,sBAAiB,eAAe,IAAI,IAAI,IAAI;AAE5C,SAAK,WAAW;AAAA,EAClB;AACF;AA5EO,IAAM,mBAAN;AAAA;AAAA;AAAA;AAML,cANW,kBAMJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,SAAS;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAAA;AAAA;AAAA;AAKA,cAnBW,kBAmBJ,kBAA8B,oBAAI,IAAI;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAad,IAAM,mBAAN,MAAM,0BAA0D,uBAErE;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,UAAU;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO,iBAA8B,oBAAI,IAAI;AAAA;AAAA;AAAA;AAAA,EAK7C,eAAe,KAAmB;AAChC,QAAI,CAAC,OAAO,CAAC,IAAI,MAAM;AACrB,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,KAAK,SAAS,UAAU;AAC3B,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,WAAW,OAAO,SAAS,QAAQ;AACzC,aAAO;AAAA,IACT;AAEA,QAAI,CAAC,CAAC,SAAS,QAAQ,EAAE,SAAS,IAAI,QAAQ,GAAG;AAC/C,aAAO;AAAA,IACT;AAEA,QAAI,IAAI,aAAa,WAAW,OAAO,SAAS,aAAa,UAAU;AACrE,aAAO;AAAA,IACT;AAEA,QACE,IAAI,QACJ,IAAI,WAAW,IAAI,WAAW,OAAO,SAAS,WAAW,OAAO,SAAS,QACzE;AACA,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS,KAAU;AACjB,QAAI,kBAAiB,eAAe,IAAI,IAAI,IAAI,GAAG;AACjD;AAAA,IACF;AAEA,QAAI,CAAC,KAAK,eAAe,GAAG,GAAG;AAC7B;AAAA,IACF;AAEA,UAAM,aAAa,SAAS,cAAc,MAAM;AAChD,eAAW,MAAM;AACjB,eAAW,OAAO,IAAI;AACtB,aAAS,KAAK,OAAO,UAAU;AAE/B,sBAAiB,eAAe,IAAI,IAAI,IAAI;AAE5C,SAAK,WAAW;AAAA,EAClB;AACF;",
6
6
  "names": []
7
7
  }
@@ -2,7 +2,6 @@ var __defProp = Object.defineProperty;
2
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
5
  var __export = (target, all) => {
7
6
  for (var name in all)
8
7
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -16,10 +15,6 @@ var __copyProps = (to, from, except, desc) => {
16
15
  return to;
17
16
  };
18
17
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
- var __publicField = (obj, key, value) => {
20
- __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
21
- return value;
22
- };
23
18
 
24
19
  // packages/ui/atoms/Prefetch/PrefetchWhenOver.ts
25
20
  var PrefetchWhenOver_exports = {};
@@ -29,6 +24,13 @@ __export(PrefetchWhenOver_exports, {
29
24
  module.exports = __toCommonJS(PrefetchWhenOver_exports);
30
25
  var import_AbstractPrefetch = require("./AbstractPrefetch.cjs");
31
26
  var PrefetchWhenOver = class extends import_AbstractPrefetch.AbstractPrefetch {
27
+ /**
28
+ * Config.
29
+ */
30
+ static config = {
31
+ ...import_AbstractPrefetch.AbstractPrefetch.config,
32
+ name: "PrefetchWhenOver"
33
+ };
32
34
  /**
33
35
  * Prefetch on mouseenter.
34
36
  */
@@ -36,12 +38,5 @@ var PrefetchWhenOver = class extends import_AbstractPrefetch.AbstractPrefetch {
36
38
  this.prefetch(new URL(this.$el.href));
37
39
  }
38
40
  };
39
- /**
40
- * Config.
41
- */
42
- __publicField(PrefetchWhenOver, "config", {
43
- ...import_AbstractPrefetch.AbstractPrefetch.config,
44
- name: "PrefetchWhenOver"
45
- });
46
41
  if (module.exports.default) module.exports = module.exports.default;
47
42
  //# sourceMappingURL=PrefetchWhenOver.cjs.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/PrefetchWhenOver.ts"],
4
4
  "sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AbstractPrefetch } from './AbstractPrefetch.js';\n\n/**\n * PrefetchWhenOver class.\n */\nexport class PrefetchWhenOver<T extends BaseProps = BaseProps> extends AbstractPrefetch<T> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...AbstractPrefetch.config,\n name: 'PrefetchWhenOver',\n };\n\n /**\n * Prefetch on mouseenter.\n */\n onMouseenter() {\n this.prefetch(new URL(this.$el.href));\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAiC;AAK1B,IAAM,mBAAN,cAAgE,yCAAoB;AAAA;AAAA;AAAA;AAAA,EAYzF,eAAe;AACb,SAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,EACtC;AACF;AAAA;AAAA;AAAA;AAXE,cAJW,kBAIJ,UAAqB;AAAA,EAC1B,GAAG,yCAAiB;AAAA,EACpB,MAAM;AACR;",
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,8BAAiC;AAK1B,IAAM,mBAAN,cAAgE,yCAAoB;AAAA;AAAA;AAAA;AAAA,EAIzF,OAAO,SAAqB;AAAA,IAC1B,GAAG,yCAAiB;AAAA,IACpB,MAAM;AAAA,EACR;AAAA;AAAA;AAAA;AAAA,EAKA,eAAe;AACb,SAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,EACtC;AACF;",
6
6
  "names": []
7
7
  }