@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
@@ -0,0 +1,69 @@
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
+ var __async = (__this, __arguments, generator) => {
8
+ return new Promise((resolve, reject) => {
9
+ var fulfilled = (value) => {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ };
16
+ var rejected = (value) => {
17
+ try {
18
+ step(generator.throw(value));
19
+ } catch (e) {
20
+ reject(e);
21
+ }
22
+ };
23
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
24
+ step((generator = generator.apply(__this, __arguments)).next());
25
+ });
26
+ };
27
+ import Modal from "./Modal.js";
28
+ class ModalWithTransition extends Modal {
29
+ open() {
30
+ this.$refs.modal.style.visibility = "";
31
+ return super.open();
32
+ }
33
+ close() {
34
+ var __superGet = (key) => super[key];
35
+ return __async(this, null, function* () {
36
+ yield __superGet("close").call(this);
37
+ this.$refs.modal.style.visibility = "hidden";
38
+ return Promise.resolve();
39
+ });
40
+ }
41
+ }
42
+ __publicField(ModalWithTransition, "config", {
43
+ name: "ModalWithTransition",
44
+ options: {
45
+ styles: {
46
+ type: Object,
47
+ default: () => ({
48
+ modal: {
49
+ closed: {
50
+ opacity: "0",
51
+ pointerEvents: "none"
52
+ },
53
+ active: "transition duration-500 ease-out-expo"
54
+ },
55
+ overlay: {
56
+ closed: "opacity-0",
57
+ active: "transition duration-500 ease-out-expo"
58
+ },
59
+ container: {
60
+ closed: "transform scale-95 opacity-0",
61
+ active: "transition duration-500 ease-out-expo"
62
+ }
63
+ })
64
+ }
65
+ }
66
+ });
67
+ export {
68
+ ModalWithTransition as default
69
+ };
@@ -0,0 +1,148 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, copyDefault, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toESM = (module2, isNodeMode) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
25
+ return (module2, temp) => {
26
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
27
+ };
28
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
29
+ var __publicField = (obj, key, value) => {
30
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
+ return value;
32
+ };
33
+ var __async = (__this, __arguments, generator) => {
34
+ return new Promise((resolve, reject) => {
35
+ var fulfilled = (value) => {
36
+ try {
37
+ step(generator.next(value));
38
+ } catch (e) {
39
+ reject(e);
40
+ }
41
+ };
42
+ var rejected = (value) => {
43
+ try {
44
+ step(generator.throw(value));
45
+ } catch (e) {
46
+ reject(e);
47
+ }
48
+ };
49
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
50
+ step((generator = generator.apply(__this, __arguments)).next());
51
+ });
52
+ };
53
+
54
+ // packages/ui/molecules/Panel/Panel.js
55
+ var Panel_exports = {};
56
+ __export(Panel_exports, {
57
+ default: () => Panel
58
+ });
59
+ var import_utils = require("@studiometa/js-toolkit/utils");
60
+ var import_Modal = __toESM(require("../Modal/Modal.cjs"), 1);
61
+ var _Panel = class extends import_Modal.default {
62
+ get translateClass() {
63
+ var _a;
64
+ return (_a = _Panel.translateClasses[this.$options.position]) != null ? _a : _Panel.translateClasses[_Panel.config.options.position.default];
65
+ }
66
+ get containerOffset() {
67
+ const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = this.$refs.container;
68
+ const store = {
69
+ top: {
70
+ translateY: (offsetTop + offsetHeight) * -1
71
+ },
72
+ right: {
73
+ translateX: window.innerWidth - offsetLeft + offsetWidth * 2
74
+ },
75
+ bottom: {
76
+ translateY: window.innerHeight - offsetTop + offsetHeight * 2
77
+ },
78
+ left: {
79
+ translateX: (offsetLeft + offsetWidth) * -1
80
+ }
81
+ };
82
+ return (0, import_utils.matrix)(store[this.$options.position]);
83
+ }
84
+ open() {
85
+ var __superGet = (key) => super[key];
86
+ return __async(this, null, function* () {
87
+ if (this.isOpen) {
88
+ return Promise.resolve();
89
+ }
90
+ this.$refs.modal.classList.remove("pointer-events-none");
91
+ (0, import_utils.transition)(this.$refs.container, {
92
+ from: {
93
+ transform: this.containerOffset
94
+ },
95
+ to: {
96
+ transform: "none"
97
+ }
98
+ }, "keep");
99
+ (0, import_utils.transition)(this.$refs.overlay, {
100
+ from: "opacity-0"
101
+ });
102
+ return __superGet("open").call(this);
103
+ });
104
+ }
105
+ close() {
106
+ var __superGet = (key) => super[key];
107
+ return __async(this, null, function* () {
108
+ if (!this.isOpen || this.isClosing) {
109
+ return Promise.resolve();
110
+ }
111
+ this.isClosing = true;
112
+ this.$refs.modal.classList.add("pointer-events-none");
113
+ yield Promise.all([
114
+ (0, import_utils.transition)(this.$refs.container, {
115
+ from: {
116
+ transform: "none"
117
+ },
118
+ to: {
119
+ transform: this.containerOffset
120
+ }
121
+ }, "keep"),
122
+ (0, import_utils.transition)(this.$refs.overlay, {
123
+ to: "opacity-0"
124
+ }, "keep")
125
+ ]);
126
+ this.isClosing = false;
127
+ return __superGet("close").call(this);
128
+ });
129
+ }
130
+ };
131
+ var Panel = _Panel;
132
+ __publicField(Panel, "config", {
133
+ name: "Panel",
134
+ options: {
135
+ position: {
136
+ type: String,
137
+ default: "left"
138
+ }
139
+ }
140
+ });
141
+ __publicField(Panel, "translateClasses", {
142
+ top: "-translate-y-full",
143
+ right: "translate-x-full",
144
+ bottom: "translate-y-full",
145
+ left: "-translate-x-full"
146
+ });
147
+ module.exports = __toCommonJS(Panel_exports);
148
+ if (module.exports.default) module.exports = module.exports.default;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @typedef {import('../Modal/Modal.js').ModalInterface} ModalInterface
3
+ * @typedef {Panel & ModalInterface} PanelInterface
4
+ * @typedef {typeof Modal} ModalConstructor
5
+ */
6
+ /**
7
+ * Panel class.
8
+ */
9
+ export default class Panel extends Modal {
10
+ /**
11
+ * Config.
12
+ */
13
+ static config: {
14
+ name: string;
15
+ options: {
16
+ position: {
17
+ type: StringConstructor;
18
+ default: string;
19
+ };
20
+ };
21
+ };
22
+ static translateClasses: {
23
+ top: string;
24
+ right: string;
25
+ bottom: string;
26
+ left: string;
27
+ };
28
+ /**
29
+ * Get the translation class.
30
+ * @returns {string}
31
+ */
32
+ get translateClass(): string;
33
+ /**
34
+ * @this {PanelInterface}
35
+ */
36
+ get containerOffset(): string;
37
+ isClosing: boolean;
38
+ }
39
+ export type ModalInterface = import('../Modal/Modal.js').ModalInterface;
40
+ export type PanelInterface = Panel & ModalInterface;
41
+ export type ModalConstructor = typeof Modal;
42
+ import Modal from "../Modal/Modal.js";
@@ -0,0 +1,117 @@
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
+ var __async = (__this, __arguments, generator) => {
8
+ return new Promise((resolve, reject) => {
9
+ var fulfilled = (value) => {
10
+ try {
11
+ step(generator.next(value));
12
+ } catch (e) {
13
+ reject(e);
14
+ }
15
+ };
16
+ var rejected = (value) => {
17
+ try {
18
+ step(generator.throw(value));
19
+ } catch (e) {
20
+ reject(e);
21
+ }
22
+ };
23
+ var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
24
+ step((generator = generator.apply(__this, __arguments)).next());
25
+ });
26
+ };
27
+ import { transition, matrix } from "@studiometa/js-toolkit/utils";
28
+ import Modal from "../Modal/Modal.js";
29
+ const _Panel = class extends Modal {
30
+ get translateClass() {
31
+ var _a;
32
+ return (_a = _Panel.translateClasses[this.$options.position]) != null ? _a : _Panel.translateClasses[_Panel.config.options.position.default];
33
+ }
34
+ get containerOffset() {
35
+ const { offsetTop, offsetLeft, offsetWidth, offsetHeight } = this.$refs.container;
36
+ const store = {
37
+ top: {
38
+ translateY: (offsetTop + offsetHeight) * -1
39
+ },
40
+ right: {
41
+ translateX: window.innerWidth - offsetLeft + offsetWidth * 2
42
+ },
43
+ bottom: {
44
+ translateY: window.innerHeight - offsetTop + offsetHeight * 2
45
+ },
46
+ left: {
47
+ translateX: (offsetLeft + offsetWidth) * -1
48
+ }
49
+ };
50
+ return matrix(store[this.$options.position]);
51
+ }
52
+ open() {
53
+ var __superGet = (key) => super[key];
54
+ return __async(this, null, function* () {
55
+ if (this.isOpen) {
56
+ return Promise.resolve();
57
+ }
58
+ this.$refs.modal.classList.remove("pointer-events-none");
59
+ transition(this.$refs.container, {
60
+ from: {
61
+ transform: this.containerOffset
62
+ },
63
+ to: {
64
+ transform: "none"
65
+ }
66
+ }, "keep");
67
+ transition(this.$refs.overlay, {
68
+ from: "opacity-0"
69
+ });
70
+ return __superGet("open").call(this);
71
+ });
72
+ }
73
+ close() {
74
+ var __superGet = (key) => super[key];
75
+ return __async(this, null, function* () {
76
+ if (!this.isOpen || this.isClosing) {
77
+ return Promise.resolve();
78
+ }
79
+ this.isClosing = true;
80
+ this.$refs.modal.classList.add("pointer-events-none");
81
+ yield Promise.all([
82
+ transition(this.$refs.container, {
83
+ from: {
84
+ transform: "none"
85
+ },
86
+ to: {
87
+ transform: this.containerOffset
88
+ }
89
+ }, "keep"),
90
+ transition(this.$refs.overlay, {
91
+ to: "opacity-0"
92
+ }, "keep")
93
+ ]);
94
+ this.isClosing = false;
95
+ return __superGet("close").call(this);
96
+ });
97
+ }
98
+ };
99
+ let Panel = _Panel;
100
+ __publicField(Panel, "config", {
101
+ name: "Panel",
102
+ options: {
103
+ position: {
104
+ type: String,
105
+ default: "left"
106
+ }
107
+ }
108
+ });
109
+ __publicField(Panel, "translateClasses", {
110
+ top: "-translate-y-full",
111
+ right: "translate-x-full",
112
+ bottom: "translate-y-full",
113
+ left: "-translate-x-full"
114
+ });
115
+ export {
116
+ Panel as default
117
+ };
@@ -0,0 +1,74 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
9
+ var __export = (target, all) => {
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, copyDefault, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toESM = (module2, isNodeMode) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ var __toCommonJS = /* @__PURE__ */ ((cache) => {
25
+ return (module2, temp) => {
26
+ return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
27
+ };
28
+ })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
29
+ var __publicField = (obj, key, value) => {
30
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
+ return value;
32
+ };
33
+
34
+ // packages/ui/molecules/Slider/AbstractSliderChild.js
35
+ var AbstractSliderChild_exports = {};
36
+ __export(AbstractSliderChild_exports, {
37
+ default: () => AbstractSliderChild
38
+ });
39
+ var import_js_toolkit = require("@studiometa/js-toolkit");
40
+ var import_utils = require("@studiometa/js-toolkit/utils");
41
+ var import_Slider = __toESM(require("./Slider.cjs"), 1);
42
+ var AbstractSliderChild = class extends import_js_toolkit.Base {
43
+ constructor() {
44
+ super(...arguments);
45
+ __publicField(this, "$parent");
46
+ }
47
+ mounted() {
48
+ if (!(this.$parent instanceof import_Slider.default)) {
49
+ throw new Error(`The \`${this.$options.name}\` component must be a direct child of a \`Slider\` component.`);
50
+ }
51
+ this.$parent.$on("index", this);
52
+ }
53
+ resized() {
54
+ (0, import_utils.nextFrame)(() => {
55
+ this.update(this.$parent.currentIndex);
56
+ });
57
+ }
58
+ destroyed() {
59
+ this.$parent.$off("index", this);
60
+ }
61
+ handleEvent(event) {
62
+ if (event.type === "index") {
63
+ this.update(event.detail[0]);
64
+ }
65
+ }
66
+ update(index) {
67
+ throw new Error(`The \`AbstractSliderChild.update(${index})\` method must be implemented.`);
68
+ }
69
+ };
70
+ __publicField(AbstractSliderChild, "config", {
71
+ name: "AbstractSliderChild"
72
+ });
73
+ module.exports = __toCommonJS(AbstractSliderChild_exports);
74
+ if (module.exports.default) module.exports = module.exports.default;
@@ -0,0 +1,55 @@
1
+ /**
2
+ * @typedef {AbstractSliderChild & { $parent: Slider, $refs: { progress: HTMLElement } }} AbstractSliderChildInterface
3
+ */
4
+ /**
5
+ * AbstractSliderChild class.
6
+ */
7
+ export default class AbstractSliderChild extends Base {
8
+ /**
9
+ * Config.
10
+ */
11
+ static config: {
12
+ name: string;
13
+ };
14
+ /**
15
+ * Listen to the `goto` event of the parent on mount.
16
+ * @returns {void}
17
+ */
18
+ mounted(): void;
19
+ /**
20
+ * Trigger update on resize.
21
+ *
22
+ * @this {AbstractSliderChildInterface}
23
+ * @returns {void}
24
+ */
25
+ resized(): void;
26
+ /**
27
+ * Remove the event listener.
28
+ *
29
+ * @returns {void}
30
+ */
31
+ destroyed(): void;
32
+ /**
33
+ * Dispatch event.
34
+ *
35
+ * @param {CustomEvent} event
36
+ * @returns {void}
37
+ */
38
+ handleEvent(event: CustomEvent): void;
39
+ /**
40
+ * Update the child component with the given index.
41
+ *
42
+ * @this {AbstractSliderChildInterface}
43
+ * @param {number} index The new active index.
44
+ * @returns {void}
45
+ */
46
+ update(index: number): void;
47
+ }
48
+ export type AbstractSliderChildInterface = AbstractSliderChild & {
49
+ $parent: Slider;
50
+ $refs: {
51
+ progress: HTMLElement;
52
+ };
53
+ };
54
+ import { Base } from "@studiometa/js-toolkit";
55
+ import Slider from "./Slider.js";
@@ -0,0 +1,43 @@
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 { nextFrame } from "@studiometa/js-toolkit/utils";
9
+ import Slider from "./Slider.js";
10
+ class AbstractSliderChild extends Base {
11
+ constructor() {
12
+ super(...arguments);
13
+ __publicField(this, "$parent");
14
+ }
15
+ mounted() {
16
+ if (!(this.$parent instanceof Slider)) {
17
+ throw new Error(`The \`${this.$options.name}\` component must be a direct child of a \`Slider\` component.`);
18
+ }
19
+ this.$parent.$on("index", this);
20
+ }
21
+ resized() {
22
+ nextFrame(() => {
23
+ this.update(this.$parent.currentIndex);
24
+ });
25
+ }
26
+ destroyed() {
27
+ this.$parent.$off("index", this);
28
+ }
29
+ handleEvent(event) {
30
+ if (event.type === "index") {
31
+ this.update(event.detail[0]);
32
+ }
33
+ }
34
+ update(index) {
35
+ throw new Error(`The \`AbstractSliderChild.update(${index})\` method must be implemented.`);
36
+ }
37
+ }
38
+ __publicField(AbstractSliderChild, "config", {
39
+ name: "AbstractSliderChild"
40
+ });
41
+ export {
42
+ AbstractSliderChild as default
43
+ };