@studiometa/ui 0.2.22 → 0.2.24

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 (195) hide show
  1. package/README.md +2 -12
  2. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +11 -0
  3. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +2 -2
  4. package/atoms/AnchorScrollTo/AnchorScrollTo.js +11 -0
  5. package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +2 -2
  6. package/atoms/Button/StyledButton.twig +6 -4
  7. package/atoms/Button/StyledButtonRounded.twig +65 -0
  8. package/atoms/Cursor/Cursor.cjs +12 -0
  9. package/atoms/Cursor/Cursor.cjs.map +2 -2
  10. package/atoms/Cursor/Cursor.js +12 -0
  11. package/atoms/Cursor/Cursor.js.map +2 -2
  12. package/atoms/Figure/Figure.cjs +31 -4
  13. package/atoms/Figure/Figure.cjs.map +2 -2
  14. package/atoms/Figure/Figure.d.ts +4 -0
  15. package/atoms/Figure/Figure.js +31 -4
  16. package/atoms/Figure/Figure.js.map +2 -2
  17. package/atoms/Figure/Figure.twig +6 -1
  18. package/atoms/Figure/FigureTwicpics.cjs +28 -4
  19. package/atoms/Figure/FigureTwicpics.cjs.map +2 -2
  20. package/atoms/Figure/FigureTwicpics.d.ts +6 -2
  21. package/atoms/Figure/FigureTwicpics.js +28 -4
  22. package/atoms/Figure/FigureTwicpics.js.map +2 -2
  23. package/atoms/Figure/FigureTwicpics.twig +6 -0
  24. package/atoms/LargeText/LargeText.cjs +27 -0
  25. package/atoms/LargeText/LargeText.cjs.map +2 -2
  26. package/atoms/LargeText/LargeText.js +27 -0
  27. package/atoms/LargeText/LargeText.js.map +2 -2
  28. package/atoms/LazyInclude/LazyInclude.cjs +15 -0
  29. package/atoms/LazyInclude/LazyInclude.cjs.map +2 -2
  30. package/atoms/LazyInclude/LazyInclude.js +15 -0
  31. package/atoms/LazyInclude/LazyInclude.js.map +2 -2
  32. package/atoms/Prefetch/AbstractPrefetch.cjs +12 -0
  33. package/atoms/Prefetch/AbstractPrefetch.cjs.map +2 -2
  34. package/atoms/Prefetch/AbstractPrefetch.js +12 -0
  35. package/atoms/Prefetch/AbstractPrefetch.js.map +2 -2
  36. package/atoms/Prefetch/PrefetchWhenOver.cjs +6 -0
  37. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +2 -2
  38. package/atoms/Prefetch/PrefetchWhenOver.js +6 -0
  39. package/atoms/Prefetch/PrefetchWhenOver.js.map +2 -2
  40. package/atoms/Prefetch/PrefetchWhenVisible.cjs +6 -0
  41. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +2 -2
  42. package/atoms/Prefetch/PrefetchWhenVisible.js +6 -0
  43. package/atoms/Prefetch/PrefetchWhenVisible.js.map +2 -2
  44. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +12 -0
  45. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +2 -2
  46. package/atoms/ScrollAnimation/AbstractScrollAnimation.js +12 -0
  47. package/atoms/ScrollAnimation/AbstractScrollAnimation.js.map +2 -2
  48. package/atoms/ScrollAnimation/ScrollAnimation.cjs +6 -0
  49. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +1 -1
  50. package/atoms/ScrollAnimation/ScrollAnimation.js +6 -0
  51. package/atoms/ScrollAnimation/ScrollAnimation.js.map +1 -1
  52. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +18 -1
  53. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +2 -2
  54. package/atoms/ScrollAnimation/ScrollAnimationChild.js +18 -1
  55. package/atoms/ScrollAnimation/ScrollAnimationChild.js.map +2 -2
  56. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +3 -0
  57. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +1 -1
  58. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js +3 -0
  59. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.js.map +1 -1
  60. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +6 -0
  61. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +1 -1
  62. package/atoms/ScrollAnimation/ScrollAnimationParent.js +6 -0
  63. package/atoms/ScrollAnimation/ScrollAnimationParent.js.map +1 -1
  64. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +3 -0
  65. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +1 -1
  66. package/atoms/ScrollAnimation/ScrollAnimationWithEase.js +3 -0
  67. package/atoms/ScrollAnimation/ScrollAnimationWithEase.js.map +1 -1
  68. package/atoms/ScrollAnimation/animationScrollWithEase.cjs +6 -0
  69. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +2 -2
  70. package/atoms/ScrollAnimation/animationScrollWithEase.js +6 -0
  71. package/atoms/ScrollAnimation/animationScrollWithEase.js.map +2 -2
  72. package/atoms/ScrollReveal/ScrollReveal.cjs +12 -0
  73. package/atoms/ScrollReveal/ScrollReveal.cjs.map +1 -1
  74. package/atoms/ScrollReveal/ScrollReveal.js +12 -0
  75. package/atoms/ScrollReveal/ScrollReveal.js.map +1 -1
  76. package/decorators/withTransition.cjs +16 -2
  77. package/decorators/withTransition.cjs.map +2 -2
  78. package/decorators/withTransition.js +16 -2
  79. package/decorators/withTransition.js.map +2 -2
  80. package/molecules/Accordion/AccordionCore.cjs +9 -0
  81. package/molecules/Accordion/AccordionCore.cjs.map +2 -2
  82. package/molecules/Accordion/AccordionCore.js +9 -0
  83. package/molecules/Accordion/AccordionCore.js.map +2 -2
  84. package/molecules/Accordion/AccordionItem.cjs +33 -1
  85. package/molecules/Accordion/AccordionItem.cjs.map +2 -2
  86. package/molecules/Accordion/AccordionItem.d.ts +1 -1
  87. package/molecules/Accordion/AccordionItem.js +29 -1
  88. package/molecules/Accordion/AccordionItem.js.map +2 -2
  89. package/molecules/Menu/Menu.cjs +47 -0
  90. package/molecules/Menu/Menu.cjs.map +1 -1
  91. package/molecules/Menu/Menu.js +47 -0
  92. package/molecules/Menu/Menu.js.map +1 -1
  93. package/molecules/Menu/MenuBtn.cjs +24 -0
  94. package/molecules/Menu/MenuBtn.cjs.map +1 -1
  95. package/molecules/Menu/MenuBtn.js +24 -0
  96. package/molecules/Menu/MenuBtn.js.map +1 -1
  97. package/molecules/Menu/MenuList.cjs +39 -0
  98. package/molecules/Menu/MenuList.cjs.map +2 -2
  99. package/molecules/Menu/MenuList.js +39 -0
  100. package/molecules/Menu/MenuList.js.map +2 -2
  101. package/molecules/Modal/Modal.cjs +50 -1
  102. package/molecules/Modal/Modal.cjs.map +2 -2
  103. package/molecules/Modal/Modal.d.ts +3 -3
  104. package/molecules/Modal/Modal.js +50 -1
  105. package/molecules/Modal/Modal.js.map +2 -2
  106. package/molecules/Modal/ModalWithTransition.cjs +6 -0
  107. package/molecules/Modal/ModalWithTransition.cjs.map +2 -2
  108. package/molecules/Modal/ModalWithTransition.js +6 -0
  109. package/molecules/Modal/ModalWithTransition.js.map +2 -2
  110. package/molecules/Panel/Panel.cjs +19 -0
  111. package/molecules/Panel/Panel.cjs.map +2 -2
  112. package/molecules/Panel/Panel.js +19 -0
  113. package/molecules/Panel/Panel.js.map +2 -2
  114. package/molecules/Slider/AbstractSliderChild.cjs +24 -0
  115. package/molecules/Slider/AbstractSliderChild.cjs.map +2 -2
  116. package/molecules/Slider/AbstractSliderChild.js +24 -0
  117. package/molecules/Slider/AbstractSliderChild.js.map +2 -2
  118. package/molecules/Slider/Slider.cjs +97 -0
  119. package/molecules/Slider/Slider.cjs.map +2 -2
  120. package/molecules/Slider/Slider.d.ts +3 -2
  121. package/molecules/Slider/Slider.js +97 -0
  122. package/molecules/Slider/Slider.js.map +2 -2
  123. package/molecules/Slider/SliderBtn.cjs +22 -2
  124. package/molecules/Slider/SliderBtn.cjs.map +2 -2
  125. package/molecules/Slider/SliderBtn.d.ts +1 -0
  126. package/molecules/Slider/SliderBtn.js +22 -2
  127. package/molecules/Slider/SliderBtn.js.map +2 -2
  128. package/molecules/Slider/SliderCount.cjs +9 -0
  129. package/molecules/Slider/SliderCount.cjs.map +2 -2
  130. package/molecules/Slider/SliderCount.js +9 -0
  131. package/molecules/Slider/SliderCount.js.map +2 -2
  132. package/molecules/Slider/SliderDots.cjs +19 -0
  133. package/molecules/Slider/SliderDots.cjs.map +2 -2
  134. package/molecules/Slider/SliderDots.js +19 -0
  135. package/molecules/Slider/SliderDots.js.map +2 -2
  136. package/molecules/Slider/SliderDrag.cjs +15 -0
  137. package/molecules/Slider/SliderDrag.cjs.map +2 -2
  138. package/molecules/Slider/SliderDrag.js +15 -0
  139. package/molecules/Slider/SliderDrag.js.map +2 -2
  140. package/molecules/Slider/SliderItem.cjs +75 -14
  141. package/molecules/Slider/SliderItem.cjs.map +2 -2
  142. package/molecules/Slider/SliderItem.d.ts +12 -11
  143. package/molecules/Slider/SliderItem.js +75 -14
  144. package/molecules/Slider/SliderItem.js.map +2 -2
  145. package/molecules/Slider/SliderProgress.cjs +6 -0
  146. package/molecules/Slider/SliderProgress.cjs.map +2 -2
  147. package/molecules/Slider/SliderProgress.js +6 -0
  148. package/molecules/Slider/SliderProgress.js.map +2 -2
  149. package/molecules/Sticky/Sticky.cjs +56 -0
  150. package/molecules/Sticky/Sticky.cjs.map +2 -2
  151. package/molecules/Sticky/Sticky.js +56 -0
  152. package/molecules/Sticky/Sticky.js.map +2 -2
  153. package/molecules/TableOfContent/TableOfContent.cjs +13 -0
  154. package/molecules/TableOfContent/TableOfContent.cjs.map +1 -1
  155. package/molecules/TableOfContent/TableOfContent.js +13 -0
  156. package/molecules/TableOfContent/TableOfContent.js.map +1 -1
  157. package/molecules/TableOfContent/TableOfContentAnchor.cjs +16 -0
  158. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +2 -2
  159. package/molecules/TableOfContent/TableOfContentAnchor.js +16 -0
  160. package/molecules/TableOfContent/TableOfContentAnchor.js.map +2 -2
  161. package/molecules/Tabs/Tabs.cjs +16 -0
  162. package/molecules/Tabs/Tabs.cjs.map +2 -2
  163. package/molecules/Tabs/Tabs.d.ts +3 -3
  164. package/molecules/Tabs/Tabs.js +16 -0
  165. package/molecules/Tabs/Tabs.js.map +2 -2
  166. package/organisms/Frame/Frame.cjs +30 -0
  167. package/organisms/Frame/Frame.cjs.map +2 -2
  168. package/organisms/Frame/Frame.js +30 -0
  169. package/organisms/Frame/Frame.js.map +2 -2
  170. package/organisms/Frame/FrameAnchor.cjs +6 -0
  171. package/organisms/Frame/FrameAnchor.cjs.map +1 -1
  172. package/organisms/Frame/FrameAnchor.js +6 -0
  173. package/organisms/Frame/FrameAnchor.js.map +1 -1
  174. package/organisms/Frame/FrameForm.cjs +6 -0
  175. package/organisms/Frame/FrameForm.cjs.map +1 -1
  176. package/organisms/Frame/FrameForm.js +6 -0
  177. package/organisms/Frame/FrameForm.js.map +1 -1
  178. package/organisms/Frame/FrameTarget.cjs +25 -2
  179. package/organisms/Frame/FrameTarget.cjs.map +2 -2
  180. package/organisms/Frame/FrameTarget.js +25 -2
  181. package/organisms/Frame/FrameTarget.js.map +2 -2
  182. package/organisms/Hero/Hero.twig +151 -0
  183. package/package.json +2 -2
  184. package/primitives/Draggable/Draggable.cjs +18 -0
  185. package/primitives/Draggable/Draggable.cjs.map +2 -2
  186. package/primitives/Draggable/Draggable.js +18 -0
  187. package/primitives/Draggable/Draggable.js.map +2 -2
  188. package/primitives/Sentinel/Sentinel.cjs +3 -0
  189. package/primitives/Sentinel/Sentinel.cjs.map +2 -2
  190. package/primitives/Sentinel/Sentinel.js +3 -0
  191. package/primitives/Sentinel/Sentinel.js.map +2 -2
  192. package/primitives/Transition/Transition.cjs +3 -0
  193. package/primitives/Transition/Transition.cjs.map +1 -1
  194. package/primitives/Transition/Transition.js +3 -0
  195. package/primitives/Transition/Transition.js.map +1 -1
@@ -28,9 +28,13 @@ export declare class FigureTwicpics<T extends BaseProps = BaseProps> extends Fig
28
28
  */
29
29
  get domain(): string;
30
30
  /**
31
- * Add Twicpics transforms, path and domain to the URL.
31
+ * Get formattted original source.
32
32
  */
33
- set src(value: string);
33
+ get original(): string;
34
+ /**
35
+ * Format the source for Twicpics.
36
+ */
37
+ formatSrc(src: string): string;
34
38
  /**
35
39
  * Reassign the source from the original on resize.
36
40
  */
@@ -5,6 +5,9 @@ function normalizeSize(that, prop) {
5
5
  return Math.ceil(that.$refs.img[prop] / step) * step;
6
6
  }
7
7
  class FigureTwicpics extends Figure {
8
+ /**
9
+ * Config.
10
+ */
8
11
  static config = {
9
12
  ...Figure.config,
10
13
  name: "FigureTwicpics",
@@ -23,15 +26,30 @@ class FigureTwicpics extends Figure {
23
26
  }
24
27
  }
25
28
  };
29
+ /**
30
+ * Get the Twicpics path.
31
+ */
26
32
  get path() {
27
33
  return withoutTrailingSlash(withoutLeadingSlash(this.$options.path));
28
34
  }
35
+ /**
36
+ * Get the Twicpics domain.
37
+ */
29
38
  get domain() {
30
39
  const url = new URL(this.$refs.img.dataset.src);
31
40
  return url.host;
32
41
  }
33
- set src(value) {
34
- const url = new URL(value, "https://localhost");
42
+ /**
43
+ * Get formattted original source.
44
+ */
45
+ get original() {
46
+ return this.formatSrc(super.original);
47
+ }
48
+ /**
49
+ * Format the source for Twicpics.
50
+ */
51
+ formatSrc(src) {
52
+ const url = new URL(src, "https://localhost");
35
53
  url.host = this.domain;
36
54
  url.port = "";
37
55
  if (this.path) {
@@ -44,11 +62,17 @@ class FigureTwicpics extends Figure {
44
62
  ["v1", this.$options.transform, `${this.$options.mode}=${width}x${height}`].filter(Boolean).join("/")
45
63
  );
46
64
  url.search = decodeURIComponent(url.search);
47
- super.src = url.toString();
65
+ return url.toString();
48
66
  }
67
+ /**
68
+ * Reassign the source from the original on resize.
69
+ */
49
70
  resized() {
50
- this.src = this.$refs.img.dataset.src;
71
+ this.src = this.original;
51
72
  }
73
+ /**
74
+ * Do not terminate on image load as we need to set the src on resize.
75
+ */
52
76
  onLoad() {
53
77
  }
54
78
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Figure/FigureTwicpics.ts"],
4
- "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { withoutLeadingSlash, withoutTrailingSlash } from '@studiometa/js-toolkit/utils';\nimport { Figure } from './Figure.js';\n\nexport interface FigureTwicpicsProps extends BaseProps {\n $options: {\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: FigureTwicpics, prop: string): number {\n const { step } = that.$options;\n return Math.ceil(that.$refs.img[prop] / step) * step;\n}\n\n/**\n * Figure class.\n *\n * Manager lazyloading image sources.\n */\nexport class FigureTwicpics<T extends BaseProps = BaseProps> extends Figure<\n T & FigureTwicpicsProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...Figure.config,\n name: 'FigureTwicpics',\n options: {\n ...Figure.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 const url = new URL(this.$refs.img.dataset.src);\n return url.host;\n }\n\n /**\n * Add Twicpics transforms, path and domain to the URL.\n */\n set src(value: string) {\n const url = new URL(value, 'https://localhost');\n url.host = this.domain;\n url.port = '';\n\n if (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 url.searchParams.set(\n 'twic',\n ['v1', this.$options.transform, `${this.$options.mode}=${width}x${height}`]\n .filter(Boolean)\n .join('/'),\n );\n\n url.search = decodeURIComponent(url.search);\n\n super.src = url.toString();\n }\n\n /**\n * Reassign the source from the original on resize.\n */\n resized() {\n this.src = this.$refs.img.dataset.src;\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": "AACA,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,cAAc;AAgBvB,SAAS,cAAc,MAAsB,MAAsB;AACjE,QAAM,EAAE,KAAK,IAAI,KAAK;AACtB,SAAO,KAAK,KAAK,KAAK,MAAM,IAAI,QAAQ,IAAI,IAAI;AAClD;AAOO,MAAM,uBAAwD,OAEnE;AAAA,EAIA,OAAO,SAAqB;AAAA,IAC1B,GAAG,OAAO;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,MACP,GAAG,OAAO,OAAO;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAKA,IAAI,OAAc;AAChB,WAAO,qBAAqB,oBAAoB,KAAK,SAAS,IAAI,CAAC;AAAA,EACrE;AAAA,EAKA,IAAI,SAAiB;AACnB,UAAM,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,QAAQ,GAAG;AAC9C,WAAO,IAAI;AAAA,EACb;AAAA,EAKA,IAAI,IAAI,OAAe;AACrB,UAAM,MAAM,IAAI,IAAI,OAAO,mBAAmB;AAC9C,QAAI,OAAO,KAAK;AAChB,QAAI,OAAO;AAEX,QAAI,KAAK,MAAM;AACb,UAAI,WAAW,IAAI,KAAK,OAAO,IAAI;AAAA,IACrC;AAEA,UAAM,QAAQ,cAAc,MAAM,aAAa;AAC/C,UAAM,SAAS,cAAc,MAAM,cAAc;AAEjD,QAAI,aAAa;AAAA,MACf;AAAA,MACA,CAAC,MAAM,KAAK,SAAS,WAAW,GAAG,KAAK,SAAS,QAAQ,SAAS,QAAQ,EACvE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IACb;AAEA,QAAI,SAAS,mBAAmB,IAAI,MAAM;AAE1C,UAAM,MAAM,IAAI,SAAS;AAAA,EAC3B;AAAA,EAKA,UAAU;AACR,SAAK,MAAM,KAAK,MAAM,IAAI,QAAQ;AAAA,EACpC;AAAA,EAKA,SAAS;AAAA,EAET;AACF;",
4
+ "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { withoutLeadingSlash, withoutTrailingSlash } from '@studiometa/js-toolkit/utils';\nimport { Figure } from './Figure.js';\n\nexport interface FigureTwicpicsProps extends BaseProps {\n $options: {\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: FigureTwicpics, prop: string): number {\n const { step } = that.$options;\n return Math.ceil(that.$refs.img[prop] / step) * step;\n}\n\n/**\n * Figure class.\n *\n * Manager lazyloading image sources.\n */\nexport class FigureTwicpics<T extends BaseProps = BaseProps> extends Figure<\n T & FigureTwicpicsProps\n> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...Figure.config,\n name: 'FigureTwicpics',\n options: {\n ...Figure.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 const url = new URL(this.$refs.img.dataset.src);\n return url.host;\n }\n\n /**\n * Get formattted original source.\n */\n get original() {\n return this.formatSrc(super.original);\n }\n\n /**\n * Format the source for Twicpics.\n */\n formatSrc(src: string): string {\n const url = new URL(src, 'https://localhost');\n url.host = this.domain;\n url.port = '';\n\n if (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 url.searchParams.set(\n 'twic',\n ['v1', this.$options.transform, `${this.$options.mode}=${width}x${height}`]\n .filter(Boolean)\n .join('/'),\n );\n\n url.search = decodeURIComponent(url.search);\n\n return url.toString();\n }\n\n /**\n * Reassign the source from the original on resize.\n */\n resized() {\n this.src = this.original;\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": "AACA,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,cAAc;AAgBvB,SAAS,cAAc,MAAsB,MAAsB;AACjE,QAAM,EAAE,KAAK,IAAI,KAAK;AACtB,SAAO,KAAK,KAAK,KAAK,MAAM,IAAI,IAAI,IAAI,IAAI,IAAI;AAClD;AAOO,MAAM,uBAAwD,OAEnE;AAAA;AAAA;AAAA;AAAA,EAIA,OAAO,SAAqB;AAAA,IAC1B,GAAG,OAAO;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,MACP,GAAG,OAAO,OAAO;AAAA,MACjB,WAAW;AAAA,MACX,QAAQ;AAAA,MACR,MAAM;AAAA,MACN,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,MAAM;AAAA,QACJ,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAe;AACjB,WAAO,qBAAqB,oBAAoB,KAAK,SAAS,IAAI,CAAC;AAAA,EACrE;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,SAAiB;AACnB,UAAM,MAAM,IAAI,IAAI,KAAK,MAAM,IAAI,QAAQ,GAAG;AAC9C,WAAO,IAAI;AAAA,EACb;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACb,WAAO,KAAK,UAAU,MAAM,QAAQ;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU,KAAqB;AAC7B,UAAM,MAAM,IAAI,IAAI,KAAK,mBAAmB;AAC5C,QAAI,OAAO,KAAK;AAChB,QAAI,OAAO;AAEX,QAAI,KAAK,MAAM;AACb,UAAI,WAAW,IAAI,KAAK,OAAO,IAAI;AAAA,IACrC;AAEA,UAAM,QAAQ,cAAc,MAAM,aAAa;AAC/C,UAAM,SAAS,cAAc,MAAM,cAAc;AAEjD,QAAI,aAAa;AAAA,MACf;AAAA,MACA,CAAC,MAAM,KAAK,SAAS,WAAW,GAAG,KAAK,SAAS,QAAQ,SAAS,QAAQ,EACvE,OAAO,OAAO,EACd,KAAK,GAAG;AAAA,IACb;AAEA,QAAI,SAAS,mBAAmB,IAAI,MAAM;AAE1C,WAAO,IAAI,SAAS;AAAA,EACtB;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,SAAK,MAAM,KAAK;AAAA,EAClB;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AAAA,EAET;AACF;",
6
6
  "names": []
7
7
  }
@@ -9,6 +9,8 @@
9
9
  * The Twicpics path to use.
10
10
  * @param object $twic_transform
11
11
  * Custom transforms for Twicpics.
12
+ * @param string $twic_placeholder
13
+ * Define how the placeholder should be treated. Possible values: meancolor, maincolor, preview.
12
14
  */
13
15
  #}
14
16
 
@@ -37,3 +39,7 @@
37
39
  {% set src = src.withPath(twic_path ~ src.getPath()) %}
38
40
  {% set attr = (attr ?? {})|merge({ data_option_path: twic_path }) %}
39
41
  {% endif %}
42
+
43
+ {% if twic_placeholder is defined %}
44
+ {% set placeholder = src.withQueryParameter('twic', '%s/output=%s'|format(twic_param, twic_placeholder)) %}
45
+ {% endif %}
@@ -30,22 +30,46 @@ module.exports = __toCommonJS(LargeText_exports);
30
30
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
31
  var import_utils = require("@studiometa/js-toolkit/utils");
32
32
  var LargeText = class extends (0, import_js_toolkit.withMountWhenInView)(import_js_toolkit.Base, { rootMargin: "50%" }) {
33
+ /**
34
+ * Translate X.
35
+ */
33
36
  x = 0;
37
+ /**
38
+ * Scroll delta Y.
39
+ */
34
40
  deltaY = 0;
41
+ /**
42
+ * Transform values.
43
+ */
35
44
  transform = {
36
45
  skewX: 0,
37
46
  x: 0
38
47
  };
48
+ /**
49
+ * Target width.
50
+ */
39
51
  width = 0;
52
+ /**
53
+ * Set width on mount.
54
+ */
40
55
  mounted() {
41
56
  this.width = this.$refs.target.clientWidth;
42
57
  }
58
+ /**
59
+ * Set width on resize.
60
+ */
43
61
  resized() {
44
62
  this.width = this.$refs.target.clientWidth;
45
63
  }
64
+ /**
65
+ * Update delta scroll on scroll.
66
+ */
46
67
  scrolled(props) {
47
68
  this.deltaY = props.delta.y;
48
69
  }
70
+ /**
71
+ * Update values on raf.
72
+ */
49
73
  ticked() {
50
74
  this.x -= (Math.abs(this.deltaY) + 1) * this.$options.sensitivity;
51
75
  this.transform.x = (0, import_utils.damp)(this.x, this.transform.x, 0.25);
@@ -68,6 +92,9 @@ var LargeText = class extends (0, import_js_toolkit.withMountWhenInView)(import_
68
92
  };
69
93
  }
70
94
  };
95
+ /**
96
+ * Config.
97
+ */
71
98
  __publicField(LargeText, "config", {
72
99
  name: "LargeText",
73
100
  refs: ["target"],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/LargeText/LargeText.ts"],
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 * 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,EAC9B;AAAA,EAuBzB,IAAI;AAAA,EAKJ,SAAS;AAAA,EAKT,YAAY;AAAA,IACV,OAAO;AAAA,IACP,GAAG;AAAA,EACL;AAAA,EAKA,QAAQ;AAAA,EAKR,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA,EAKA,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA,EAKA,SAAS,OAA2B;AAClC,SAAK,SAAS,MAAM,MAAM;AAAA,EAC5B;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;AAxFE,cANW,WAMJ,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;",
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;",
6
6
  "names": []
7
7
  }
@@ -1,6 +1,9 @@
1
1
  import { Base, withMountWhenInView } from "@studiometa/js-toolkit";
2
2
  import { damp, clamp, transform } from "@studiometa/js-toolkit/utils";
3
3
  class LargeText extends withMountWhenInView(Base, { rootMargin: "50%" }) {
4
+ /**
5
+ * Config.
6
+ */
4
7
  static config = {
5
8
  name: "LargeText",
6
9
  refs: ["target"],
@@ -16,22 +19,46 @@ class LargeText extends withMountWhenInView(Base, { rootMargin: "50%" }) {
16
19
  }
17
20
  }
18
21
  };
22
+ /**
23
+ * Translate X.
24
+ */
19
25
  x = 0;
26
+ /**
27
+ * Scroll delta Y.
28
+ */
20
29
  deltaY = 0;
30
+ /**
31
+ * Transform values.
32
+ */
21
33
  transform = {
22
34
  skewX: 0,
23
35
  x: 0
24
36
  };
37
+ /**
38
+ * Target width.
39
+ */
25
40
  width = 0;
41
+ /**
42
+ * Set width on mount.
43
+ */
26
44
  mounted() {
27
45
  this.width = this.$refs.target.clientWidth;
28
46
  }
47
+ /**
48
+ * Set width on resize.
49
+ */
29
50
  resized() {
30
51
  this.width = this.$refs.target.clientWidth;
31
52
  }
53
+ /**
54
+ * Update delta scroll on scroll.
55
+ */
32
56
  scrolled(props) {
33
57
  this.deltaY = props.delta.y;
34
58
  }
59
+ /**
60
+ * Update values on raf.
61
+ */
35
62
  ticked() {
36
63
  this.x -= (Math.abs(this.deltaY) + 1) * this.$options.sensitivity;
37
64
  this.transform.x = damp(this.x, this.transform.x, 0.25);
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/LargeText/LargeText.ts"],
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 * 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,SAAS,MAAM,2BAA2B;AAE1C,SAAS,MAAM,OAAO,iBAAiB;AAgBhC,MAAM,kBACH,oBAAoB,MAAM,EAAE,YAAY,MAAM,CAAC,EAC9B;AAAA,EAIzB,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,EAKA,IAAI;AAAA,EAKJ,SAAS;AAAA,EAKT,YAAY;AAAA,IACV,OAAO;AAAA,IACP,GAAG;AAAA,EACL;AAAA,EAKA,QAAQ;AAAA,EAKR,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA,EAKA,UAAU;AACR,SAAK,QAAQ,KAAK,MAAM,OAAO;AAAA,EACjC;AAAA,EAKA,SAAS,OAA2B;AAClC,SAAK,SAAS,MAAM,MAAM;AAAA,EAC5B;AAAA,EAKA,SAAS;AACP,SAAK,MAAM,KAAK,IAAI,KAAK,MAAM,IAAI,KAAK,KAAK,SAAS;AAEtD,SAAK,UAAU,IAAI,KAAK,KAAK,GAAG,KAAK,UAAU,GAAG,IAAI;AAEtD,QAAI,KAAK,SAAS,MAAM;AACtB,WAAK,UAAU,QAAQ;AAAA,QACrB,MAAM,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,gBAAU,KAAK,MAAM,QAAQ,KAAK,SAAS;AAAA,IAC7C;AAAA,EACF;AACF;",
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,SAAS,MAAM,2BAA2B;AAE1C,SAAS,MAAM,OAAO,iBAAiB;AAgBhC,MAAM,kBACH,oBAAoB,MAAM,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,IAAI,KAAK,KAAK,GAAG,KAAK,UAAU,GAAG,IAAI;AAEtD,QAAI,KAAK,SAAS,MAAM;AACtB,WAAK,UAAU,QAAQ;AAAA,QACrB,MAAM,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,gBAAU,KAAK,MAAM,QAAQ,KAAK,SAAS;AAAA,IAC7C;AAAA,EACF;AACF;",
6
6
  "names": []
7
7
  }
@@ -29,6 +29,9 @@ __export(LazyInclude_exports, {
29
29
  module.exports = __toCommonJS(LazyInclude_exports);
30
30
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
31
  var LazyInclude = class extends import_js_toolkit.Base {
32
+ /**
33
+ * Load the lazy content on mount.
34
+ */
32
35
  mounted() {
33
36
  if (!this.$options.src) {
34
37
  this.$log("The `src` option is missing. Define it with the `data-option-src` attribute");
@@ -42,19 +45,31 @@ var LazyInclude = class extends import_js_toolkit.Base {
42
45
  this.$emit("always");
43
46
  });
44
47
  }
48
+ /**
49
+ * Set content.
50
+ */
45
51
  onContent(content) {
46
52
  this.$refs.loading.style.display = "none";
47
53
  this.$el.innerHTML = content;
48
54
  }
55
+ /**
56
+ * Set error.
57
+ */
49
58
  onError() {
50
59
  this.$refs.error.style.display = "block";
51
60
  }
61
+ /**
62
+ * Always.
63
+ */
52
64
  onAlways() {
53
65
  if (this.$options.terminateOnLoad) {
54
66
  this.$terminate();
55
67
  }
56
68
  }
57
69
  };
70
+ /**
71
+ * Config.
72
+ */
58
73
  __publicField(LazyInclude, "config", {
59
74
  name: "LazyInclude",
60
75
  refs: ["loading", "error"],
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/LazyInclude/LazyInclude.ts"],
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> extends Base<\n T & LazyIncludeProps\n> implements BaseInterface {\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,cAA2D,uBAEvC;AAAA,EAiBzB,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,EAKA,UAAU,SAAgB;AACxB,SAAK,MAAM,QAAQ,MAAM,UAAU;AACnC,SAAK,IAAI,YAAY;AAAA,EACvB;AAAA,EAKA,UAAU;AACR,SAAK,MAAM,MAAM,MAAM,UAAU;AAAA,EACnC;AAAA,EAKA,WAAW;AACT,QAAI,KAAK,SAAS,iBAAiB;AACjC,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AACF;AAvDE,cANW,aAMJ,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;",
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;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,8 @@
1
1
  import { Base } from "@studiometa/js-toolkit";
2
2
  class LazyInclude extends Base {
3
+ /**
4
+ * Config.
5
+ */
3
6
  static config = {
4
7
  name: "LazyInclude",
5
8
  refs: ["loading", "error"],
@@ -9,6 +12,9 @@ class LazyInclude extends Base {
9
12
  terminateOnLoad: Boolean
10
13
  }
11
14
  };
15
+ /**
16
+ * Load the lazy content on mount.
17
+ */
12
18
  mounted() {
13
19
  if (!this.$options.src) {
14
20
  this.$log("The `src` option is missing. Define it with the `data-option-src` attribute");
@@ -22,13 +28,22 @@ class LazyInclude extends Base {
22
28
  this.$emit("always");
23
29
  });
24
30
  }
31
+ /**
32
+ * Set content.
33
+ */
25
34
  onContent(content) {
26
35
  this.$refs.loading.style.display = "none";
27
36
  this.$el.innerHTML = content;
28
37
  }
38
+ /**
39
+ * Set error.
40
+ */
29
41
  onError() {
30
42
  this.$refs.error.style.display = "block";
31
43
  }
44
+ /**
45
+ * Always.
46
+ */
32
47
  onAlways() {
33
48
  if (this.$options.terminateOnLoad) {
34
49
  this.$terminate();
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/LazyInclude/LazyInclude.ts"],
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> extends Base<\n T & LazyIncludeProps\n> implements BaseInterface {\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,SAAS,YAAY;AAiBd,MAAM,oBAAqD,KAEvC;AAAA,EAIzB,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,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,EAKA,UAAU,SAAgB;AACxB,SAAK,MAAM,QAAQ,MAAM,UAAU;AACnC,SAAK,IAAI,YAAY;AAAA,EACvB;AAAA,EAKA,UAAU;AACR,SAAK,MAAM,MAAM,MAAM,UAAU;AAAA,EACnC;AAAA,EAKA,WAAW;AACT,QAAI,KAAK,SAAS,iBAAiB;AACjC,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AACF;",
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,SAAS,YAAY;AAiBd,MAAM,oBACH,KAEV;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
  }
@@ -29,6 +29,9 @@ __export(AbstractPrefetch_exports, {
29
29
  module.exports = __toCommonJS(AbstractPrefetch_exports);
30
30
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
31
  var _AbstractPrefetch = class extends import_js_toolkit.Base {
32
+ /**
33
+ * Is the given anchor prefetchable?
34
+ */
32
35
  isPrefetchable(url) {
33
36
  if (!url || !url.href) {
34
37
  return false;
@@ -50,6 +53,9 @@ var _AbstractPrefetch = class extends import_js_toolkit.Base {
50
53
  }
51
54
  return true;
52
55
  }
56
+ /**
57
+ * Prefetch the given URL and terminate the component.
58
+ */
53
59
  prefetch(url) {
54
60
  if (_AbstractPrefetch.prefetchedUrls.has(url.href)) {
55
61
  return;
@@ -66,6 +72,9 @@ var _AbstractPrefetch = class extends import_js_toolkit.Base {
66
72
  }
67
73
  };
68
74
  var AbstractPrefetch = _AbstractPrefetch;
75
+ /**
76
+ * Config.
77
+ */
69
78
  __publicField(AbstractPrefetch, "config", {
70
79
  name: "AbstractPrefetch",
71
80
  options: {
@@ -75,6 +84,9 @@ __publicField(AbstractPrefetch, "config", {
75
84
  }
76
85
  }
77
86
  });
87
+ /**
88
+ * Store prefetched URL.
89
+ */
78
90
  __publicField(AbstractPrefetch, "prefetchedUrls", /* @__PURE__ */ new Set());
79
91
  if (module.exports.default) module.exports = module.exports.default;
80
92
  //# sourceMappingURL=AbstractPrefetch.cjs.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/AbstractPrefetch.ts"],
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<T & AbstractPrefetchProps> {\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,uBAAgC;AAAA,EAsBrG,eAAe,KAAiB;AAC9B,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,EAKA,SAAS,KAAS;AAChB,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;AA1EO,IAAM,mBAAN;AAIL,cAJW,kBAIJ,UAAqB;AAAA,EAC1B,MAAM;AAAA,EACN,SAAS;AAAA,IACP,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAKA,cAjBW,kBAiBJ,kBAA6B,oBAAI,IAAI;",
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;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,8 @@
1
1
  import { Base } from "@studiometa/js-toolkit";
2
2
  class AbstractPrefetch extends Base {
3
+ /**
4
+ * Config.
5
+ */
3
6
  static config = {
4
7
  name: "AbstractPrefetch",
5
8
  options: {
@@ -9,7 +12,13 @@ class AbstractPrefetch extends Base {
9
12
  }
10
13
  }
11
14
  };
15
+ /**
16
+ * Store prefetched URL.
17
+ */
12
18
  static prefetchedUrls = /* @__PURE__ */ new Set();
19
+ /**
20
+ * Is the given anchor prefetchable?
21
+ */
13
22
  isPrefetchable(url) {
14
23
  if (!url || !url.href) {
15
24
  return false;
@@ -31,6 +40,9 @@ class AbstractPrefetch extends Base {
31
40
  }
32
41
  return true;
33
42
  }
43
+ /**
44
+ * Prefetch the given URL and terminate the component.
45
+ */
34
46
  prefetch(url) {
35
47
  if (AbstractPrefetch.prefetchedUrls.has(url.href)) {
36
48
  return;
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/AbstractPrefetch.ts"],
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<T & AbstractPrefetchProps> {\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,SAAS,YAAY;AAad,MAAM,yBAA0D,KAAgC;AAAA,EAIrG,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,UAAU;AAAA,QACR,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,IACF;AAAA,EACF;AAAA,EAKA,OAAO,iBAA6B,oBAAI,IAAI;AAAA,EAK5C,eAAe,KAAiB;AAC9B,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,EAKA,SAAS,KAAS;AAChB,QAAI,iBAAiB,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,qBAAiB,eAAe,IAAI,IAAI,IAAI;AAE5C,SAAK,WAAW;AAAA,EAClB;AACF;",
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,SAAS,YAAY;AAad,MAAM,yBAA0D,KAErE;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,iBAAiB,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,qBAAiB,eAAe,IAAI,IAAI,IAAI;AAE5C,SAAK,WAAW;AAAA,EAClB;AACF;",
6
6
  "names": []
7
7
  }
@@ -29,10 +29,16 @@ __export(PrefetchWhenOver_exports, {
29
29
  module.exports = __toCommonJS(PrefetchWhenOver_exports);
30
30
  var import_AbstractPrefetch = require("./AbstractPrefetch.cjs");
31
31
  var PrefetchWhenOver = class extends import_AbstractPrefetch.AbstractPrefetch {
32
+ /**
33
+ * Prefetch on mouseenter.
34
+ */
32
35
  onMouseenter() {
33
36
  this.prefetch(new URL(this.$el.href));
34
37
  }
35
38
  };
39
+ /**
40
+ * Config.
41
+ */
36
42
  __publicField(PrefetchWhenOver, "config", {
37
43
  ...import_AbstractPrefetch.AbstractPrefetch.config,
38
44
  name: "PrefetchWhenOver"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/PrefetchWhenOver.ts"],
4
- "sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AbstractPrefetch } from './AbstractPrefetch.js';\n\n/**\n * PrefetchWhenOver class.\n */\nexport class PrefetchWhenOver<\n T extends BaseProps = BaseProps,\n> 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,cAEG,yCAAoB;AAAA,EAY5B,eAAe;AACb,SAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,EACtC;AACF;AAXE,cANW,kBAMJ,UAAoB;AAAA,EACzB,GAAG,yCAAiB;AAAA,EACpB,MAAM;AACR;",
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;",
6
6
  "names": []
7
7
  }
@@ -1,9 +1,15 @@
1
1
  import { AbstractPrefetch } from "./AbstractPrefetch.js";
2
2
  class PrefetchWhenOver extends AbstractPrefetch {
3
+ /**
4
+ * Config.
5
+ */
3
6
  static config = {
4
7
  ...AbstractPrefetch.config,
5
8
  name: "PrefetchWhenOver"
6
9
  };
10
+ /**
11
+ * Prefetch on mouseenter.
12
+ */
7
13
  onMouseenter() {
8
14
  this.prefetch(new URL(this.$el.href));
9
15
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/PrefetchWhenOver.ts"],
4
- "sourcesContent": ["import type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\nimport { AbstractPrefetch } from './AbstractPrefetch.js';\n\n/**\n * PrefetchWhenOver class.\n */\nexport class PrefetchWhenOver<\n T extends BaseProps = BaseProps,\n> 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": "AACA,SAAS,wBAAwB;AAK1B,MAAM,yBAEH,iBAAoB;AAAA,EAI5B,OAAO,SAAoB;AAAA,IACzB,GAAG,iBAAiB;AAAA,IACpB,MAAM;AAAA,EACR;AAAA,EAKA,eAAe;AACb,SAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,EACtC;AACF;",
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": "AACA,SAAS,wBAAwB;AAK1B,MAAM,yBAA0D,iBAAoB;AAAA;AAAA;AAAA;AAAA,EAIzF,OAAO,SAAqB;AAAA,IAC1B,GAAG,iBAAiB;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
  }
@@ -30,10 +30,16 @@ module.exports = __toCommonJS(PrefetchWhenVisible_exports);
30
30
  var import_js_toolkit = require("@studiometa/js-toolkit");
31
31
  var import_AbstractPrefetch = require("./AbstractPrefetch.cjs");
32
32
  var PrefetchWhenVisible = class extends (0, import_js_toolkit.withMountWhenInView)(import_AbstractPrefetch.AbstractPrefetch) {
33
+ /**
34
+ * Prefetch on mount.
35
+ */
33
36
  mounted() {
34
37
  this.prefetch(new URL(this.$el.href));
35
38
  }
36
39
  };
40
+ /**
41
+ * Config.
42
+ */
37
43
  __publicField(PrefetchWhenVisible, "config", {
38
44
  ...import_AbstractPrefetch.AbstractPrefetch.config,
39
45
  name: "PrefetchWhenVisible"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../packages/ui/atoms/Prefetch/PrefetchWhenVisible.ts"],
4
- "sourcesContent": ["import { withMountWhenInView } from '@studiometa/js-toolkit';\nimport type { BaseConfig } from '@studiometa/js-toolkit';\nimport { AbstractPrefetch } from './AbstractPrefetch.js';\n\n/**\n * PrefetchWhenVisible class.\n */\nexport class PrefetchWhenVisible extends withMountWhenInView<AbstractPrefetch>(AbstractPrefetch) {\n /**\n * Config.\n */\n static config:BaseConfig = {\n ...AbstractPrefetch.config,\n name: 'PrefetchWhenVisible',\n };\n\n /**\n * Prefetch on mount.\n */\n mounted() {\n this.prefetch(new URL(this.$el.href));\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAoC;AAEpC,8BAAiC;AAK1B,IAAM,sBAAN,kBAAkC,uCAAsC,wCAAgB,EAAE;AAAA,EAY/F,UAAU;AACR,SAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,EACtC;AACF;AAXE,cAJW,qBAIJ,UAAoB;AAAA,EACzB,GAAG,yCAAiB;AAAA,EACpB,MAAM;AACR;",
4
+ "sourcesContent": ["import { withMountWhenInView } from '@studiometa/js-toolkit';\nimport type { BaseConfig } from '@studiometa/js-toolkit';\nimport { AbstractPrefetch } from './AbstractPrefetch.js';\n\n/**\n * PrefetchWhenVisible class.\n */\nexport class PrefetchWhenVisible extends withMountWhenInView<AbstractPrefetch>(AbstractPrefetch) {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...AbstractPrefetch.config,\n name: 'PrefetchWhenVisible',\n };\n\n /**\n * Prefetch on mount.\n */\n mounted() {\n this.prefetch(new URL(this.$el.href));\n }\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAoC;AAEpC,8BAAiC;AAK1B,IAAM,sBAAN,kBAAkC,uCAAsC,wCAAgB,EAAE;AAAA;AAAA;AAAA;AAAA,EAY/F,UAAU;AACR,SAAK,SAAS,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC;AAAA,EACtC;AACF;AAAA;AAAA;AAAA;AAXE,cAJW,qBAIJ,UAAqB;AAAA,EAC1B,GAAG,yCAAiB;AAAA,EACpB,MAAM;AACR;",
6
6
  "names": []
7
7
  }