@studiometa/ui 0.2.1 → 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 (136) hide show
  1. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +47 -0
  2. package/atoms/AnchorScrollTo/AnchorScrollTo.d.ts +31 -0
  3. package/atoms/AnchorScrollTo/AnchorScrollTo.js +1 -0
  4. package/atoms/Cursor/Cursor.cjs +14 -22
  5. package/atoms/Cursor/Cursor.d.ts +2 -2
  6. package/atoms/Cursor/Cursor.js +1 -103
  7. package/atoms/Figure/Figure.cjs +9 -14
  8. package/atoms/Figure/Figure.d.ts +1 -1
  9. package/atoms/Figure/Figure.js +1 -27
  10. package/atoms/LargeText/LargeText.cjs +82 -0
  11. package/atoms/LargeText/LargeText.d.ts +94 -0
  12. package/atoms/LargeText/LargeText.js +1 -0
  13. package/atoms/LazyInclude/LazyInclude.cjs +67 -0
  14. package/atoms/LazyInclude/LazyInclude.d.ts +64 -0
  15. package/atoms/LazyInclude/LazyInclude.js +1 -0
  16. package/atoms/Prefetch/AbstractPrefetch.cjs +79 -0
  17. package/atoms/Prefetch/AbstractPrefetch.d.ts +52 -0
  18. package/atoms/Prefetch/AbstractPrefetch.js +1 -0
  19. package/atoms/Prefetch/PrefetchWhenOver.cjs +43 -0
  20. package/atoms/Prefetch/PrefetchWhenOver.d.ts +21 -0
  21. package/atoms/Prefetch/PrefetchWhenOver.js +1 -0
  22. package/atoms/Prefetch/PrefetchWhenVisible.cjs +44 -0
  23. package/atoms/Prefetch/PrefetchWhenVisible.d.ts +21 -0
  24. package/atoms/Prefetch/PrefetchWhenVisible.js +1 -0
  25. package/atoms/Prefetch/index.cjs +33 -0
  26. package/atoms/Prefetch/index.d.ts +3 -0
  27. package/atoms/Prefetch/index.js +1 -0
  28. package/atoms/index.cjs +19 -18
  29. package/atoms/index.d.ts +5 -1
  30. package/atoms/index.js +1 -6
  31. package/index.cjs +11 -15
  32. package/index.js +1 -3
  33. package/molecules/Accordion/Accordion.cjs +12 -34
  34. package/molecules/Accordion/Accordion.js +1 -35
  35. package/molecules/Accordion/AccordionCore.cjs +8 -13
  36. package/molecules/Accordion/AccordionCore.d.ts +2 -2
  37. package/molecules/Accordion/AccordionCore.js +1 -34
  38. package/molecules/Accordion/AccordionItem.cjs +70 -114
  39. package/molecules/Accordion/AccordionItem.d.ts +15 -16
  40. package/molecules/Accordion/AccordionItem.js +1 -178
  41. package/molecules/Menu/Menu.cjs +148 -0
  42. package/molecules/Menu/Menu.d.ts +140 -0
  43. package/molecules/Menu/Menu.js +1 -0
  44. package/molecules/Menu/MenuBtn.cjs +53 -0
  45. package/molecules/Menu/MenuBtn.d.ts +39 -0
  46. package/molecules/Menu/MenuBtn.js +1 -0
  47. package/molecules/Menu/MenuList.cjs +134 -0
  48. package/molecules/Menu/MenuList.d.ts +101 -0
  49. package/molecules/Menu/MenuList.js +1 -0
  50. package/molecules/Menu/index.cjs +33 -0
  51. package/molecules/Menu/index.d.ts +3 -0
  52. package/molecules/Menu/index.js +1 -0
  53. package/molecules/Modal/Modal.cjs +42 -72
  54. package/molecules/Modal/Modal.d.ts +11 -11
  55. package/molecules/Modal/Modal.js +1 -151
  56. package/molecules/Modal/ModalWithTransition.cjs +70 -0
  57. package/molecules/Modal/ModalWithTransition.d.ts +29 -0
  58. package/molecules/Modal/ModalWithTransition.js +1 -0
  59. package/molecules/Panel/Panel.cjs +114 -0
  60. package/molecules/Panel/Panel.d.ts +42 -0
  61. package/molecules/Panel/Panel.js +1 -0
  62. package/molecules/Slider/AbstractSliderChild.cjs +64 -0
  63. package/molecules/Slider/AbstractSliderChild.d.ts +59 -0
  64. package/molecules/Slider/AbstractSliderChild.js +1 -0
  65. package/molecules/Slider/Slider.cjs +230 -0
  66. package/molecules/Slider/Slider.d.ts +245 -0
  67. package/molecules/Slider/Slider.js +1 -0
  68. package/molecules/Slider/SliderBtn.cjs +58 -0
  69. package/molecules/Slider/SliderBtn.d.ts +31 -0
  70. package/molecules/Slider/SliderBtn.js +1 -0
  71. package/molecules/Slider/SliderCount.cjs +43 -0
  72. package/molecules/Slider/SliderCount.d.ts +21 -0
  73. package/molecules/Slider/SliderCount.js +1 -0
  74. package/molecules/Slider/SliderDots.cjs +48 -0
  75. package/molecules/Slider/SliderDots.d.ts +33 -0
  76. package/molecules/Slider/SliderDots.js +1 -0
  77. package/molecules/Slider/SliderDrag.cjs +40 -0
  78. package/molecules/Slider/SliderDrag.d.ts +16 -0
  79. package/molecules/Slider/SliderDrag.js +1 -0
  80. package/molecules/Slider/SliderItem.cjs +107 -0
  81. package/molecules/Slider/SliderItem.d.ts +106 -0
  82. package/molecules/Slider/SliderItem.js +1 -0
  83. package/molecules/Slider/SliderProgress.cjs +47 -0
  84. package/molecules/Slider/SliderProgress.d.ts +27 -0
  85. package/molecules/Slider/SliderProgress.js +1 -0
  86. package/molecules/Slider/index.cjs +43 -0
  87. package/molecules/Slider/index.d.ts +8 -0
  88. package/molecules/Slider/index.js +1 -0
  89. package/molecules/Sticky/Sticky.cjs +11 -19
  90. package/molecules/Sticky/Sticky.d.ts +8 -8
  91. package/molecules/Sticky/Sticky.js +1 -107
  92. package/molecules/TableOfContent/TableOfContent.cjs +66 -0
  93. package/molecules/TableOfContent/TableOfContent.d.ts +59 -0
  94. package/molecules/TableOfContent/TableOfContent.js +1 -0
  95. package/molecules/TableOfContent/TableOfContentAnchor.cjs +60 -0
  96. package/molecules/TableOfContent/TableOfContentAnchor.d.ts +36 -0
  97. package/molecules/TableOfContent/TableOfContentAnchor.js +1 -0
  98. package/molecules/TableOfContent/index.cjs +31 -0
  99. package/molecules/TableOfContent/index.d.ts +2 -0
  100. package/molecules/TableOfContent/index.js +1 -0
  101. package/molecules/Tabs/Tabs.cjs +54 -82
  102. package/molecules/Tabs/Tabs.d.ts +7 -8
  103. package/molecules/Tabs/Tabs.js +1 -126
  104. package/molecules/index.cjs +18 -17
  105. package/molecules/index.d.ts +6 -1
  106. package/molecules/index.js +1 -12
  107. package/organisms/Frame/Frame.cjs +171 -0
  108. package/organisms/Frame/Frame.d.ts +119 -0
  109. package/organisms/Frame/Frame.js +1 -0
  110. package/organisms/Frame/FrameAnchor.cjs +43 -0
  111. package/organisms/Frame/FrameAnchor.d.ts +35 -0
  112. package/organisms/Frame/FrameAnchor.js +1 -0
  113. package/organisms/Frame/FrameForm.cjs +43 -0
  114. package/organisms/Frame/FrameForm.d.ts +32 -0
  115. package/organisms/Frame/FrameForm.js +1 -0
  116. package/organisms/Frame/FrameTarget.cjs +92 -0
  117. package/organisms/Frame/FrameTarget.d.ts +47 -0
  118. package/organisms/Frame/FrameTarget.js +1 -0
  119. package/organisms/Frame/index.cjs +35 -0
  120. package/organisms/Frame/index.d.ts +4 -0
  121. package/organisms/Frame/index.js +1 -0
  122. package/organisms/index.cjs +9 -12
  123. package/organisms/index.d.ts +1 -1
  124. package/organisms/index.js +1 -0
  125. package/package.json +3 -4
  126. package/primitives/Draggable/Draggable.cjs +15 -28
  127. package/primitives/Draggable/Draggable.d.ts +0 -5
  128. package/primitives/Draggable/Draggable.js +1 -38
  129. package/primitives/Sentinel/Sentinel.cjs +8 -13
  130. package/primitives/Sentinel/Sentinel.js +1 -15
  131. package/primitives/Transition/Transition.cjs +66 -0
  132. package/primitives/Transition/Transition.d.ts +67 -0
  133. package/primitives/Transition/Transition.js +1 -0
  134. package/primitives/index.cjs +12 -17
  135. package/primitives/index.d.ts +1 -0
  136. package/primitives/index.js +1 -6
@@ -3,54 +3,30 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
4
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
5
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
6
  var __export = (target, all) => {
8
7
  for (var name in all)
9
8
  __defProp(target, name, { get: all[name], enumerable: true });
10
9
  };
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 });
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
16
15
  }
17
- return target;
16
+ return to;
18
17
  };
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);
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
24
19
  var __publicField = (obj, key, value) => {
25
20
  __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
26
21
  return value;
27
22
  };
28
- var __async = (__this, __arguments, generator) => {
29
- return new Promise((resolve, reject) => {
30
- var fulfilled = (value) => {
31
- try {
32
- step(generator.next(value));
33
- } catch (e) {
34
- reject(e);
35
- }
36
- };
37
- var rejected = (value) => {
38
- try {
39
- step(generator.throw(value));
40
- } catch (e) {
41
- reject(e);
42
- }
43
- };
44
- var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
45
- step((generator = generator.apply(__this, __arguments)).next());
46
- });
47
- };
48
23
 
49
24
  // packages/ui/molecules/Tabs/Tabs.js
50
25
  var Tabs_exports = {};
51
26
  __export(Tabs_exports, {
52
27
  default: () => Tabs
53
28
  });
29
+ module.exports = __toCommonJS(Tabs_exports);
54
30
  var import_js_toolkit = require("@studiometa/js-toolkit");
55
31
  var import_utils = require("@studiometa/js-toolkit/utils");
56
32
  var Tabs = class extends import_js_toolkit.Base {
@@ -77,55 +53,51 @@ var Tabs = class extends import_js_toolkit.Base {
77
53
  });
78
54
  this.enableItem(this.items[index]);
79
55
  }
80
- enableItem(item) {
81
- return __async(this, null, function* () {
82
- if (!item || item.isEnabled) {
83
- return Promise.resolve(this);
84
- }
85
- item.isEnabled = true;
86
- const { btn, content } = item;
87
- const btnStyles = this.$options.styles.btn || {};
88
- const contentStyles = this.$options.styles.content || {};
89
- content.setAttribute("aria-hidden", "false");
90
- this.$emit("enable", item);
91
- return Promise.all([
92
- (0, import_utils.transition)(btn, {
93
- from: btnStyles.closed,
94
- active: btnStyles.active,
95
- to: btnStyles.open
96
- }, "keep"),
97
- (0, import_utils.transition)(content, {
98
- from: contentStyles.closed,
99
- active: contentStyles.active,
100
- to: contentStyles.open
101
- }, "keep")
102
- ]).then(() => Promise.resolve(this));
103
- });
56
+ async enableItem(item) {
57
+ if (!item || item.isEnabled) {
58
+ return Promise.resolve(this);
59
+ }
60
+ item.isEnabled = true;
61
+ const { btn, content } = item;
62
+ const btnStyles = this.$options.styles.btn || {};
63
+ const contentStyles = this.$options.styles.content || {};
64
+ content.setAttribute("aria-hidden", "false");
65
+ this.$emit("enable", item);
66
+ return Promise.all([
67
+ (0, import_utils.transition)(btn, {
68
+ from: btnStyles.closed,
69
+ active: btnStyles.active,
70
+ to: btnStyles.open
71
+ }, "keep"),
72
+ (0, import_utils.transition)(content, {
73
+ from: contentStyles.closed,
74
+ active: contentStyles.active,
75
+ to: contentStyles.open
76
+ }, "keep")
77
+ ]).then(() => Promise.resolve(this));
104
78
  }
105
- disableItem(item) {
106
- return __async(this, null, function* () {
107
- if (!item || !item.isEnabled) {
108
- return Promise.resolve(this);
109
- }
110
- item.isEnabled = false;
111
- const { btn, content } = item;
112
- const btnStyles = this.$options.styles.btn || {};
113
- const contentStyles = this.$options.styles.content || {};
114
- content.setAttribute("aria-hidden", "true");
115
- this.$emit("disable", item);
116
- return Promise.all([
117
- (0, import_utils.transition)(btn, {
118
- from: btnStyles.open,
119
- active: btnStyles.active,
120
- to: btnStyles.closed
121
- }, "keep"),
122
- (0, import_utils.transition)(content, {
123
- from: contentStyles.open,
124
- active: contentStyles.active,
125
- to: contentStyles.closed
126
- }, "keep")
127
- ]).then(() => Promise.resolve(this));
128
- });
79
+ async disableItem(item) {
80
+ if (!item || !item.isEnabled) {
81
+ return Promise.resolve(this);
82
+ }
83
+ item.isEnabled = false;
84
+ const { btn, content } = item;
85
+ const btnStyles = this.$options.styles.btn || {};
86
+ const contentStyles = this.$options.styles.content || {};
87
+ content.setAttribute("aria-hidden", "true");
88
+ this.$emit("disable", item);
89
+ return Promise.all([
90
+ (0, import_utils.transition)(btn, {
91
+ from: btnStyles.open,
92
+ active: btnStyles.active,
93
+ to: btnStyles.closed
94
+ }, "keep"),
95
+ (0, import_utils.transition)(content, {
96
+ from: contentStyles.open,
97
+ active: contentStyles.active,
98
+ to: contentStyles.closed
99
+ }, "keep")
100
+ ]).then(() => Promise.resolve(this));
129
101
  }
130
102
  };
131
103
  __publicField(Tabs, "config", {
@@ -144,9 +116,9 @@ __publicField(Tabs, "config", {
144
116
  visibility: "hidden"
145
117
  }
146
118
  }
147
- })
119
+ }),
120
+ merge: true
148
121
  }
149
122
  }
150
123
  });
151
- module.exports = __toCommonJS(Tabs_exports);
152
124
  if (module.exports.default) module.exports = module.exports.default;
@@ -13,8 +13,7 @@
13
13
  * @property {HTMLElement[]} content
14
14
  */
15
15
  /**
16
- * @typedef {import('@studiometa/js-toolkit/utils/css/styles.js').CssStyleObject} CssStyleObject
17
- * @typedef {Partial<Record<'open'|'active'|'closed', string|CssStyleObject>>} TabsStates
16
+ * @typedef {Partial<Record<'open'|'active'|'closed', string|Partial<CSSStyleDeclaration>>>} TabsStates
18
17
  * @typedef {Partial<Record<keyof TabsRefs, TabsStates>>} TabsStylesOption
19
18
  */
20
19
  /**
@@ -48,6 +47,7 @@ export default class Tabs extends Base {
48
47
  * @return {TabsStylesOption}
49
48
  */
50
49
  default: () => TabsStylesOption;
50
+ merge: boolean;
51
51
  };
52
52
  };
53
53
  };
@@ -56,7 +56,7 @@ export default class Tabs extends Base {
56
56
  * @this {TabsInterface}
57
57
  * @return {void}
58
58
  */
59
- mounted(): void;
59
+ mounted(this: TabsInterface): void;
60
60
  items: any;
61
61
  /**
62
62
  * Switch tab on button click.
@@ -66,7 +66,7 @@ export default class Tabs extends Base {
66
66
  * @param {number} index The index of the clicked button.
67
67
  * @return {void}
68
68
  */
69
- onBtnClick(event: Event, index: number): void;
69
+ onBtnClick(this: TabsInterface, event: Event, index: number): void;
70
70
  /**
71
71
  * Enable the given tab and its associated content.
72
72
  *
@@ -74,7 +74,7 @@ export default class Tabs extends Base {
74
74
  * @param {TabItem} item The item to enable.
75
75
  * @return {Promise<TabsInterface>} Tabs instance.
76
76
  */
77
- enableItem(item: TabItem): Promise<TabsInterface>;
77
+ enableItem(this: TabsInterface, item: TabItem): Promise<TabsInterface>;
78
78
  /**
79
79
  * Disable the given tab and its associated content.
80
80
  *
@@ -82,7 +82,7 @@ export default class Tabs extends Base {
82
82
  * @param {TabItem} item The item to disable.
83
83
  * @return {Promise<TabsInterface>} The Tabs instance.
84
84
  */
85
- disableItem(item: TabItem): Promise<TabsInterface>;
85
+ disableItem(this: TabsInterface, item: TabItem): Promise<TabsInterface>;
86
86
  }
87
87
  export type BaseOptions = import('@studiometa/js-toolkit/Base').BaseOptions;
88
88
  export type TabItem = {
@@ -94,8 +94,7 @@ export type TabsRefs = {
94
94
  btn: HTMLElement[];
95
95
  content: HTMLElement[];
96
96
  };
97
- export type CssStyleObject = import('@studiometa/js-toolkit/utils/css/styles.js').CssStyleObject;
98
- export type TabsStates = Partial<Record<'open' | 'active' | 'closed', string | CssStyleObject>>;
97
+ export type TabsStates = Partial<Record<'open' | 'active' | 'closed', string | Partial<CSSStyleDeclaration>>>;
99
98
  export type TabsStylesOption = Partial<Record<keyof TabsRefs, TabsStates>>;
100
99
  export type TabsOptions = {
101
100
  styles: TabsStylesOption;
@@ -1,126 +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 { Base } from "@studiometa/js-toolkit";
28
- import { transition } from "@studiometa/js-toolkit/utils";
29
- class Tabs extends Base {
30
- mounted() {
31
- this.items = this.$refs.btn.map((btn, index) => {
32
- const id = `${this.$id}-${index}`;
33
- const content = this.$refs.content[index];
34
- btn.setAttribute("id", id);
35
- content.setAttribute("aria-labelledby", id);
36
- const item = { btn, content, isEnabled: index > 0 };
37
- if (index > 0) {
38
- this.disableItem(item);
39
- } else {
40
- this.enableItem(item);
41
- }
42
- return item;
43
- });
44
- }
45
- onBtnClick(event, index) {
46
- this.items.forEach((item, i) => {
47
- if (i !== index) {
48
- this.disableItem(item);
49
- }
50
- });
51
- this.enableItem(this.items[index]);
52
- }
53
- enableItem(item) {
54
- return __async(this, null, function* () {
55
- if (!item || item.isEnabled) {
56
- return Promise.resolve(this);
57
- }
58
- item.isEnabled = true;
59
- const { btn, content } = item;
60
- const btnStyles = this.$options.styles.btn || {};
61
- const contentStyles = this.$options.styles.content || {};
62
- content.setAttribute("aria-hidden", "false");
63
- this.$emit("enable", item);
64
- return Promise.all([
65
- transition(btn, {
66
- from: btnStyles.closed,
67
- active: btnStyles.active,
68
- to: btnStyles.open
69
- }, "keep"),
70
- transition(content, {
71
- from: contentStyles.closed,
72
- active: contentStyles.active,
73
- to: contentStyles.open
74
- }, "keep")
75
- ]).then(() => Promise.resolve(this));
76
- });
77
- }
78
- disableItem(item) {
79
- return __async(this, null, function* () {
80
- if (!item || !item.isEnabled) {
81
- return Promise.resolve(this);
82
- }
83
- item.isEnabled = false;
84
- const { btn, content } = item;
85
- const btnStyles = this.$options.styles.btn || {};
86
- const contentStyles = this.$options.styles.content || {};
87
- content.setAttribute("aria-hidden", "true");
88
- this.$emit("disable", item);
89
- return Promise.all([
90
- transition(btn, {
91
- from: btnStyles.open,
92
- active: btnStyles.active,
93
- to: btnStyles.closed
94
- }, "keep"),
95
- transition(content, {
96
- from: contentStyles.open,
97
- active: contentStyles.active,
98
- to: contentStyles.closed
99
- }, "keep")
100
- ]).then(() => Promise.resolve(this));
101
- });
102
- }
103
- }
104
- __publicField(Tabs, "config", {
105
- name: "Tabs",
106
- refs: ["btn[]", "content[]"],
107
- emits: ["enable", "disable"],
108
- options: {
109
- styles: {
110
- type: Object,
111
- default: () => ({
112
- content: {
113
- closed: {
114
- position: "absolute",
115
- opacity: "0",
116
- pointerEvents: "none",
117
- visibility: "hidden"
118
- }
119
- }
120
- })
121
- }
122
- }
123
- });
124
- export {
125
- Tabs as default
126
- };
1
+ import{Base as a}from"@studiometa/js-toolkit";import{transition as o}from"@studiometa/js-toolkit/utils";class l extends a{static config={name:"Tabs",refs:["btn[]","content[]"],emits:["enable","disable"],options:{styles:{type:Object,default:()=>({content:{closed:{position:"absolute",opacity:"0",pointerEvents:"none",visibility:"hidden"}}}),merge:!0}}};mounted(){this.items=this.$refs.btn.map((t,s)=>{const i=`${this.$id}-${s}`,e=this.$refs.content[s];t.setAttribute("id",i),e.setAttribute("aria-labelledby",i);const n={btn:t,content:e,isEnabled:s>0};return s>0?this.disableItem(n):this.enableItem(n),n})}onBtnClick(t,s){this.items.forEach((i,e)=>{e!==s&&this.disableItem(i)}),this.enableItem(this.items[s])}async enableItem(t){if(!t||t.isEnabled)return Promise.resolve(this);t.isEnabled=!0;const{btn:s,content:i}=t,e=this.$options.styles.btn||{},n=this.$options.styles.content||{};return i.setAttribute("aria-hidden","false"),this.$emit("enable",t),Promise.all([o(s,{from:e.closed,active:e.active,to:e.open},"keep"),o(i,{from:n.closed,active:n.active,to:n.open},"keep")]).then(()=>Promise.resolve(this))}async disableItem(t){if(!t||!t.isEnabled)return Promise.resolve(this);t.isEnabled=!1;const{btn:s,content:i}=t,e=this.$options.styles.btn||{},n=this.$options.styles.content||{};return i.setAttribute("aria-hidden","true"),this.$emit("disable",t),Promise.all([o(s,{from:e.open,active:e.active,to:e.closed},"keep"),o(i,{from:n.open,active:n.active,to:n.closed},"keep")]).then(()=>Promise.resolve(this))}}export{l as default};
@@ -4,27 +4,21 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
7
  var __export = (target, all) => {
9
8
  for (var name in all)
10
9
  __defProp(target, name, { get: all[name], enumerable: true });
11
10
  };
12
- var __reExport = (target, module2, copyDefault, desc) => {
13
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
14
- for (let key of __getOwnPropNames(module2))
15
- if (!__hasOwnProp.call(target, key) && (copyDefault || key !== "default"))
16
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
16
  }
18
- return target;
17
+ return to;
19
18
  };
20
- var __toESM = (module2, isNodeMode) => {
21
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", !isNodeMode && module2 && module2.__esModule ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
22
- };
23
- var __toCommonJS = /* @__PURE__ */ ((cache) => {
24
- return (module2, temp) => {
25
- return cache && cache.get(module2) || (temp = __reExport(__markAsModule({}), module2, 1), cache && cache.set(module2, temp), temp);
26
- };
27
- })(typeof WeakMap !== "undefined" ? /* @__PURE__ */ new WeakMap() : 0);
19
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
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);
28
22
 
29
23
  // packages/ui/molecules/index.js
30
24
  var molecules_exports = {};
@@ -32,13 +26,20 @@ __export(molecules_exports, {
32
26
  Accordion: () => import_Accordion.default,
33
27
  AccordionItem: () => import_AccordionItem.default,
34
28
  Modal: () => import_Modal.default,
29
+ ModalWithTransition: () => import_ModalWithTransition.default,
30
+ Panel: () => import_Panel.default,
35
31
  Sticky: () => import_Sticky.default,
36
32
  Tabs: () => import_Tabs.default
37
33
  });
34
+ module.exports = __toCommonJS(molecules_exports);
35
+ __reExport(molecules_exports, require("./Menu/index.cjs"), module.exports);
36
+ __reExport(molecules_exports, require("./Slider/index.cjs"), module.exports);
37
+ __reExport(molecules_exports, require("./TableOfContent/index.cjs"), module.exports);
38
38
  var import_Accordion = __toESM(require("./Accordion/Accordion.cjs"), 1);
39
39
  var import_AccordionItem = __toESM(require("./Accordion/AccordionItem.cjs"), 1);
40
40
  var import_Modal = __toESM(require("./Modal/Modal.cjs"), 1);
41
- var import_Tabs = __toESM(require("./Tabs/Tabs.cjs"), 1);
41
+ var import_ModalWithTransition = __toESM(require("./Modal/ModalWithTransition.cjs"), 1);
42
+ var import_Panel = __toESM(require("./Panel/Panel.cjs"), 1);
42
43
  var import_Sticky = __toESM(require("./Sticky/Sticky.cjs"), 1);
43
- module.exports = __toCommonJS(molecules_exports);
44
+ var import_Tabs = __toESM(require("./Tabs/Tabs.cjs"), 1);
44
45
  if (module.exports.default) module.exports = module.exports.default;
@@ -1,5 +1,10 @@
1
+ export * from "./Menu/index.js";
2
+ export * from "./Slider/index.js";
3
+ export * from "./TableOfContent/index.js";
1
4
  export { default as Accordion } from "./Accordion/Accordion.js";
2
5
  export { default as AccordionItem } from "./Accordion/AccordionItem.js";
3
6
  export { default as Modal } from "./Modal/Modal.js";
4
- export { default as Tabs } from "./Tabs/Tabs.js";
7
+ export { default as ModalWithTransition } from "./Modal/ModalWithTransition.js";
8
+ export { default as Panel } from "./Panel/Panel.js";
5
9
  export { default as Sticky } from "./Sticky/Sticky.js";
10
+ export { default as Tabs } from "./Tabs/Tabs.js";
@@ -1,12 +1 @@
1
- import { default as default2 } from "./Accordion/Accordion.js";
2
- import { default as default3 } from "./Accordion/AccordionItem.js";
3
- import { default as default4 } from "./Modal/Modal.js";
4
- import { default as default5 } from "./Tabs/Tabs.js";
5
- import { default as default6 } from "./Sticky/Sticky.js";
6
- export {
7
- default2 as Accordion,
8
- default3 as AccordionItem,
9
- default4 as Modal,
10
- default6 as Sticky,
11
- default5 as Tabs
12
- };
1
+ export*from"./Menu/index.js";export*from"./Slider/index.js";export*from"./TableOfContent/index.js";import{default as f}from"./Accordion/Accordion.js";import{default as m}from"./Accordion/AccordionItem.js";import{default as p}from"./Modal/Modal.js";import{default as s}from"./Modal/ModalWithTransition.js";import{default as i}from"./Panel/Panel.js";import{default as n}from"./Sticky/Sticky.js";import{default as M}from"./Tabs/Tabs.js";export{f as Accordion,m as AccordionItem,p as Modal,s as ModalWithTransition,i as Panel,n as Sticky,M as Tabs};
@@ -0,0 +1,171 @@
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 __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
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 });
17
+ }
18
+ return to;
19
+ };
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);
22
+ var __publicField = (obj, key, value) => {
23
+ __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
24
+ return value;
25
+ };
26
+
27
+ // packages/ui/organisms/Frame/Frame.js
28
+ var Frame_exports = {};
29
+ __export(Frame_exports, {
30
+ default: () => Frame
31
+ });
32
+ module.exports = __toCommonJS(Frame_exports);
33
+ var import_js_toolkit = require("@studiometa/js-toolkit");
34
+ var import_utils = require("@studiometa/js-toolkit/utils");
35
+ var import_FrameAnchor = __toESM(require("./FrameAnchor.cjs"), 1);
36
+ var import_FrameForm = __toESM(require("./FrameForm.cjs"), 1);
37
+ var import_FrameTarget = __toESM(require("./FrameTarget.cjs"), 1);
38
+ var cache = /* @__PURE__ */ new Map();
39
+ var _Frame = class extends import_js_toolkit.Base {
40
+ get id() {
41
+ return this.$el.id;
42
+ }
43
+ getDirectChild(name) {
44
+ if (!this.$children[name]) {
45
+ return [];
46
+ }
47
+ if (!this.$children.Frame) {
48
+ return this.$children[name];
49
+ }
50
+ return this.$children[name].filter((child) => this.$children.Frame.every((frame) => frame.$children[name] ? !frame.$children[name].includes(child) : true));
51
+ }
52
+ get directChildFrameAnchor() {
53
+ return this.getDirectChild("FrameAnchor");
54
+ }
55
+ get directChildFrameForm() {
56
+ return this.getDirectChild("form");
57
+ }
58
+ get directChildFrameTarget() {
59
+ return this.getDirectChild("FrameTarget");
60
+ }
61
+ onFrameAnchorFrameClick(event, index) {
62
+ if (!this.directChildFrameAnchor.includes(this.$children.FrameAnchor[index])) {
63
+ return;
64
+ }
65
+ this.$log("onAFrameClick", event, index);
66
+ event.preventDefault();
67
+ const anchor = this.$children.FrameAnchor[index];
68
+ if (anchor.href === window.location.href) {
69
+ return;
70
+ }
71
+ this.goTo(anchor.href);
72
+ }
73
+ onFrameFormFrameSubmit(event, index) {
74
+ if (!this.directChildFrameForm.includes(this.$children.FrameForm[index])) {
75
+ return;
76
+ }
77
+ this.$log("onFrameFormFrameSubmit", event);
78
+ event.preventDefault();
79
+ const form = this.$children.FrameForm[index];
80
+ this.goTo(form.action);
81
+ }
82
+ parseHTML(string = "") {
83
+ return new DOMParser().parseFromString(string, "text/html");
84
+ }
85
+ async goTo(url) {
86
+ this.$log("goTo", url);
87
+ const parsedUrl = new URL(url);
88
+ if (parsedUrl.origin !== window.location.origin) {
89
+ throw new Error("Cross origin request are not allowed.");
90
+ }
91
+ this.$emit("before-fetch", url);
92
+ const content = await this.fetch(url);
93
+ const doc = this.parseHTML(content);
94
+ const el = doc.querySelector(`#${this.id}`);
95
+ const newFrame = new _Frame(el);
96
+ newFrame.$children.registerAll();
97
+ this.$emit("after-fetch", url, content);
98
+ this.$emit("before-leave");
99
+ await Promise.all(this.directChildFrameTarget.map((target) => target.leave()));
100
+ this.$emit("after-leave");
101
+ this.$emit("before-content");
102
+ this.directChildFrameTarget.map((target, index) => target.updateContent(newFrame.directChildFrameTarget[index]));
103
+ if (this.$options.history) {
104
+ document.title = doc.title;
105
+ (0, import_utils.historyPush)({ path: parsedUrl.pathname, search: parsedUrl.searchParams });
106
+ }
107
+ await (0, import_utils.nextFrame)();
108
+ this.$root.$update();
109
+ await (0, import_utils.nextFrame)();
110
+ this.$emit("after-content");
111
+ this.$emit("before-enter");
112
+ await Promise.all(this.directChildFrameTarget.map((target) => target.enter()));
113
+ this.$emit("after-enter");
114
+ }
115
+ async fetch(url) {
116
+ const cached = cache.get(url);
117
+ if (cached) {
118
+ if (cached.status === "pending") {
119
+ return cached.promise;
120
+ }
121
+ return cached.content;
122
+ }
123
+ const promise = fetch(url);
124
+ try {
125
+ cache.set(url, {
126
+ promise,
127
+ status: "pending",
128
+ content: void 0
129
+ });
130
+ const content = await promise.then((response) => response.text());
131
+ cache.set(url, {
132
+ promise,
133
+ status: "resolved",
134
+ content
135
+ });
136
+ return content;
137
+ } catch (err) {
138
+ cache.set(url, {
139
+ promise,
140
+ status: "error",
141
+ content: err
142
+ });
143
+ return err;
144
+ }
145
+ }
146
+ };
147
+ var Frame = _Frame;
148
+ __publicField(Frame, "config", {
149
+ name: "Frame",
150
+ emits: [
151
+ "before-fetch",
152
+ "after-fetch",
153
+ "before-leave",
154
+ "after-leave",
155
+ "before-content",
156
+ "after-content",
157
+ "before-enter",
158
+ "after-enter"
159
+ ],
160
+ log: true,
161
+ components: {
162
+ FrameAnchor: import_FrameAnchor.default,
163
+ FrameForm: import_FrameForm.default,
164
+ FrameTarget: import_FrameTarget.default,
165
+ Frame: _Frame
166
+ },
167
+ options: {
168
+ history: Boolean
169
+ }
170
+ });
171
+ if (module.exports.default) module.exports = module.exports.default;