@studiometa/ui 0.1.1 → 0.2.2

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 (135) hide show
  1. package/README.md +37 -1
  2. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +52 -0
  3. package/atoms/AnchorScrollTo/AnchorScrollTo.d.ts +31 -0
  4. package/atoms/AnchorScrollTo/AnchorScrollTo.js +26 -0
  5. package/atoms/Cursor/Cursor.cjs +129 -0
  6. package/{Cursor.d.ts → atoms/Cursor/Cursor.d.ts} +0 -0
  7. package/atoms/Cursor/Cursor.js +103 -0
  8. package/atoms/Figure/Figure.cjs +53 -0
  9. package/atoms/Figure/Figure.d.ts +31 -0
  10. package/atoms/Figure/Figure.js +27 -0
  11. package/atoms/LargeText/LargeText.cjs +74 -0
  12. package/atoms/LargeText/LargeText.d.ts +71 -0
  13. package/atoms/LargeText/LargeText.js +48 -0
  14. package/atoms/LazyInclude/LazyInclude.cjs +72 -0
  15. package/atoms/LazyInclude/LazyInclude.d.ts +64 -0
  16. package/atoms/LazyInclude/LazyInclude.js +46 -0
  17. package/atoms/Prefetch/AbstractPrefetch.cjs +84 -0
  18. package/atoms/Prefetch/AbstractPrefetch.d.ts +52 -0
  19. package/atoms/Prefetch/AbstractPrefetch.js +58 -0
  20. package/atoms/Prefetch/PrefetchWhenOver.cjs +65 -0
  21. package/atoms/Prefetch/PrefetchWhenOver.d.ts +21 -0
  22. package/atoms/Prefetch/PrefetchWhenOver.js +35 -0
  23. package/atoms/Prefetch/PrefetchWhenVisible.cjs +66 -0
  24. package/atoms/Prefetch/PrefetchWhenVisible.d.ts +21 -0
  25. package/atoms/Prefetch/PrefetchWhenVisible.js +36 -0
  26. package/atoms/Prefetch/index.cjs +40 -0
  27. package/atoms/Prefetch/index.d.ts +3 -0
  28. package/atoms/Prefetch/index.js +8 -0
  29. package/atoms/index.cjs +45 -0
  30. package/atoms/index.d.ts +6 -0
  31. package/atoms/index.js +13 -0
  32. package/index.cjs +26 -0
  33. package/index.d.ts +3 -6
  34. package/index.js +3 -6
  35. package/molecules/Accordion/Accordion.cjs +65 -0
  36. package/{Accordion/index.d.ts → molecules/Accordion/Accordion.d.ts} +5 -6
  37. package/molecules/Accordion/Accordion.js +35 -0
  38. package/molecules/Accordion/AccordionCore.cjs +60 -0
  39. package/{Accordion/Accordion.d.ts → molecules/Accordion/AccordionCore.d.ts} +0 -0
  40. package/molecules/Accordion/AccordionCore.js +34 -0
  41. package/molecules/Accordion/AccordionItem.cjs +208 -0
  42. package/{Accordion → molecules/Accordion}/AccordionItem.d.ts +11 -13
  43. package/molecules/Accordion/AccordionItem.js +178 -0
  44. package/molecules/Modal/Modal.cjs +176 -0
  45. package/{Modal.d.ts → molecules/Modal/Modal.d.ts} +9 -9
  46. package/molecules/Modal/Modal.js +150 -0
  47. package/molecules/Modal/ModalWithTransition.cjs +100 -0
  48. package/molecules/Modal/ModalWithTransition.d.ts +29 -0
  49. package/molecules/Modal/ModalWithTransition.js +69 -0
  50. package/molecules/Panel/Panel.cjs +148 -0
  51. package/molecules/Panel/Panel.d.ts +42 -0
  52. package/molecules/Panel/Panel.js +117 -0
  53. package/molecules/Slider/AbstractSliderChild.cjs +74 -0
  54. package/molecules/Slider/AbstractSliderChild.d.ts +55 -0
  55. package/molecules/Slider/AbstractSliderChild.js +43 -0
  56. package/molecules/Slider/Slider.cjs +240 -0
  57. package/molecules/Slider/Slider.d.ts +245 -0
  58. package/molecules/Slider/Slider.js +209 -0
  59. package/molecules/Slider/SliderBtn.cjs +65 -0
  60. package/molecules/Slider/SliderBtn.d.ts +31 -0
  61. package/molecules/Slider/SliderBtn.js +34 -0
  62. package/molecules/Slider/SliderCount.cjs +50 -0
  63. package/molecules/Slider/SliderCount.d.ts +21 -0
  64. package/molecules/Slider/SliderCount.js +19 -0
  65. package/molecules/Slider/SliderDots.cjs +55 -0
  66. package/molecules/Slider/SliderDots.d.ts +33 -0
  67. package/molecules/Slider/SliderDots.js +24 -0
  68. package/molecules/Slider/SliderDrag.cjs +45 -0
  69. package/molecules/Slider/SliderDrag.d.ts +16 -0
  70. package/molecules/Slider/SliderDrag.js +19 -0
  71. package/molecules/Slider/SliderItem.cjs +130 -0
  72. package/molecules/Slider/SliderItem.d.ts +106 -0
  73. package/molecules/Slider/SliderItem.js +105 -0
  74. package/molecules/Slider/SliderProgress.cjs +54 -0
  75. package/molecules/Slider/SliderProgress.d.ts +27 -0
  76. package/molecules/Slider/SliderProgress.js +23 -0
  77. package/molecules/Slider/index.cjs +50 -0
  78. package/molecules/Slider/index.d.ts +8 -0
  79. package/molecules/Slider/index.js +18 -0
  80. package/molecules/Sticky/Sticky.cjs +133 -0
  81. package/molecules/Sticky/Sticky.d.ts +141 -0
  82. package/molecules/Sticky/Sticky.js +107 -0
  83. package/molecules/TableOfContent/TableOfContent.cjs +73 -0
  84. package/molecules/TableOfContent/TableOfContent.d.ts +59 -0
  85. package/molecules/TableOfContent/TableOfContent.js +42 -0
  86. package/molecules/TableOfContent/TableOfContentAnchor.cjs +65 -0
  87. package/molecules/TableOfContent/TableOfContentAnchor.d.ts +36 -0
  88. package/molecules/TableOfContent/TableOfContentAnchor.js +39 -0
  89. package/molecules/TableOfContent/index.cjs +38 -0
  90. package/molecules/TableOfContent/index.d.ts +2 -0
  91. package/molecules/TableOfContent/index.js +6 -0
  92. package/molecules/Tabs/Tabs.cjs +152 -0
  93. package/{Tabs.d.ts → molecules/Tabs/Tabs.d.ts} +2 -4
  94. package/molecules/Tabs/Tabs.js +126 -0
  95. package/molecules/index.cjs +50 -0
  96. package/molecules/index.d.ts +9 -0
  97. package/molecules/index.js +18 -0
  98. package/organisms/Frame/Frame.cjs +202 -0
  99. package/organisms/Frame/Frame.d.ts +119 -0
  100. package/organisms/Frame/Frame.js +171 -0
  101. package/organisms/Frame/FrameAnchor.cjs +48 -0
  102. package/organisms/Frame/FrameAnchor.d.ts +35 -0
  103. package/organisms/Frame/FrameAnchor.js +22 -0
  104. package/organisms/Frame/FrameForm.cjs +48 -0
  105. package/organisms/Frame/FrameForm.d.ts +32 -0
  106. package/organisms/Frame/FrameForm.js +22 -0
  107. package/organisms/Frame/FrameTarget.cjs +134 -0
  108. package/organisms/Frame/FrameTarget.d.ts +47 -0
  109. package/organisms/Frame/FrameTarget.js +109 -0
  110. package/organisms/Frame/index.cjs +42 -0
  111. package/organisms/Frame/index.d.ts +4 -0
  112. package/organisms/Frame/index.js +10 -0
  113. package/organisms/index.cjs +24 -0
  114. package/organisms/index.d.ts +1 -0
  115. package/organisms/index.js +1 -0
  116. package/package.json +2 -2
  117. package/primitives/Draggable/Draggable.cjs +64 -0
  118. package/{Draggable.d.ts → primitives/Draggable/Draggable.d.ts} +0 -0
  119. package/primitives/Draggable/Draggable.js +38 -0
  120. package/primitives/Sentinel/Sentinel.cjs +41 -0
  121. package/primitives/Sentinel/Sentinel.d.ts +12 -0
  122. package/primitives/Sentinel/Sentinel.js +15 -0
  123. package/primitives/Transition/Transition.cjs +71 -0
  124. package/primitives/Transition/Transition.d.ts +69 -0
  125. package/primitives/Transition/Transition.js +45 -0
  126. package/primitives/index.cjs +40 -0
  127. package/primitives/index.d.ts +3 -0
  128. package/primitives/index.js +8 -0
  129. package/Accordion/Accordion.js +0 -29
  130. package/Accordion/AccordionItem.js +0 -197
  131. package/Accordion/index.js +0 -12
  132. package/Cursor.js +0 -121
  133. package/Draggable.js +0 -31
  134. package/Modal.js +0 -167
  135. package/Tabs.js +0 -106
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  [![Dependency Status](https://img.shields.io/librariesio/release/npm/@studiometa/ui?style=flat-square)](https://david-dm.org/studiometa/js-toolkit)
6
6
  ![Codecov](https://img.shields.io/codecov/c/github/studiometa/js-toolkit?style=flat-square)
7
7
 
8
- > 🗃 A set of opiniated, unstyled and accessible components based on [@studiometa/js-toolkit](https://github.com/studiometa/js-toolkit)
8
+ > 📦 A set of opiniated, unstyled and accessible components based on [@studiometa/js-toolkit](https://github.com/studiometa/js-toolkit)
9
9
 
10
10
  ## Installation
11
11
 
@@ -15,6 +15,12 @@ Install the latest version via NPM:
15
15
  npm install @studiometa/ui
16
16
  ```
17
17
 
18
+ If you need the Twig template as well, install the Twig extension via Composer and load it in your application:
19
+
20
+ ```bash
21
+ composer require studiometa/ui
22
+ ```
23
+
18
24
  ## Usage
19
25
 
20
26
  Import the components from the package as needed:
@@ -34,3 +40,33 @@ class App extends Base {
34
40
 
35
41
  export default createApp(App, document.body);
36
42
  ```
43
+
44
+ Heads up to [ui.studiometa.dev](https://ui.studiometa.dev) for more informations.
45
+
46
+ ## Contributing
47
+
48
+ Clone the project and install the required dependencies. The back-end can be run with [ddev](https://github.com/drud/ddev) which is preconfigured.
49
+
50
+ ```bash
51
+ git clone https://github.com:studiometa/ui.git
52
+ cd ui/
53
+
54
+ # Install root dependencies
55
+ npm install
56
+ composer install
57
+ ddev start
58
+
59
+ # Install back-end dependencies
60
+ cd packages/docs/.symfony
61
+ composer install
62
+
63
+ # Launch the dev environment
64
+ cd ..
65
+ npm run dev
66
+ ```
67
+
68
+ You can also [open the repository in GitPod](https://gitpod.io/#https://github.com/studiometa/ui) and start the dev server with the following command in the root of the project:
69
+
70
+ ```
71
+ npm run docs:dev
72
+ ```
@@ -0,0 +1,52 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
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
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __reExport = (target, module2, copyDefault, desc) => {
12
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
13
+ for (let key of __getOwnPropNames(module2))
14
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
15
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
16
+ }
17
+ return target;
18
+ };
19
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
+ return (module2, temp) => {
21
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
+ };
23
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
+ var __publicField = (obj, key, value) => {
25
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
26
+ return value;
27
+ };
28
+
29
+ // packages/ui/atoms/AnchorScrollTo/AnchorScrollTo.js
30
+ var AnchorScrollTo_exports = {};
31
+ __export(AnchorScrollTo_exports, {
32
+ default: () => AnchorScrollTo
33
+ });
34
+ var import_js_toolkit = require("@studiometa/js-toolkit");
35
+ var import_utils = require("@studiometa/js-toolkit/utils");
36
+ var AnchorScrollTo = class extends import_js_toolkit.Base {
37
+ get targetSelector() {
38
+ return this.$el.hash;
39
+ }
40
+ onClick(event) {
41
+ try {
42
+ (0, import_utils.scrollTo)(this.targetSelector);
43
+ event.preventDefault();
44
+ } catch (err) {
45
+ }
46
+ }
47
+ };
48
+ __publicField(AnchorScrollTo, "config", {
49
+ name: "AnchorScrollTo"
50
+ });
51
+ module.exports = __toCommonJS(AnchorScrollTo_exports);
52
+ if (module.exports.default) module.exports = module.exports.default;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @typedef {AnchorScrollTo & {
3
+ * $el: HTMLAnchorElement
4
+ * }} AnchorScrollToInterface
5
+ */
6
+ /**
7
+ * AncorScrollTo class.
8
+ */
9
+ export default class AnchorScrollTo extends Base {
10
+ static config: {
11
+ name: string;
12
+ };
13
+ /**
14
+ * Get the target selector.
15
+ *
16
+ * @this {AnchorScrollToInterface}
17
+ * @returns {string}
18
+ */
19
+ get targetSelector(): string;
20
+ /**
21
+ * Scroll to the target selector on click.
22
+ *
23
+ * @param {MouseEvent} event
24
+ * @returns {void}
25
+ */
26
+ onClick(event: MouseEvent): void;
27
+ }
28
+ export type AnchorScrollToInterface = AnchorScrollTo & {
29
+ $el: HTMLAnchorElement;
30
+ };
31
+ import { Base } from "@studiometa/js-toolkit";
@@ -0,0 +1,26 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import { Base } from "@studiometa/js-toolkit";
8
+ import { scrollTo } from "@studiometa/js-toolkit/utils";
9
+ class AnchorScrollTo extends Base {
10
+ get targetSelector() {
11
+ return this.$el.hash;
12
+ }
13
+ onClick(event) {
14
+ try {
15
+ scrollTo(this.targetSelector);
16
+ event.preventDefault();
17
+ } catch (err) {
18
+ }
19
+ }
20
+ }
21
+ __publicField(AnchorScrollTo, "config", {
22
+ name: "AnchorScrollTo"
23
+ });
24
+ export {
25
+ AnchorScrollTo as default
26
+ };
@@ -0,0 +1,129 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
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
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __reExport = (target, module2, copyDefault, desc) => {
12
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
13
+ for (let key of __getOwnPropNames(module2))
14
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
15
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
16
+ }
17
+ return target;
18
+ };
19
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
+ return (module2, temp) => {
21
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
+ };
23
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
+ var __publicField = (obj, key, value) => {
25
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
26
+ return value;
27
+ };
28
+
29
+ // packages/ui/atoms/Cursor/Cursor.js
30
+ var Cursor_exports = {};
31
+ __export(Cursor_exports, {
32
+ default: () => Cursor
33
+ });
34
+ var import_js_toolkit = require("@studiometa/js-toolkit");
35
+ var import_utils = require("@studiometa/js-toolkit/utils");
36
+ var Cursor = class extends import_js_toolkit.Base {
37
+ constructor() {
38
+ super(...arguments);
39
+ __publicField(this, "x", 0);
40
+ __publicField(this, "y", 0);
41
+ __publicField(this, "scale", 0);
42
+ __publicField(this, "pointerX", 0);
43
+ __publicField(this, "pointerY", 0);
44
+ __publicField(this, "pointerScale", 0);
45
+ }
46
+ mounted() {
47
+ this.x = 0;
48
+ this.y = 0;
49
+ this.scale = 0;
50
+ this.pointerX = 0;
51
+ this.pointerY = 0;
52
+ this.pointerScale = 0;
53
+ this.render({ x: this.x, y: this.y, scale: this.scale });
54
+ }
55
+ moved({ event, x, y, isDown }) {
56
+ if (!this.$services.has("ticked")) {
57
+ this.$services.enable("ticked");
58
+ }
59
+ this.pointerX = x;
60
+ this.pointerY = y;
61
+ let scale = 1;
62
+ if (!event) {
63
+ this.pointerScale = scale;
64
+ return;
65
+ }
66
+ const shouldGrow = event.target instanceof Element && event.target.matches(this.$options.growSelectors) || false;
67
+ const shouldReduce = isDown || event.target instanceof Element && event.target.matches(this.$options.shrinkSelectors) || false;
68
+ if (shouldGrow) {
69
+ scale = this.$options.growTo;
70
+ }
71
+ if (shouldReduce) {
72
+ scale = this.$options.shrinkTo;
73
+ }
74
+ this.pointerScale = scale;
75
+ }
76
+ ticked() {
77
+ this.x = (0, import_utils.damp)(this.pointerX, this.x, this.$options.translateDampFactor);
78
+ this.y = (0, import_utils.damp)(this.pointerY, this.y, this.$options.translateDampFactor);
79
+ this.scale = (0, import_utils.damp)(this.pointerScale, this.scale, this.pointerScale < this.scale ? this.$options.shrinkDampFactor : this.$options.growDampFactor);
80
+ this.render({ x: this.x, y: this.y, scale: this.scale });
81
+ if (this.x === this.pointerX && this.y === this.pointerY && this.scale === this.pointerScale) {
82
+ this.$services.disable("ticked");
83
+ }
84
+ }
85
+ render({ x, y, scale }) {
86
+ const transform = (0, import_utils.matrix)({
87
+ translateX: x,
88
+ translateY: y,
89
+ scaleX: scale,
90
+ scaleY: scale
91
+ });
92
+ this.$el.style.transform = `translateZ(0) ${transform}`;
93
+ }
94
+ };
95
+ __publicField(Cursor, "config", {
96
+ name: "Cursor",
97
+ options: {
98
+ growSelectors: {
99
+ type: String,
100
+ default: "a, a *, button, button *, [data-cursor-grow], [data-cursor-grow] *"
101
+ },
102
+ shrinkSelectors: {
103
+ type: String,
104
+ default: "[data-cursor-shrink], [data-cursor-shrink] *"
105
+ },
106
+ growTo: {
107
+ type: Number,
108
+ default: 2
109
+ },
110
+ shrinkTo: {
111
+ type: Number,
112
+ default: 0.5
113
+ },
114
+ translateDampFactor: {
115
+ type: Number,
116
+ default: 0.25
117
+ },
118
+ growDampFactor: {
119
+ type: Number,
120
+ default: 0.25
121
+ },
122
+ shrinkDampFactor: {
123
+ type: Number,
124
+ default: 0.25
125
+ }
126
+ }
127
+ });
128
+ module.exports = __toCommonJS(Cursor_exports);
129
+ if (module.exports.default) module.exports = module.exports.default;
File without changes
@@ -0,0 +1,103 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import { Base } from "@studiometa/js-toolkit";
8
+ import { damp, matrix } from "@studiometa/js-toolkit/utils";
9
+ class Cursor extends Base {
10
+ constructor() {
11
+ super(...arguments);
12
+ __publicField(this, "x", 0);
13
+ __publicField(this, "y", 0);
14
+ __publicField(this, "scale", 0);
15
+ __publicField(this, "pointerX", 0);
16
+ __publicField(this, "pointerY", 0);
17
+ __publicField(this, "pointerScale", 0);
18
+ }
19
+ mounted() {
20
+ this.x = 0;
21
+ this.y = 0;
22
+ this.scale = 0;
23
+ this.pointerX = 0;
24
+ this.pointerY = 0;
25
+ this.pointerScale = 0;
26
+ this.render({ x: this.x, y: this.y, scale: this.scale });
27
+ }
28
+ moved({ event, x, y, isDown }) {
29
+ if (!this.$services.has("ticked")) {
30
+ this.$services.enable("ticked");
31
+ }
32
+ this.pointerX = x;
33
+ this.pointerY = y;
34
+ let scale = 1;
35
+ if (!event) {
36
+ this.pointerScale = scale;
37
+ return;
38
+ }
39
+ const shouldGrow = event.target instanceof Element && event.target.matches(this.$options.growSelectors) || false;
40
+ const shouldReduce = isDown || event.target instanceof Element && event.target.matches(this.$options.shrinkSelectors) || false;
41
+ if (shouldGrow) {
42
+ scale = this.$options.growTo;
43
+ }
44
+ if (shouldReduce) {
45
+ scale = this.$options.shrinkTo;
46
+ }
47
+ this.pointerScale = scale;
48
+ }
49
+ ticked() {
50
+ this.x = damp(this.pointerX, this.x, this.$options.translateDampFactor);
51
+ this.y = damp(this.pointerY, this.y, this.$options.translateDampFactor);
52
+ this.scale = damp(this.pointerScale, this.scale, this.pointerScale < this.scale ? this.$options.shrinkDampFactor : this.$options.growDampFactor);
53
+ this.render({ x: this.x, y: this.y, scale: this.scale });
54
+ if (this.x === this.pointerX && this.y === this.pointerY && this.scale === this.pointerScale) {
55
+ this.$services.disable("ticked");
56
+ }
57
+ }
58
+ render({ x, y, scale }) {
59
+ const transform = matrix({
60
+ translateX: x,
61
+ translateY: y,
62
+ scaleX: scale,
63
+ scaleY: scale
64
+ });
65
+ this.$el.style.transform = `translateZ(0) ${transform}`;
66
+ }
67
+ }
68
+ __publicField(Cursor, "config", {
69
+ name: "Cursor",
70
+ options: {
71
+ growSelectors: {
72
+ type: String,
73
+ default: "a, a *, button, button *, [data-cursor-grow], [data-cursor-grow] *"
74
+ },
75
+ shrinkSelectors: {
76
+ type: String,
77
+ default: "[data-cursor-shrink], [data-cursor-shrink] *"
78
+ },
79
+ growTo: {
80
+ type: Number,
81
+ default: 2
82
+ },
83
+ shrinkTo: {
84
+ type: Number,
85
+ default: 0.5
86
+ },
87
+ translateDampFactor: {
88
+ type: Number,
89
+ default: 0.25
90
+ },
91
+ growDampFactor: {
92
+ type: Number,
93
+ default: 0.25
94
+ },
95
+ shrinkDampFactor: {
96
+ type: Number,
97
+ default: 0.25
98
+ }
99
+ }
100
+ });
101
+ export {
102
+ Cursor as default
103
+ };
@@ -0,0 +1,53 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
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
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __reExport = (target, module2, copyDefault, desc) => {
12
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
13
+ for (let key of __getOwnPropNames(module2))
14
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
15
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
16
+ }
17
+ return target;
18
+ };
19
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
+ return (module2, temp) => {
21
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
+ };
23
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
+ var __publicField = (obj, key, value) => {
25
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
26
+ return value;
27
+ };
28
+
29
+ // packages/ui/atoms/Figure/Figure.js
30
+ var Figure_exports = {};
31
+ __export(Figure_exports, {
32
+ default: () => Figure
33
+ });
34
+ var import_js_toolkit = require("@studiometa/js-toolkit");
35
+ var Figure = class extends (0, import_js_toolkit.withMountWhenInView)(import_js_toolkit.Base, { threshold: [0, 1] }) {
36
+ mounted() {
37
+ if (!this.$refs.img) {
38
+ throw new Error("[Figure] The `img` ref is required.");
39
+ }
40
+ if (!(this.$refs.img instanceof HTMLImageElement)) {
41
+ throw new Error("[Figure] The `img` ref must be an `<img>` element.");
42
+ }
43
+ if (this.$refs.img.hasAttribute("data-src")) {
44
+ this.$refs.img.src = this.$refs.img.getAttribute("data-src");
45
+ }
46
+ }
47
+ };
48
+ __publicField(Figure, "config", {
49
+ name: "Figure",
50
+ refs: ["img"]
51
+ });
52
+ module.exports = __toCommonJS(Figure_exports);
53
+ if (module.exports.default) module.exports = module.exports.default;
@@ -0,0 +1,31 @@
1
+ /**
2
+ * @typedef {Object} FigureRefs
3
+ * @property {HTMLImageElement} img
4
+ */
5
+ /**
6
+ * @typedef {Object} FigureInterface
7
+ * @property {FigureRefs} $refs
8
+ */
9
+ /**
10
+ * Figure class.
11
+ *
12
+ * Manager lazyloading image sources.
13
+ */
14
+ export default class Figure extends Base {
15
+ static config: {
16
+ name: string;
17
+ refs: string[];
18
+ };
19
+ /**
20
+ * Load on mount.
21
+ * @this {Figure & FigureInterface}
22
+ */
23
+ mounted(): void;
24
+ }
25
+ export type FigureRefs = {
26
+ img: HTMLImageElement;
27
+ };
28
+ export type FigureInterface = {
29
+ $refs: FigureRefs;
30
+ };
31
+ import { Base } from "@studiometa/js-toolkit";
@@ -0,0 +1,27 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
3
+ var __publicField = (obj, key, value) => {
4
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
5
+ return value;
6
+ };
7
+ import { Base, withMountWhenInView } from "@studiometa/js-toolkit";
8
+ class Figure extends withMountWhenInView(Base, { threshold: [0, 1] }) {
9
+ mounted() {
10
+ if (!this.$refs.img) {
11
+ throw new Error("[Figure] The `img` ref is required.");
12
+ }
13
+ if (!(this.$refs.img instanceof HTMLImageElement)) {
14
+ throw new Error("[Figure] The `img` ref must be an `<img>` element.");
15
+ }
16
+ if (this.$refs.img.hasAttribute("data-src")) {
17
+ this.$refs.img.src = this.$refs.img.getAttribute("data-src");
18
+ }
19
+ }
20
+ }
21
+ __publicField(Figure, "config", {
22
+ name: "Figure",
23
+ refs: ["img"]
24
+ });
25
+ export {
26
+ Figure as default
27
+ };
@@ -0,0 +1,74 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
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
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
7
+ var __export = (target, all) => {
8
+ for (var name in all)
9
+ __defProp(target, name, { get: all[name], enumerable: true });
10
+ };
11
+ var __reExport = (target, module2, copyDefault, desc) => {
12
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
13
+ for (let key of __getOwnPropNames(module2))
14
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
15
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
16
+ }
17
+ return target;
18
+ };
19
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
20
+ return (module2, temp) => {
21
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
22
+ };
23
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
24
+ var __publicField = (obj, key, value) => {
25
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
26
+ return value;
27
+ };
28
+
29
+ // packages/ui/atoms/LargeText/LargeText.js
30
+ var LargeText_exports = {};
31
+ __export(LargeText_exports, {
32
+ default: () => LargeText
33
+ });
34
+ var import_js_toolkit = require("@studiometa/js-toolkit");
35
+ var import_utils = require("@studiometa/js-toolkit/utils");
36
+ var LargeText = class extends (0, import_js_toolkit.withMountWhenInView)(import_js_toolkit.Base, { rootMargin: "50%" }) {
37
+ constructor() {
38
+ super(...arguments);
39
+ __publicField(this, "translateX", 0);
40
+ __publicField(this, "deltaY", 0);
41
+ __publicField(this, "transform", {
42
+ skewX: 0,
43
+ translateX: 0
44
+ });
45
+ __publicField(this, "width", 0);
46
+ }
47
+ mounted() {
48
+ this.width = this.$refs.target.clientWidth;
49
+ }
50
+ resized() {
51
+ this.width = this.$refs.target.clientWidth;
52
+ }
53
+ scrolled(props) {
54
+ this.deltaY = props.delta.y;
55
+ }
56
+ ticked() {
57
+ this.translateX -= Math.abs(this.deltaY) + 1;
58
+ this.transform.translateX = (0, import_utils.damp)(this.translateX, this.transform.translateX, 0.25);
59
+ this.transform.skewX = (0, import_utils.damp)((0, import_utils.clamp)(this.deltaY / 20 * -1, -0.5, 0.5), this.transform.skewX, 0.25);
60
+ if (Math.abs(this.transform.translateX) >= this.width) {
61
+ this.translateX = 0;
62
+ this.transform.translateX = 0;
63
+ }
64
+ (0, import_utils.nextFrame)(() => {
65
+ this.$refs.target.style.transform = (0, import_utils.matrix)(this.transform) + " translateZ(0px)";
66
+ });
67
+ }
68
+ };
69
+ __publicField(LargeText, "config", {
70
+ name: "LargeText",
71
+ refs: ["target"]
72
+ });
73
+ module.exports = __toCommonJS(LargeText_exports);
74
+ if (module.exports.default) module.exports = module.exports.default;
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @typedef {LargeText & { $refs: { target: HTMLElement } }} LargeTextInterface
3
+ */
4
+ /**
5
+ * Large text class.
6
+ */
7
+ export default class LargeText extends Base {
8
+ /**
9
+ * Config.
10
+ */
11
+ static config: {
12
+ name: string;
13
+ refs: string[];
14
+ };
15
+ /**
16
+ * Translate X.
17
+ * @type {number}
18
+ */
19
+ translateX: number;
20
+ /**
21
+ * Scroll delta Y.
22
+ * @type {number}
23
+ */
24
+ deltaY: number;
25
+ /**
26
+ * Transform values.
27
+ */
28
+ transform: {
29
+ skewX: number;
30
+ translateX: number;
31
+ };
32
+ /**
33
+ * Target width.
34
+ * @type {number}
35
+ */
36
+ width: number;
37
+ /**
38
+ * Set width on mount.
39
+ *
40
+ * @this {LargeTextInterface}
41
+ * @returns {void}
42
+ */
43
+ mounted(): void;
44
+ /**
45
+ * Set width on resize.
46
+ *
47
+ * @this {LargeTextInterface}
48
+ * @returns {void}
49
+ */
50
+ resized(): void;
51
+ /**
52
+ * Update delta scroll on scroll.
53
+ *
54
+ * @param {import('@studiometa/js-toolkit/services/scroll').ScrollServiceProps} props
55
+ * @returns {void}
56
+ */
57
+ scrolled(props: import('@studiometa/js-toolkit/services/scroll').ScrollServiceProps): void;
58
+ /**
59
+ * Update values on raf.
60
+ *
61
+ * @this {LargeTextInterface}
62
+ * @returns {void}
63
+ */
64
+ ticked(): void;
65
+ }
66
+ export type LargeTextInterface = LargeText & {
67
+ $refs: {
68
+ target: HTMLElement;
69
+ };
70
+ };
71
+ import { Base } from "@studiometa/js-toolkit";