@studiometa/ui 0.2.3 → 0.2.4

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 (117) hide show
  1. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +8 -13
  2. package/atoms/AnchorScrollTo/AnchorScrollTo.js +1 -26
  3. package/atoms/Cursor/Cursor.cjs +14 -22
  4. package/atoms/Cursor/Cursor.d.ts +2 -2
  5. package/atoms/Cursor/Cursor.js +1 -103
  6. package/atoms/Figure/Figure.cjs +9 -14
  7. package/atoms/Figure/Figure.d.ts +1 -1
  8. package/atoms/Figure/Figure.js +1 -27
  9. package/atoms/LargeText/LargeText.cjs +15 -23
  10. package/atoms/LargeText/LargeText.d.ts +3 -3
  11. package/atoms/LargeText/LargeText.js +1 -64
  12. package/atoms/LazyInclude/LazyInclude.cjs +8 -13
  13. package/atoms/LazyInclude/LazyInclude.d.ts +4 -4
  14. package/atoms/LazyInclude/LazyInclude.js +1 -46
  15. package/atoms/Prefetch/AbstractPrefetch.cjs +8 -13
  16. package/atoms/Prefetch/AbstractPrefetch.d.ts +1 -1
  17. package/atoms/Prefetch/AbstractPrefetch.js +1 -58
  18. package/atoms/Prefetch/PrefetchWhenOver.cjs +12 -34
  19. package/atoms/Prefetch/PrefetchWhenOver.d.ts +1 -1
  20. package/atoms/Prefetch/PrefetchWhenOver.js +1 -35
  21. package/atoms/Prefetch/PrefetchWhenVisible.cjs +12 -34
  22. package/atoms/Prefetch/PrefetchWhenVisible.d.ts +1 -1
  23. package/atoms/Prefetch/PrefetchWhenVisible.js +1 -36
  24. package/atoms/Prefetch/index.cjs +9 -16
  25. package/atoms/Prefetch/index.js +1 -8
  26. package/atoms/index.cjs +11 -17
  27. package/atoms/index.js +1 -13
  28. package/index.cjs +11 -15
  29. package/index.js +1 -3
  30. package/molecules/Accordion/Accordion.cjs +12 -34
  31. package/molecules/Accordion/Accordion.js +1 -35
  32. package/molecules/Accordion/AccordionCore.cjs +8 -13
  33. package/molecules/Accordion/AccordionCore.d.ts +2 -2
  34. package/molecules/Accordion/AccordionCore.js +1 -34
  35. package/molecules/Accordion/AccordionItem.cjs +70 -114
  36. package/molecules/Accordion/AccordionItem.d.ts +7 -6
  37. package/molecules/Accordion/AccordionItem.js +1 -178
  38. package/molecules/Menu/Menu.cjs +148 -0
  39. package/molecules/Menu/Menu.d.ts +140 -0
  40. package/molecules/Menu/Menu.js +1 -0
  41. package/molecules/Menu/MenuBtn.cjs +53 -0
  42. package/molecules/Menu/MenuBtn.d.ts +39 -0
  43. package/molecules/Menu/MenuBtn.js +1 -0
  44. package/molecules/Menu/MenuList.cjs +134 -0
  45. package/molecules/Menu/MenuList.d.ts +101 -0
  46. package/molecules/Menu/MenuList.js +1 -0
  47. package/molecules/Menu/index.cjs +33 -0
  48. package/molecules/Menu/index.d.ts +3 -0
  49. package/molecules/Menu/index.js +1 -0
  50. package/molecules/Modal/Modal.cjs +42 -71
  51. package/molecules/Modal/Modal.d.ts +5 -5
  52. package/molecules/Modal/Modal.js +1 -150
  53. package/molecules/Modal/ModalWithTransition.cjs +13 -43
  54. package/molecules/Modal/ModalWithTransition.js +1 -69
  55. package/molecules/Panel/Panel.cjs +42 -76
  56. package/molecules/Panel/Panel.js +1 -117
  57. package/molecules/Slider/AbstractSliderChild.cjs +10 -20
  58. package/molecules/Slider/AbstractSliderChild.d.ts +6 -2
  59. package/molecules/Slider/AbstractSliderChild.js +1 -43
  60. package/molecules/Slider/Slider.cjs +14 -24
  61. package/molecules/Slider/Slider.d.ts +6 -6
  62. package/molecules/Slider/Slider.js +1 -209
  63. package/molecules/Slider/SliderBtn.cjs +9 -16
  64. package/molecules/Slider/SliderBtn.d.ts +1 -1
  65. package/molecules/Slider/SliderBtn.js +1 -34
  66. package/molecules/Slider/SliderCount.cjs +9 -16
  67. package/molecules/Slider/SliderCount.js +1 -19
  68. package/molecules/Slider/SliderDots.cjs +9 -16
  69. package/molecules/Slider/SliderDots.js +1 -24
  70. package/molecules/Slider/SliderDrag.cjs +8 -13
  71. package/molecules/Slider/SliderDrag.js +1 -19
  72. package/molecules/Slider/SliderItem.cjs +14 -37
  73. package/molecules/Slider/SliderItem.js +1 -105
  74. package/molecules/Slider/SliderProgress.cjs +9 -16
  75. package/molecules/Slider/SliderProgress.js +1 -23
  76. package/molecules/Slider/index.cjs +9 -16
  77. package/molecules/Slider/index.js +1 -18
  78. package/molecules/Sticky/Sticky.cjs +11 -19
  79. package/molecules/Sticky/Sticky.d.ts +8 -8
  80. package/molecules/Sticky/Sticky.js +1 -107
  81. package/molecules/TableOfContent/TableOfContent.cjs +9 -16
  82. package/molecules/TableOfContent/TableOfContent.d.ts +1 -1
  83. package/molecules/TableOfContent/TableOfContent.js +1 -42
  84. package/molecules/TableOfContent/TableOfContentAnchor.cjs +8 -13
  85. package/molecules/TableOfContent/TableOfContentAnchor.js +1 -39
  86. package/molecules/TableOfContent/index.cjs +9 -16
  87. package/molecules/TableOfContent/index.js +1 -6
  88. package/molecules/Tabs/Tabs.cjs +54 -82
  89. package/molecules/Tabs/Tabs.d.ts +5 -4
  90. package/molecules/Tabs/Tabs.js +1 -126
  91. package/molecules/index.cjs +13 -18
  92. package/molecules/index.d.ts +1 -0
  93. package/molecules/index.js +1 -18
  94. package/organisms/Frame/Frame.cjs +67 -98
  95. package/organisms/Frame/Frame.d.ts +3 -3
  96. package/organisms/Frame/Frame.js +1 -171
  97. package/organisms/Frame/FrameAnchor.cjs +8 -13
  98. package/organisms/Frame/FrameAnchor.js +1 -22
  99. package/organisms/Frame/FrameForm.cjs +8 -13
  100. package/organisms/Frame/FrameForm.js +1 -22
  101. package/organisms/Frame/FrameTarget.cjs +31 -73
  102. package/organisms/Frame/FrameTarget.js +1 -109
  103. package/organisms/Frame/index.cjs +9 -16
  104. package/organisms/Frame/index.js +1 -10
  105. package/organisms/index.cjs +9 -13
  106. package/organisms/index.js +1 -1
  107. package/package.json +3 -4
  108. package/primitives/Draggable/Draggable.cjs +15 -28
  109. package/primitives/Draggable/Draggable.d.ts +0 -5
  110. package/primitives/Draggable/Draggable.js +1 -38
  111. package/primitives/Sentinel/Sentinel.cjs +8 -13
  112. package/primitives/Sentinel/Sentinel.js +1 -15
  113. package/primitives/Transition/Transition.cjs +12 -17
  114. package/primitives/Transition/Transition.d.ts +2 -4
  115. package/primitives/Transition/Transition.js +1 -45
  116. package/primitives/index.cjs +9 -16
  117. package/primitives/index.js +1 -8
@@ -1,117 +1 @@
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
- };
1
+ import{transition as s,matrix as a}from"@studiometa/js-toolkit/utils";import l from"../Modal/Modal.js";class t extends l{static config={name:"Panel",options:{position:{type:String,default:"left"}}};static translateClasses={top:"-translate-y-full",right:"translate-x-full",bottom:"translate-y-full",left:"-translate-x-full"};get translateClass(){return t.translateClasses[this.$options.position]??t.translateClasses[t.config.options.position.default]}get containerOffset(){const{offsetTop:e,offsetLeft:o,offsetWidth:n,offsetHeight:i}=this.$refs.container,r={top:{translateY:(e+i)*-1},right:{translateX:window.innerWidth-o+n*2},bottom:{translateY:window.innerHeight-e+i*2},left:{translateX:(o+n)*-1}};return a(r[this.$options.position])}async open(){return this.isOpen?Promise.resolve():(this.$refs.modal.classList.remove("pointer-events-none"),s(this.$refs.container,{from:{transform:this.containerOffset},to:{transform:"none"}},"keep"),s(this.$refs.overlay,{from:"opacity-0"}),super.open())}async close(){return!this.isOpen||this.isClosing?Promise.resolve():(this.isClosing=!0,this.$refs.modal.classList.add("pointer-events-none"),await Promise.all([s(this.$refs.container,{from:{transform:"none"},to:{transform:this.containerOffset}},"keep"),s(this.$refs.overlay,{to:"opacity-0"},"keep")]),this.isClosing=!1,super.close())}}export{t as default};
@@ -5,27 +5,20 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
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
8
  var __export = (target, all) => {
10
9
  for (var name in all)
11
10
  __defProp(target, name, { get: all[name], enumerable: true });
12
11
  };
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 });
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
17
  }
19
- return target;
18
+ return to;
20
19
  };
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);
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
22
  var __publicField = (obj, key, value) => {
30
23
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
24
  return value;
@@ -36,14 +29,12 @@ var AbstractSliderChild_exports = {};
36
29
  __export(AbstractSliderChild_exports, {
37
30
  default: () => AbstractSliderChild
38
31
  });
32
+ module.exports = __toCommonJS(AbstractSliderChild_exports);
39
33
  var import_js_toolkit = require("@studiometa/js-toolkit");
40
34
  var import_utils = require("@studiometa/js-toolkit/utils");
41
35
  var import_Slider = __toESM(require("./Slider.cjs"), 1);
42
36
  var AbstractSliderChild = class extends import_js_toolkit.Base {
43
- constructor() {
44
- super(...arguments);
45
- __publicField(this, "$parent");
46
- }
37
+ $parent;
47
38
  mounted() {
48
39
  if (!(this.$parent instanceof import_Slider.default)) {
49
40
  throw new Error(`The \`${this.$options.name}\` component must be a direct child of a \`Slider\` component.`);
@@ -70,5 +61,4 @@ var AbstractSliderChild = class extends import_js_toolkit.Base {
70
61
  __publicField(AbstractSliderChild, "config", {
71
62
  name: "AbstractSliderChild"
72
63
  });
73
- module.exports = __toCommonJS(AbstractSliderChild_exports);
74
64
  if (module.exports.default) module.exports = module.exports.default;
@@ -11,6 +11,10 @@ export default class AbstractSliderChild extends Base {
11
11
  static config: {
12
12
  name: string;
13
13
  };
14
+ /**
15
+ * @type {Slider}
16
+ */
17
+ $parent: Slider;
14
18
  /**
15
19
  * Listen to the `goto` event of the parent on mount.
16
20
  * @returns {void}
@@ -22,7 +26,7 @@ export default class AbstractSliderChild extends Base {
22
26
  * @this {AbstractSliderChildInterface}
23
27
  * @returns {void}
24
28
  */
25
- resized(): void;
29
+ resized(this: AbstractSliderChildInterface): void;
26
30
  /**
27
31
  * Remove the event listener.
28
32
  *
@@ -43,7 +47,7 @@ export default class AbstractSliderChild extends Base {
43
47
  * @param {number} index The new active index.
44
48
  * @returns {void}
45
49
  */
46
- update(index: number): void;
50
+ update(this: AbstractSliderChildInterface, index: number): void;
47
51
  }
48
52
  export type AbstractSliderChildInterface = AbstractSliderChild & {
49
53
  $parent: Slider;
@@ -1,43 +1 @@
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
- };
1
+ import{Base as t}from"@studiometa/js-toolkit";import{nextFrame as i}from"@studiometa/js-toolkit/utils";import r from"./Slider.js";class d extends t{static config={name:"AbstractSliderChild"};$parent;mounted(){if(!(this.$parent instanceof r))throw new Error(`The \`${this.$options.name}\` component must be a direct child of a \`Slider\` component.`);this.$parent.$on("index",this)}resized(){i(()=>{this.update(this.$parent.currentIndex)})}destroyed(){this.$parent.$off("index",this)}handleEvent(e){e.type==="index"&&this.update(e.detail[0])}update(e){throw new Error(`The \`AbstractSliderChild.update(${e})\` method must be implemented.`)}}export{d as default};
@@ -5,27 +5,20 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
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
8
  var __export = (target, all) => {
10
9
  for (var name in all)
11
10
  __defProp(target, name, { get: all[name], enumerable: true });
12
11
  };
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 });
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
17
  }
19
- return target;
18
+ return to;
20
19
  };
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);
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
22
  var __publicField = (obj, key, value) => {
30
23
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
24
  return value;
@@ -36,18 +29,15 @@ var Slider_exports = {};
36
29
  __export(Slider_exports, {
37
30
  default: () => Slider
38
31
  });
32
+ module.exports = __toCommonJS(Slider_exports);
39
33
  var import_js_toolkit = require("@studiometa/js-toolkit");
40
34
  var import_utils = require("@studiometa/js-toolkit/utils");
41
35
  var import_SliderDrag = __toESM(require("./SliderDrag.cjs"), 1);
42
36
  var import_SliderItem = __toESM(require("./SliderItem.cjs"), 1);
43
37
  var Slider = class extends import_js_toolkit.Base {
44
- constructor() {
45
- super(...arguments);
46
- __publicField(this, "__distanceX", 0);
47
- __publicField(this, "__initialX", 0);
48
- __publicField(this, "__currentIndex", 0);
49
- __publicField(this, "states", []);
50
- }
38
+ __distanceX = 0;
39
+ __initialX = 0;
40
+ __currentIndex = 0;
51
41
  get currentIndex() {
52
42
  return this.__currentIndex;
53
43
  }
@@ -57,6 +47,7 @@ var Slider = class extends import_js_toolkit.Base {
57
47
  this.__currentIndex = value;
58
48
  this.currentSliderItem.activate();
59
49
  }
50
+ states = [];
60
51
  get currentState() {
61
52
  return this.states[this.currentIndex];
62
53
  }
@@ -97,7 +88,7 @@ var Slider = class extends import_js_toolkit.Base {
97
88
  });
98
89
  }
99
90
  getStateValueByMode(state, mode) {
100
- return state[mode != null ? mode : this.$options.mode];
91
+ return state[mode ?? this.$options.mode];
101
92
  }
102
93
  mounted() {
103
94
  this.states = this.getStates();
@@ -236,5 +227,4 @@ __publicField(Slider, "config", {
236
227
  sensitivity: { type: Number, default: 1 }
237
228
  }
238
229
  });
239
- module.exports = __toCommonJS(Slider_exports);
240
230
  if (module.exports.default) module.exports = module.exports.default;
@@ -120,7 +120,7 @@ export default class Slider extends Base {
120
120
  * @todo save value for every available modes to avoid recalculation when switching
121
121
  * @this {SliderInterface}
122
122
  */
123
- getStates(): {
123
+ getStates(this: SliderInterface): {
124
124
  x: {
125
125
  left: number;
126
126
  center: number;
@@ -135,7 +135,7 @@ export default class Slider extends Base {
135
135
  * @param {SliderOptions['mode']} [mode]
136
136
  * @returns {number}
137
137
  */
138
- getStateValueByMode(state: SliderState['x'], mode?: SliderOptions['mode']): number;
138
+ getStateValueByMode(this: SliderInterface, state: SliderState['x'], mode?: SliderOptions['mode']): number;
139
139
  /**
140
140
  * Mounted hook.
141
141
  *
@@ -166,7 +166,7 @@ export default class Slider extends Base {
166
166
  * @param {number} index
167
167
  * @returns {void}
168
168
  */
169
- goTo(index: number): void;
169
+ goTo(this: SliderInterface, index: number): void;
170
170
  /**
171
171
  * Listen to the Draggable `start` event.
172
172
  *
@@ -187,7 +187,7 @@ export default class Slider extends Base {
187
187
  * @param {import('@studiometa/js-toolkit/services/drag').DragServiceProps} props
188
188
  * @returns {void}
189
189
  */
190
- onSliderDragDrop(props: import('@studiometa/js-toolkit/services/drag').DragServiceProps): void;
190
+ onSliderDragDrop(this: SliderInterface, props: import('@studiometa/js-toolkit/services/drag').DragServiceProps): void;
191
191
  /**
192
192
  * Prepare invisible items.
193
193
  * @returns {void}
@@ -209,7 +209,7 @@ export default class Slider extends Base {
209
209
  * @param {number} target
210
210
  * @returns {SliderItem[]}
211
211
  */
212
- getVisibleItems(target: number): SliderItem[];
212
+ getVisibleItems(this: SliderInterface, target: number): SliderItem[];
213
213
  /**
214
214
  * Get the invisible slides for the given position.
215
215
  *
@@ -217,7 +217,7 @@ export default class Slider extends Base {
217
217
  * @param {number} target
218
218
  * @returns {SliderItem[]}
219
219
  */
220
- getInvisibleItems(target: number): SliderItem[];
220
+ getInvisibleItems(this: SliderInterface, target: number): SliderItem[];
221
221
  }
222
222
  export type SliderModes = 'left' | 'center' | 'right';
223
223
  export type SliderState = {
@@ -1,209 +1 @@
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 { clamp, inertiaFinalValue, nextFrame } from "@studiometa/js-toolkit/utils";
9
- import SliderDrag from "./SliderDrag.js";
10
- import SliderItem from "./SliderItem.js";
11
- class Slider extends Base {
12
- constructor() {
13
- super(...arguments);
14
- __publicField(this, "__distanceX", 0);
15
- __publicField(this, "__initialX", 0);
16
- __publicField(this, "__currentIndex", 0);
17
- __publicField(this, "states", []);
18
- }
19
- get currentIndex() {
20
- return this.__currentIndex;
21
- }
22
- set currentIndex(value) {
23
- this.currentSliderItem.disactivate();
24
- this.$emit("index", value);
25
- this.__currentIndex = value;
26
- this.currentSliderItem.activate();
27
- }
28
- get currentState() {
29
- return this.states[this.currentIndex];
30
- }
31
- get firstState() {
32
- return this.states[0];
33
- }
34
- get lastState() {
35
- return this.states[this.states.length - 1];
36
- }
37
- get containMinState() {
38
- return this.getStateValueByMode(this.firstState.x, "left");
39
- }
40
- get containMaxState() {
41
- return this.getStateValueByMode(this.lastState.x, "right");
42
- }
43
- get indexMax() {
44
- return this.$children.SliderItem.length - 1;
45
- }
46
- get currentSliderItem() {
47
- return this.$children.SliderItem[this.currentIndex];
48
- }
49
- getStates() {
50
- const { wrapper } = this.$refs;
51
- const originRect = wrapper.getBoundingClientRect();
52
- const origins = {
53
- left: originRect.left,
54
- center: originRect.x + originRect.width / 2,
55
- right: originRect.x + originRect.width
56
- };
57
- return this.$children.SliderItem.map((item) => {
58
- return {
59
- x: {
60
- left: (item.rect.x - origins.left) * -1,
61
- center: (item.rect.x + item.rect.width / 2 - origins.center) * -1,
62
- right: (item.rect.x + item.rect.width - origins.right) * -1
63
- }
64
- };
65
- });
66
- }
67
- getStateValueByMode(state, mode) {
68
- return state[mode != null ? mode : this.$options.mode];
69
- }
70
- mounted() {
71
- this.states = this.getStates();
72
- this.prepareInvisibleItems();
73
- this.goTo(this.currentIndex);
74
- }
75
- resized() {
76
- nextFrame(() => {
77
- this.states = this.getStates();
78
- nextFrame(() => {
79
- this.prepareInvisibleItems();
80
- this.goTo(this.currentIndex);
81
- });
82
- });
83
- }
84
- goNext() {
85
- if (this.currentIndex + 1 > this.indexMax) {
86
- return;
87
- }
88
- this.goTo(this.currentIndex + 1);
89
- }
90
- goPrev() {
91
- if (this.currentIndex - 1 < 0) {
92
- return;
93
- }
94
- this.goTo(this.currentIndex - 1);
95
- }
96
- goTo(index) {
97
- if (index < 0 || index > this.indexMax) {
98
- throw new Error("Index out of bound.");
99
- }
100
- let state = this.getStateValueByMode(this.states[index].x);
101
- if (this.$options.contain) {
102
- if (this.$children.SliderItem[this.indexMax].willBeFullyVisible(state)) {
103
- state = this.getStateValueByMode(this.lastState.x, "right");
104
- } else if (this.$children.SliderItem[0].willBeFullyVisible(state)) {
105
- state = this.getStateValueByMode(this.firstState.x, "left");
106
- }
107
- }
108
- const itemsToMove = this.getVisibleItems(state);
109
- if (index < this.currentIndex) {
110
- itemsToMove.reverse();
111
- }
112
- itemsToMove.forEach((item) => {
113
- nextFrame(() => item.move(state));
114
- });
115
- this.currentIndex = index;
116
- this.$emit("goto", index);
117
- }
118
- onSliderDragStart() {
119
- this.__initialX = this.currentSliderItem ? this.currentSliderItem.x : 0;
120
- }
121
- onSliderDragDrag(props) {
122
- if (Math.abs(props.delta.y) > Math.abs(props.delta.x)) {
123
- return;
124
- }
125
- this.__distanceX = this.__initialX + props.distance.x * this.$options.sensitivity;
126
- this.getVisibleItems(this.__distanceX).forEach((item) => {
127
- item.moveInstantly(this.__distanceX);
128
- });
129
- }
130
- onSliderDragDrop(props) {
131
- if (Math.abs(props.delta.y) > Math.abs(props.delta.x)) {
132
- return;
133
- }
134
- let finalX = clamp(inertiaFinalValue(this.__distanceX, props.delta.x * this.$options.sensitivity), 0, this.getStateValueByMode(this.lastState.x));
135
- const absoluteDifferencesBetweenDistanceAndState = this.states.map((state) => Math.abs(finalX - this.getStateValueByMode(state.x)));
136
- const minimumDifference = Math.min(...absoluteDifferencesBetweenDistanceAndState);
137
- const closestIndex = absoluteDifferencesBetweenDistanceAndState.findIndex((number) => number === minimumDifference);
138
- if (this.$options.fitBounds) {
139
- this.goTo(closestIndex);
140
- } else {
141
- if (this.$options.contain) {
142
- finalX = Math.min(this.containMinState, finalX);
143
- finalX = Math.max(this.containMaxState, finalX);
144
- }
145
- this.$children.SliderItem.forEach((item) => {
146
- item.move(finalX);
147
- });
148
- this.currentIndex = closestIndex;
149
- }
150
- }
151
- prepareInvisibleItems() {
152
- const state = this.states[this.currentIndex];
153
- const nextItemsToPrepare = [];
154
- const previousItemsToPrepare = [];
155
- this.getInvisibleItems(this.getStateValueByMode(state.x)).forEach((item, i) => {
156
- if (i > this.currentIndex) {
157
- nextItemsToPrepare.push(item);
158
- return;
159
- }
160
- if (i < this.currentIndex) {
161
- previousItemsToPrepare.push(item);
162
- }
163
- });
164
- nextItemsToPrepare.forEach((item) => {
165
- const invisibleState = this.getStateWhereItemWillBeInvisible(item);
166
- if (invisibleState) {
167
- item.moveInstantly(this.getStateValueByMode(invisibleState.x));
168
- }
169
- });
170
- previousItemsToPrepare.forEach((item) => {
171
- const invisibleState = this.getStateWhereItemWillBeInvisible(item, { reversed: true });
172
- if (invisibleState) {
173
- item.moveInstantly(this.getStateValueByMode(invisibleState.x));
174
- }
175
- });
176
- }
177
- getStateWhereItemWillBeInvisible(item, { reversed = false } = {}) {
178
- const visibleStates = this.states.filter((state) => item.willBeVisible(this.getStateValueByMode(state.x)));
179
- const firstVisibleState = visibleStates[0];
180
- const lastVisibleState = visibleStates[visibleStates.length - 1];
181
- const firstVisibleStateIndex = this.states.findIndex((state) => this.getStateValueByMode(state.x) === this.getStateValueByMode(firstVisibleState.x));
182
- const lastVisibleStateIndex = this.states.findIndex((state) => state.x === lastVisibleState.x);
183
- return reversed ? this.states[lastVisibleStateIndex + 1] : this.states[firstVisibleStateIndex - 1];
184
- }
185
- getVisibleItems(target) {
186
- return this.$children.SliderItem.filter((item) => item.isVisible || item.willBeVisible(target));
187
- }
188
- getInvisibleItems(target) {
189
- return this.$children.SliderItem.filter((item) => !item.isVisible && !item.willBeVisible(target));
190
- }
191
- }
192
- __publicField(Slider, "config", {
193
- name: "Slider",
194
- refs: ["wrapper"],
195
- emits: ["goto", "index"],
196
- components: {
197
- SliderItem,
198
- SliderDrag
199
- },
200
- options: {
201
- mode: { type: String, default: "left" },
202
- fitBounds: Boolean,
203
- contain: Boolean,
204
- sensitivity: { type: Number, default: 1 }
205
- }
206
- });
207
- export {
208
- Slider as default
209
- };
1
+ import{Base as o}from"@studiometa/js-toolkit";import{clamp as d,inertiaFinalValue as c,nextFrame as h}from"@studiometa/js-toolkit/utils";import u from"./SliderDrag.js";import x from"./SliderItem.js";class I extends o{static config={name:"Slider",refs:["wrapper"],emits:["goto","index"],components:{SliderItem:x,SliderDrag:u},options:{mode:{type:String,default:"left"},fitBounds:Boolean,contain:Boolean,sensitivity:{type:Number,default:1}}};__distanceX=0;__initialX=0;__currentIndex=0;get currentIndex(){return this.__currentIndex}set currentIndex(e){this.currentSliderItem.disactivate(),this.$emit("index",e),this.__currentIndex=e,this.currentSliderItem.activate()}states=[];get currentState(){return this.states[this.currentIndex]}get firstState(){return this.states[0]}get lastState(){return this.states[this.states.length-1]}get containMinState(){return this.getStateValueByMode(this.firstState.x,"left")}get containMaxState(){return this.getStateValueByMode(this.lastState.x,"right")}get indexMax(){return this.$children.SliderItem.length-1}get currentSliderItem(){return this.$children.SliderItem[this.currentIndex]}getStates(){const{wrapper:e}=this.$refs,t=e.getBoundingClientRect(),s={left:t.left,center:t.x+t.width/2,right:t.x+t.width};return this.$children.SliderItem.map(i=>({x:{left:(i.rect.x-s.left)*-1,center:(i.rect.x+i.rect.width/2-s.center)*-1,right:(i.rect.x+i.rect.width-s.right)*-1}}))}getStateValueByMode(e,t){return e[t??this.$options.mode]}mounted(){this.states=this.getStates(),this.prepareInvisibleItems(),this.goTo(this.currentIndex)}resized(){h(()=>{this.states=this.getStates(),h(()=>{this.prepareInvisibleItems(),this.goTo(this.currentIndex)})})}goNext(){this.currentIndex+1>this.indexMax||this.goTo(this.currentIndex+1)}goPrev(){this.currentIndex-1<0||this.goTo(this.currentIndex-1)}goTo(e){if(e<0||e>this.indexMax)throw new Error("Index out of bound.");let t=this.getStateValueByMode(this.states[e].x);this.$options.contain&&(this.$children.SliderItem[this.indexMax].willBeFullyVisible(t)?t=this.getStateValueByMode(this.lastState.x,"right"):this.$children.SliderItem[0].willBeFullyVisible(t)&&(t=this.getStateValueByMode(this.firstState.x,"left")));const s=this.getVisibleItems(t);e<this.currentIndex&&s.reverse(),s.forEach(i=>{h(()=>i.move(t))}),this.currentIndex=e,this.$emit("goto",e)}onSliderDragStart(){this.__initialX=this.currentSliderItem?this.currentSliderItem.x:0}onSliderDragDrag(e){Math.abs(e.delta.y)>Math.abs(e.delta.x)||(this.__distanceX=this.__initialX+e.distance.x*this.$options.sensitivity,this.getVisibleItems(this.__distanceX).forEach(t=>{t.moveInstantly(this.__distanceX)}))}onSliderDragDrop(e){if(Math.abs(e.delta.y)>Math.abs(e.delta.x))return;let t=d(c(this.__distanceX,e.delta.x*this.$options.sensitivity),0,this.getStateValueByMode(this.lastState.x));const s=this.states.map(n=>Math.abs(t-this.getStateValueByMode(n.x))),i=Math.min(...s),r=s.findIndex(n=>n===i);this.$options.fitBounds?this.goTo(r):(this.$options.contain&&(t=Math.min(this.containMinState,t),t=Math.max(this.containMaxState,t)),this.$children.SliderItem.forEach(n=>{n.move(t)}),this.currentIndex=r)}prepareInvisibleItems(){const e=this.states[this.currentIndex],t=[],s=[];this.getInvisibleItems(this.getStateValueByMode(e.x)).forEach((i,r)=>{if(r>this.currentIndex){t.push(i);return}r<this.currentIndex&&s.push(i)}),t.forEach(i=>{const r=this.getStateWhereItemWillBeInvisible(i);r&&i.moveInstantly(this.getStateValueByMode(r.x))}),s.forEach(i=>{const r=this.getStateWhereItemWillBeInvisible(i,{reversed:!0});r&&i.moveInstantly(this.getStateValueByMode(r.x))})}getStateWhereItemWillBeInvisible(e,{reversed:t=!1}={}){const s=this.states.filter(a=>e.willBeVisible(this.getStateValueByMode(a.x))),i=s[0],r=s[s.length-1],n=this.states.findIndex(a=>this.getStateValueByMode(a.x)===this.getStateValueByMode(i.x)),l=this.states.findIndex(a=>a.x===r.x);return t?this.states[l+1]:this.states[n-1]}getVisibleItems(e){return this.$children.SliderItem.filter(t=>t.isVisible||t.willBeVisible(e))}getInvisibleItems(e){return this.$children.SliderItem.filter(t=>!t.isVisible&&!t.willBeVisible(e))}}export{I as default};
@@ -5,27 +5,20 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
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
8
  var __export = (target, all) => {
10
9
  for (var name in all)
11
10
  __defProp(target, name, { get: all[name], enumerable: true });
12
11
  };
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 });
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
18
17
  }
19
- return target;
18
+ return to;
20
19
  };
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);
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod));
21
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
22
  var __publicField = (obj, key, value) => {
30
23
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
31
24
  return value;
@@ -36,6 +29,7 @@ var SliderBtn_exports = {};
36
29
  __export(SliderBtn_exports, {
37
30
  default: () => SliderBtn
38
31
  });
32
+ module.exports = __toCommonJS(SliderBtn_exports);
39
33
  var import_AbstractSliderChild = __toESM(require("./AbstractSliderChild.cjs"), 1);
40
34
  var SliderBtn = class extends import_AbstractSliderChild.default {
41
35
  update(index) {
@@ -61,5 +55,4 @@ __publicField(SliderBtn, "config", {
61
55
  next: Boolean
62
56
  }
63
57
  });
64
- module.exports = __toCommonJS(SliderBtn_exports);
65
58
  if (module.exports.default) module.exports = module.exports.default;
@@ -23,7 +23,7 @@ export default class SliderBtn extends AbstractSliderChild {
23
23
  * @this {SliderBtnInterface}
24
24
  * @returns {void}
25
25
  */
26
- onClick(): void;
26
+ onClick(this: SliderBtnInterface): void;
27
27
  }
28
28
  export type SliderBtnInterface = SliderBtn & {
29
29
  $parent: import('./Slider.js').default;