@studiometa/ui 1.0.0-alpha.1 → 1.0.0-alpha.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 (190) hide show
  1. package/atoms/Data/DataBind.d.ts +1 -1
  2. package/atoms/Data/DataBind.js +9 -2
  3. package/atoms/Data/DataBind.js.map +2 -2
  4. package/atoms/Data/DataComputed.js +1 -1
  5. package/atoms/Data/DataComputed.js.map +2 -2
  6. package/atoms/Data/DataModel.js +1 -1
  7. package/atoms/Data/DataModel.js.map +2 -2
  8. package/package.json +1 -1
  9. package/atoms/Action/Action.cjs +0 -115
  10. package/atoms/Action/Action.cjs.map +0 -7
  11. package/atoms/Action/Target.cjs +0 -35
  12. package/atoms/Action/Target.cjs.map +0 -7
  13. package/atoms/Action/index.cjs +0 -22
  14. package/atoms/Action/index.cjs.map +0 -7
  15. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +0 -52
  16. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +0 -7
  17. package/atoms/AnchorScrollTo/index.cjs +0 -21
  18. package/atoms/AnchorScrollTo/index.cjs.map +0 -7
  19. package/atoms/CircularMarquee/CircularMarquee.cjs +0 -69
  20. package/atoms/CircularMarquee/CircularMarquee.cjs.map +0 -7
  21. package/atoms/CircularMarquee/index.cjs +0 -21
  22. package/atoms/CircularMarquee/index.cjs.map +0 -7
  23. package/atoms/Cursor/Cursor.cjs +0 -137
  24. package/atoms/Cursor/Cursor.cjs.map +0 -7
  25. package/atoms/Cursor/index.cjs +0 -21
  26. package/atoms/Cursor/index.cjs.map +0 -7
  27. package/atoms/Data/DataBind.cjs +0 -124
  28. package/atoms/Data/DataBind.cjs.map +0 -7
  29. package/atoms/Data/DataComputed.cjs +0 -49
  30. package/atoms/Data/DataComputed.cjs.map +0 -7
  31. package/atoms/Data/DataEffect.cjs +0 -47
  32. package/atoms/Data/DataEffect.cjs.map +0 -7
  33. package/atoms/Data/DataModel.cjs +0 -48
  34. package/atoms/Data/DataModel.cjs.map +0 -7
  35. package/atoms/Data/index.cjs +0 -24
  36. package/atoms/Data/index.cjs.map +0 -7
  37. package/atoms/Data/utils.cjs +0 -46
  38. package/atoms/Data/utils.cjs.map +0 -7
  39. package/atoms/Figure/Figure.cjs +0 -105
  40. package/atoms/Figure/Figure.cjs.map +0 -7
  41. package/atoms/Figure/FigureTwicpics.cjs +0 -123
  42. package/atoms/Figure/FigureTwicpics.cjs.map +0 -7
  43. package/atoms/Figure/index.cjs +0 -22
  44. package/atoms/Figure/index.cjs.map +0 -7
  45. package/atoms/FigureVideo/FigureVideo.cjs +0 -132
  46. package/atoms/FigureVideo/FigureVideo.cjs.map +0 -7
  47. package/atoms/FigureVideo/FigureVideoTwicpics.cjs +0 -153
  48. package/atoms/FigureVideo/FigureVideoTwicpics.cjs.map +0 -7
  49. package/atoms/FigureVideo/index.cjs +0 -22
  50. package/atoms/FigureVideo/index.cjs.map +0 -7
  51. package/atoms/LargeText/LargeText.cjs +0 -109
  52. package/atoms/LargeText/LargeText.cjs.map +0 -7
  53. package/atoms/LargeText/index.cjs +0 -21
  54. package/atoms/LargeText/index.cjs.map +0 -7
  55. package/atoms/LazyInclude/LazyInclude.cjs +0 -78
  56. package/atoms/LazyInclude/LazyInclude.cjs.map +0 -7
  57. package/atoms/LazyInclude/index.cjs +0 -21
  58. package/atoms/LazyInclude/index.cjs.map +0 -7
  59. package/atoms/Prefetch/AbstractPrefetch.cjs +0 -86
  60. package/atoms/Prefetch/AbstractPrefetch.cjs.map +0 -7
  61. package/atoms/Prefetch/PrefetchWhenOver.cjs +0 -42
  62. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +0 -7
  63. package/atoms/Prefetch/PrefetchWhenVisible.cjs +0 -43
  64. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +0 -7
  65. package/atoms/Prefetch/index.cjs +0 -23
  66. package/atoms/Prefetch/index.cjs.map +0 -7
  67. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +0 -95
  68. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +0 -7
  69. package/atoms/ScrollAnimation/ScrollAnimation.cjs +0 -44
  70. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +0 -7
  71. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +0 -84
  72. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +0 -7
  73. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +0 -37
  74. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +0 -7
  75. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +0 -50
  76. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +0 -7
  77. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +0 -37
  78. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +0 -7
  79. package/atoms/ScrollAnimation/animationScrollWithEase.cjs +0 -59
  80. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +0 -7
  81. package/atoms/ScrollAnimation/index.cjs +0 -27
  82. package/atoms/ScrollAnimation/index.cjs.map +0 -7
  83. package/atoms/ScrollReveal/ScrollReveal.cjs +0 -81
  84. package/atoms/ScrollReveal/ScrollReveal.cjs.map +0 -7
  85. package/atoms/ScrollReveal/index.cjs +0 -21
  86. package/atoms/ScrollReveal/index.cjs.map +0 -7
  87. package/atoms/index.cjs +0 -32
  88. package/atoms/index.cjs.map +0 -7
  89. package/decorators/index.cjs +0 -22
  90. package/decorators/index.cjs.map +0 -7
  91. package/decorators/withDeprecation.cjs +0 -47
  92. package/decorators/withDeprecation.cjs.map +0 -7
  93. package/decorators/withTransition.cjs +0 -86
  94. package/decorators/withTransition.cjs.map +0 -7
  95. package/index.cjs +0 -25
  96. package/index.cjs.map +0 -7
  97. package/molecules/Accordion/Accordion.cjs +0 -36
  98. package/molecules/Accordion/Accordion.cjs.map +0 -7
  99. package/molecules/Accordion/AccordionCore.cjs +0 -58
  100. package/molecules/Accordion/AccordionCore.cjs.map +0 -7
  101. package/molecules/Accordion/AccordionItem.cjs +0 -206
  102. package/molecules/Accordion/AccordionItem.cjs.map +0 -7
  103. package/molecules/Accordion/index.cjs +0 -22
  104. package/molecules/Accordion/index.cjs.map +0 -7
  105. package/molecules/AnchorNav/AnchorNav.cjs +0 -63
  106. package/molecules/AnchorNav/AnchorNav.cjs.map +0 -7
  107. package/molecules/AnchorNav/AnchorNavLink.cjs +0 -40
  108. package/molecules/AnchorNav/AnchorNavLink.cjs.map +0 -7
  109. package/molecules/AnchorNav/AnchorNavTarget.cjs +0 -35
  110. package/molecules/AnchorNav/AnchorNavTarget.cjs.map +0 -7
  111. package/molecules/AnchorNav/index.cjs +0 -23
  112. package/molecules/AnchorNav/index.cjs.map +0 -7
  113. package/molecules/Menu/Menu.cjs +0 -177
  114. package/molecules/Menu/Menu.cjs.map +0 -7
  115. package/molecules/Menu/MenuBtn.cjs +0 -66
  116. package/molecules/Menu/MenuBtn.cjs.map +0 -7
  117. package/molecules/Menu/MenuList.cjs +0 -165
  118. package/molecules/Menu/MenuList.cjs.map +0 -7
  119. package/molecules/Menu/index.cjs +0 -23
  120. package/molecules/Menu/index.cjs.map +0 -7
  121. package/molecules/Modal/Modal.cjs +0 -219
  122. package/molecules/Modal/Modal.cjs.map +0 -7
  123. package/molecules/Modal/ModalWithTransition.cjs +0 -69
  124. package/molecules/Modal/ModalWithTransition.cjs.map +0 -7
  125. package/molecules/Modal/index.cjs +0 -22
  126. package/molecules/Modal/index.cjs.map +0 -7
  127. package/molecules/Panel/Panel.cjs +0 -137
  128. package/molecules/Panel/Panel.cjs.map +0 -7
  129. package/molecules/Panel/index.cjs +0 -21
  130. package/molecules/Panel/index.cjs.map +0 -7
  131. package/molecules/Slider/AbstractSliderChild.cjs +0 -88
  132. package/molecules/Slider/AbstractSliderChild.cjs.map +0 -7
  133. package/molecules/Slider/Slider.cjs +0 -404
  134. package/molecules/Slider/Slider.cjs.map +0 -7
  135. package/molecules/Slider/SliderBtn.cjs +0 -71
  136. package/molecules/Slider/SliderBtn.cjs.map +0 -7
  137. package/molecules/Slider/SliderCount.cjs +0 -44
  138. package/molecules/Slider/SliderCount.cjs.map +0 -7
  139. package/molecules/Slider/SliderDots.cjs +0 -64
  140. package/molecules/Slider/SliderDots.cjs.map +0 -7
  141. package/molecules/Slider/SliderDrag.cjs +0 -66
  142. package/molecules/Slider/SliderDrag.cjs.map +0 -7
  143. package/molecules/Slider/SliderItem.cjs +0 -177
  144. package/molecules/Slider/SliderItem.cjs.map +0 -7
  145. package/molecules/Slider/SliderProgress.cjs +0 -49
  146. package/molecules/Slider/SliderProgress.cjs.map +0 -7
  147. package/molecules/Slider/index.cjs +0 -28
  148. package/molecules/Slider/index.cjs.map +0 -7
  149. package/molecules/Sticky/Sticky.cjs +0 -177
  150. package/molecules/Sticky/Sticky.cjs.map +0 -7
  151. package/molecules/Sticky/index.cjs +0 -21
  152. package/molecules/Sticky/index.cjs.map +0 -7
  153. package/molecules/TableOfContent/TableOfContent.cjs +0 -72
  154. package/molecules/TableOfContent/TableOfContent.cjs.map +0 -7
  155. package/molecules/TableOfContent/TableOfContentAnchor.cjs +0 -76
  156. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +0 -7
  157. package/molecules/TableOfContent/index.cjs +0 -22
  158. package/molecules/TableOfContent/index.cjs.map +0 -7
  159. package/molecules/Tabs/Tabs.cjs +0 -153
  160. package/molecules/Tabs/Tabs.cjs.map +0 -7
  161. package/molecules/Tabs/index.cjs +0 -21
  162. package/molecules/Tabs/index.cjs.map +0 -7
  163. package/molecules/index.cjs +0 -30
  164. package/molecules/index.cjs.map +0 -7
  165. package/organisms/Frame/Frame.cjs +0 -220
  166. package/organisms/Frame/Frame.cjs.map +0 -7
  167. package/organisms/Frame/FrameAnchor.cjs +0 -41
  168. package/organisms/Frame/FrameAnchor.cjs.map +0 -7
  169. package/organisms/Frame/FrameForm.cjs +0 -41
  170. package/organisms/Frame/FrameForm.cjs.map +0 -7
  171. package/organisms/Frame/FrameTarget.cjs +0 -114
  172. package/organisms/Frame/FrameTarget.cjs.map +0 -7
  173. package/organisms/Frame/index.cjs +0 -24
  174. package/organisms/Frame/index.cjs.map +0 -7
  175. package/organisms/index.cjs +0 -21
  176. package/organisms/index.cjs.map +0 -7
  177. package/primitives/Draggable/Draggable.cjs +0 -65
  178. package/primitives/Draggable/Draggable.cjs.map +0 -7
  179. package/primitives/Draggable/index.cjs +0 -21
  180. package/primitives/Draggable/index.cjs.map +0 -7
  181. package/primitives/Sentinel/Sentinel.cjs +0 -35
  182. package/primitives/Sentinel/Sentinel.cjs.map +0 -7
  183. package/primitives/Sentinel/index.cjs +0 -21
  184. package/primitives/Sentinel/index.cjs.map +0 -7
  185. package/primitives/Transition/Transition.cjs +0 -36
  186. package/primitives/Transition/Transition.cjs.map +0 -7
  187. package/primitives/Transition/index.cjs +0 -21
  188. package/primitives/Transition/index.cjs.map +0 -7
  189. package/primitives/index.cjs +0 -23
  190. package/primitives/index.cjs.map +0 -7
@@ -1,40 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/AnchorNav/AnchorNavLink.ts
20
- var AnchorNavLink_exports = {};
21
- __export(AnchorNavLink_exports, {
22
- AnchorNavLink: () => AnchorNavLink
23
- });
24
- module.exports = __toCommonJS(AnchorNavLink_exports);
25
- var import_AnchorScrollTo = require("../../atoms/AnchorScrollTo/AnchorScrollTo.cjs");
26
- var import_decorators = require("../../decorators/index.cjs");
27
- var AnchorNavLink = class extends (0, import_decorators.withTransition)(import_AnchorScrollTo.AnchorScrollTo) {
28
- /**
29
- * Config.
30
- */
31
- static config = {
32
- ...import_AnchorScrollTo.AnchorScrollTo.config,
33
- name: "AnchorNavLink"
34
- };
35
- get targetId() {
36
- return this.$el.hash.replace(/^#/, "");
37
- }
38
- };
39
- if (module.exports.default) module.exports = module.exports.default;
40
- //# sourceMappingURL=AnchorNavLink.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/AnchorNav/AnchorNavLink.ts"],
4
- "sourcesContent": ["import type { BaseConfig } from '@studiometa/js-toolkit';\nimport { AnchorScrollTo, AnchorScrollToProps } from '../../atoms/AnchorScrollTo/AnchorScrollTo.js';\nimport { withTransition } from '../../decorators/index.js';\n\nexport interface AnchorNavLinkProps extends AnchorScrollToProps {\n $options: {\n id: string;\n };\n}\n\n/**\n * Manage a slider item and its state transition.\n */\nexport class AnchorNavLink extends withTransition(AnchorScrollTo)<AnchorNavLinkProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...AnchorScrollTo.config,\n name: 'AnchorNavLink',\n };\n\n get targetId() {\n return this.$el.hash.replace(/^#/, '');\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,4BAAoD;AACpD,wBAA+B;AAWxB,IAAM,gBAAN,kBAA4B,kCAAe,oCAAc,EAAsB;AAAA;AAAA;AAAA;AAAA,EAIpF,OAAO,SAAqB;AAAA,IAC1B,GAAG,qCAAe;AAAA,IAClB,MAAM;AAAA,EACR;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,IAAI,KAAK,QAAQ,MAAM,EAAE;AAAA,EACvC;AACF;",
6
- "names": []
7
- }
@@ -1,35 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/AnchorNav/AnchorNavTarget.ts
20
- var AnchorNavTarget_exports = {};
21
- __export(AnchorNavTarget_exports, {
22
- AnchorNavTarget: () => AnchorNavTarget
23
- });
24
- module.exports = __toCommonJS(AnchorNavTarget_exports);
25
- var import_js_toolkit = require("@studiometa/js-toolkit");
26
- var AnchorNavTarget = class extends (0, import_js_toolkit.withMountWhenInView)(import_js_toolkit.Base) {
27
- /**
28
- * Config.
29
- */
30
- static config = {
31
- name: "AnchorNavTarget"
32
- };
33
- };
34
- if (module.exports.default) module.exports = module.exports.default;
35
- //# sourceMappingURL=AnchorNavTarget.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/AnchorNav/AnchorNavTarget.ts"],
4
- "sourcesContent": ["import { Base, withMountWhenInView } from '@studiometa/js-toolkit';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\n/**\n * Manage a sticky table section.\n */\nexport class AnchorNavTarget extends withMountWhenInView(Base)<BaseProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'AnchorNavTarget',\n };\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAA0C;AAMnC,IAAM,kBAAN,kBAA8B,uCAAoB,sBAAI,EAAa;AAAA;AAAA;AAAA;AAAA,EAIxE,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AACF;",
6
- "names": []
7
- }
@@ -1,23 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // packages/ui/molecules/AnchorNav/index.ts
17
- var AnchorNav_exports = {};
18
- module.exports = __toCommonJS(AnchorNav_exports);
19
- __reExport(AnchorNav_exports, require("./AnchorNav.cjs"), module.exports);
20
- __reExport(AnchorNav_exports, require("./AnchorNavLink.cjs"), module.exports);
21
- __reExport(AnchorNav_exports, require("./AnchorNavTarget.cjs"), module.exports);
22
- if (module.exports.default) module.exports = module.exports.default;
23
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/AnchorNav/index.ts"],
4
- "sourcesContent": ["export * from './AnchorNav.js';\nexport * from './AnchorNavLink.js';\nexport * from './AnchorNavTarget.js';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,8BAAc,4BAAd;AACA,8BAAc,gCADd;AAEA,8BAAc,kCAFd;",
6
- "names": []
7
- }
@@ -1,177 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/Menu/Menu.ts
20
- var Menu_exports = {};
21
- __export(Menu_exports, {
22
- Menu: () => Menu
23
- });
24
- module.exports = __toCommonJS(Menu_exports);
25
- var import_js_toolkit = require("@studiometa/js-toolkit");
26
- var import_utils = require("@studiometa/js-toolkit/utils");
27
- var import_MenuBtn = require("./MenuBtn.cjs");
28
- var import_MenuList = require("./MenuList.cjs");
29
- var Menu = class _Menu extends import_js_toolkit.Base {
30
- /**
31
- * Config.
32
- */
33
- static config = {
34
- name: "Menu",
35
- components: {
36
- MenuBtn: import_MenuBtn.MenuBtn,
37
- MenuList: import_MenuList.MenuList,
38
- Menu: _Menu
39
- },
40
- options: {
41
- mode: {
42
- type: String,
43
- default: "click"
44
- // or 'hover'
45
- }
46
- }
47
- };
48
- /**
49
- * Get the first `MenuList` instance.
50
- */
51
- get menuList() {
52
- return (0, import_js_toolkit.getDirectChildren)(this, "Menu", "MenuList")[0];
53
- }
54
- /**
55
- * Get the first `MenuBtn` instance.
56
- */
57
- get menuBtn() {
58
- return (0, import_js_toolkit.getDirectChildren)(this, "Menu", "MenuBtn")[0];
59
- }
60
- /**
61
- * Test which mode to use.
62
- */
63
- get shouldReactOnClick() {
64
- return this.$options.mode === "click";
65
- }
66
- /**
67
- * Wether the button or the items are hovered.
68
- */
69
- get isHover() {
70
- return this.menuBtn.isHover || this.menuList.isHover;
71
- }
72
- /**
73
- * Set attributes on mounted, destroy the component if it is missing required
74
- * child components.
75
- */
76
- mounted() {
77
- if (!this.menuBtn || !this.menuList) {
78
- this.$destroy();
79
- return;
80
- }
81
- this.menuBtn.$el.setAttribute("aria-controls", this.$id);
82
- this.menuList.$el.setAttribute("id", this.$id);
83
- this.menuList.close();
84
- }
85
- /**
86
- * Keyboard management.
87
- */
88
- keyed({ ENTER, ESC, isUp }) {
89
- if (!isUp) {
90
- return;
91
- }
92
- if (ESC) {
93
- this.close();
94
- return;
95
- }
96
- if (!this.shouldReactOnClick) {
97
- const hasFocusElementWithin = document.activeElement === this.menuBtn.$el;
98
- if (ENTER && hasFocusElementWithin) {
99
- this.toggle();
100
- }
101
- }
102
- }
103
- /**
104
- * Toggle menu items on button click.
105
- */
106
- onMenuBtnClick(index, event) {
107
- if ((0, import_js_toolkit.isDirectChild)(this, "Menu", "MenuBtn", this.$children.MenuBtn[index]) && this.shouldReactOnClick) {
108
- event.preventDefault();
109
- this.toggle();
110
- }
111
- }
112
- /**
113
- * Open menu items on button mouse enter.
114
- */
115
- onMenuBtnMouseenter(index) {
116
- if (this.$children.MenuBtn[index] === this.menuBtn && !this.shouldReactOnClick) {
117
- this.open();
118
- }
119
- }
120
- /**
121
- * Close menu items on button mouse leave.
122
- */
123
- onMenuBtnMouseleave() {
124
- if (this.shouldReactOnClick) {
125
- return;
126
- }
127
- (0, import_utils.nextTick)(() => {
128
- if (!this.isHover) {
129
- this.close();
130
- }
131
- });
132
- }
133
- /**
134
- * Close menu items on button mouse leave.
135
- */
136
- onMenuListMouseleave() {
137
- if (this.shouldReactOnClick) {
138
- return;
139
- }
140
- (0, import_utils.nextTick)(() => {
141
- if (!this.isHover) {
142
- this.close();
143
- }
144
- });
145
- }
146
- /**
147
- * Close other non-parent menu items on menu items open.
148
- */
149
- onMenuListItemsOpen(index) {
150
- const targetMenu = this.$children.MenuList[index];
151
- this.$children.MenuList.forEach((menuItem) => {
152
- if (!menuItem.$el.contains(targetMenu.$el)) {
153
- menuItem.close();
154
- }
155
- });
156
- }
157
- /**
158
- * Close the menu.
159
- */
160
- close() {
161
- this.menuList.close();
162
- }
163
- /**
164
- * Open the menu.
165
- */
166
- open() {
167
- this.menuList.open();
168
- }
169
- /**
170
- * Toggle the menu.
171
- */
172
- toggle() {
173
- this.menuList.toggle();
174
- }
175
- };
176
- if (module.exports.default) module.exports = module.exports.default;
177
- //# sourceMappingURL=Menu.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Menu/Menu.ts"],
4
- "sourcesContent": ["import { Base, isDirectChild, getDirectChildren } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps, KeyServiceProps } from '@studiometa/js-toolkit';\nimport { nextTick } from '@studiometa/js-toolkit/utils';\nimport { MenuBtn } from './MenuBtn.js';\nimport { MenuList } from './MenuList.js';\n\nexport interface MenuProps extends BaseProps {\n $children: {\n // eslint-disable-next-line no-use-before-define\n Menu: Menu[];\n MenutBtn: MenuBtn[];\n MenuList: MenuList[];\n };\n $options: {\n mode: 'click' | 'hover';\n };\n}\n\n/**\n * Menu class.\n */\nexport class Menu<T extends BaseProps = BaseProps> extends Base<T & MenuProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Menu',\n components: {\n MenuBtn,\n MenuList,\n Menu,\n },\n options: {\n mode: {\n type: String,\n default: 'click', // or 'hover'\n },\n },\n };\n\n /**\n * Get the first `MenuList` instance.\n */\n get menuList(): MenuList {\n return getDirectChildren<MenuList>(this, 'Menu', 'MenuList')[0];\n }\n\n /**\n * Get the first `MenuBtn` instance.\n */\n get menuBtn(): MenuBtn {\n return getDirectChildren<MenuBtn>(this, 'Menu', 'MenuBtn')[0];\n }\n\n /**\n * Test which mode to use.\n */\n get shouldReactOnClick(): boolean {\n return this.$options.mode === 'click';\n }\n\n /**\n * Wether the button or the items are hovered.\n */\n get isHover(): boolean {\n return this.menuBtn.isHover || this.menuList.isHover;\n }\n\n /**\n * Set attributes on mounted, destroy the component if it is missing required\n * child components.\n */\n mounted() {\n if (!this.menuBtn || !this.menuList) {\n this.$destroy();\n return;\n }\n\n this.menuBtn.$el.setAttribute('aria-controls', this.$id);\n this.menuList.$el.setAttribute('id', this.$id);\n this.menuList.close();\n }\n\n /**\n * Keyboard management.\n */\n keyed({ ENTER, ESC, isUp }: KeyServiceProps) {\n if (!isUp) {\n return;\n }\n\n if (ESC) {\n this.close();\n return;\n }\n\n if (!this.shouldReactOnClick) {\n const hasFocusElementWithin = document.activeElement === this.menuBtn.$el;\n\n if (ENTER && hasFocusElementWithin) {\n this.toggle();\n }\n }\n }\n\n /**\n * Toggle menu items on button click.\n */\n onMenuBtnClick(index: number, event: MouseEvent) {\n if (\n isDirectChild(this, 'Menu', 'MenuBtn', this.$children.MenuBtn[index]) &&\n this.shouldReactOnClick\n ) {\n event.preventDefault();\n this.toggle();\n }\n }\n\n /**\n * Open menu items on button mouse enter.\n */\n onMenuBtnMouseenter(index: number) {\n if (this.$children.MenuBtn[index] === this.menuBtn && !this.shouldReactOnClick) {\n this.open();\n }\n }\n\n /**\n * Close menu items on button mouse leave.\n */\n onMenuBtnMouseleave() {\n if (this.shouldReactOnClick) {\n return;\n }\n\n nextTick(() => {\n if (!this.isHover) {\n this.close();\n }\n });\n }\n\n /**\n * Close menu items on button mouse leave.\n */\n onMenuListMouseleave() {\n if (this.shouldReactOnClick) {\n return;\n }\n\n nextTick(() => {\n if (!this.isHover) {\n this.close();\n }\n });\n }\n\n /**\n * Close other non-parent menu items on menu items open.\n */\n onMenuListItemsOpen(index: number) {\n const targetMenu = this.$children.MenuList[index];\n this.$children.MenuList.forEach((menuItem) => {\n if (!menuItem.$el.contains(targetMenu.$el)) {\n menuItem.close();\n }\n });\n }\n\n /**\n * Close the menu.\n */\n close() {\n this.menuList.close();\n }\n\n /**\n * Open the menu.\n */\n open() {\n this.menuList.open();\n }\n\n /**\n * Toggle the menu.\n */\n toggle() {\n this.menuList.toggle();\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,66 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/Menu/MenuBtn.ts
20
- var MenuBtn_exports = {};
21
- __export(MenuBtn_exports, {
22
- MenuBtn: () => MenuBtn
23
- });
24
- module.exports = __toCommonJS(MenuBtn_exports);
25
- var import_js_toolkit = require("@studiometa/js-toolkit");
26
- var MenuBtn = class extends import_js_toolkit.Base {
27
- /**
28
- * Config.
29
- */
30
- static config = {
31
- name: "MenuBtn"
32
- };
33
- /**
34
- * Wether the button is hovered or not.
35
- * @type {boolean}
36
- */
37
- isHover = false;
38
- /**
39
- * Dispatch the click event.
40
- * @param {MouseEvent} event
41
- * @returns {void}
42
- */
43
- onClick(event) {
44
- event.stopPropagation();
45
- }
46
- /**
47
- * Dispatch the mouseenter event.
48
- * @param {MouseEvent} event
49
- * @returns {void}
50
- */
51
- onMouseenter(event) {
52
- this.isHover = true;
53
- event.stopPropagation();
54
- }
55
- /**
56
- * Dispatch the mouseleave event.
57
- * @param {MouseEvent} event
58
- * @returns {void}
59
- */
60
- onMouseleave(event) {
61
- this.isHover = false;
62
- event.stopPropagation();
63
- }
64
- };
65
- if (module.exports.default) module.exports = module.exports.default;
66
- //# sourceMappingURL=MenuBtn.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Menu/MenuBtn.ts"],
4
- "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\n\n/**\n * MenuBtn class.\n */\nexport class MenuBtn<T extends BaseProps = BaseProps> extends Base<T> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'MenuBtn',\n };\n\n /**\n * Wether the button is hovered or not.\n * @type {boolean}\n */\n isHover = false;\n\n /**\n * Dispatch the click event.\n * @param {MouseEvent} event\n * @returns {void}\n */\n onClick(event) {\n event.stopPropagation();\n }\n\n /**\n * Dispatch the mouseenter event.\n * @param {MouseEvent} event\n * @returns {void}\n */\n onMouseenter(event) {\n this.isHover = true;\n event.stopPropagation();\n }\n\n /**\n * Dispatch the mouseleave event.\n * @param {MouseEvent} event\n * @returns {void}\n */\n onMouseleave(event) {\n this.isHover = false;\n event.stopPropagation();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAMd,IAAM,UAAN,cAAuD,uBAAQ;AAAA;AAAA;AAAA;AAAA,EAIpE,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOV,QAAQ,OAAO;AACb,UAAM,gBAAgB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,OAAO;AAClB,SAAK,UAAU;AACf,UAAM,gBAAgB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,aAAa,OAAO;AAClB,SAAK,UAAU;AACf,UAAM,gBAAgB;AAAA,EACxB;AACF;",
6
- "names": []
7
- }
@@ -1,165 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __export = (target, all) => {
6
- for (var name in all)
7
- __defProp(target, name, { get: all[name], enumerable: true });
8
- };
9
- var __copyProps = (to, from, except, desc) => {
10
- if (from && typeof from === "object" || typeof from === "function") {
11
- for (let key of __getOwnPropNames(from))
12
- if (!__hasOwnProp.call(to, key) && key !== except)
13
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
- }
15
- return to;
16
- };
17
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
-
19
- // packages/ui/molecules/Menu/MenuList.ts
20
- var MenuList_exports = {};
21
- __export(MenuList_exports, {
22
- MenuList: () => MenuList
23
- });
24
- module.exports = __toCommonJS(MenuList_exports);
25
- var import_primitives = require("../../primitives/index.cjs");
26
- var FOCUSABLE_ELEMENTS = [
27
- "a[href]:not([inert])",
28
- "area[href]:not([inert])",
29
- "input:not([disabled]):not([inert])",
30
- "select:not([disabled]):not([inert])",
31
- "textarea:not([disabled]):not([inert])",
32
- "button:not([disabled]):not([inert])",
33
- "iframe:not([inert])",
34
- "audio:not([inert])",
35
- "video:not([inert])",
36
- "[contenteditable]:not([inert])",
37
- "[tabindex]:not([inert])"
38
- ].join(",");
39
- var MenuList = class _MenuList extends import_primitives.Transition {
40
- /**
41
- * Config.
42
- */
43
- static config = {
44
- ...import_primitives.Transition.config,
45
- name: "MenuList",
46
- emits: ["items-open", "items-close", "items-mouseleave"],
47
- components: {
48
- MenuList: _MenuList
49
- }
50
- };
51
- /**
52
- * Are the menu items visible?
53
- */
54
- isOpen = false;
55
- /**
56
- * Wether the component is hovered.
57
- */
58
- isHover = false;
59
- /**
60
- * Override `Transition` options.
61
- */
62
- // @ts-ignore
63
- get $options() {
64
- const options = super.$options;
65
- options.leaveKeep = true;
66
- options.enterKeep = true;
67
- return options;
68
- }
69
- /**
70
- * Update tab indexes on mount.
71
- */
72
- mounted() {
73
- this.__updateTabIndexes("close");
74
- }
75
- /**
76
- * Set hover state.
77
- */
78
- onMouseenter() {
79
- this.isHover = true;
80
- }
81
- /**
82
- * Unset hover state.
83
- */
84
- onMouseleave() {
85
- this.isHover = false;
86
- }
87
- /**
88
- * Display the menu items.
89
- */
90
- open() {
91
- if (this.isOpen) {
92
- return;
93
- }
94
- const clickOutsideHandler = (event) => {
95
- if (!this.$el.contains(event.target)) {
96
- document.removeEventListener("click", clickOutsideHandler);
97
- this.close();
98
- }
99
- };
100
- document.addEventListener("click", clickOutsideHandler);
101
- this.__updateTabIndexes("open");
102
- this.$el.setAttribute("aria-hidden", "false");
103
- this.isOpen = true;
104
- this.enter();
105
- this.$emit("items-open");
106
- }
107
- /**
108
- * Hide the menu items.
109
- */
110
- close() {
111
- if (!this.isOpen) {
112
- return;
113
- }
114
- this.$children.MenuList.forEach((menuItem) => {
115
- menuItem.close();
116
- });
117
- if (document.activeElement instanceof HTMLElement && this.$el.contains(document.activeElement)) {
118
- document.activeElement.blur();
119
- }
120
- this.$el.setAttribute("aria-hidden", "true");
121
- this.__updateTabIndexes("close");
122
- this.isOpen = false;
123
- this.leave();
124
- this.$emit("items-close");
125
- }
126
- /**
127
- * Toggle the menu items.
128
- */
129
- toggle() {
130
- if (this.isOpen) {
131
- this.close();
132
- } else {
133
- this.open();
134
- }
135
- }
136
- /**
137
- * Update `tabindex` attribute of child focusable elements.
138
- * @private
139
- */
140
- __updateTabIndexes(mode = "open") {
141
- const focusableItems = Array.from(this.$el.querySelectorAll(FOCUSABLE_ELEMENTS)).filter(
142
- (item) => this.__filterFocusableItems(item)
143
- );
144
- focusableItems.forEach((item) => {
145
- if (mode === "close") {
146
- item.setAttribute("tabindex", "-1");
147
- } else {
148
- item.removeAttribute("tabindex");
149
- }
150
- });
151
- }
152
- /**
153
- * Filter out items which are inside a child `MenuList` instance.
154
- * @private
155
- */
156
- __filterFocusableItems(item) {
157
- let ancestor = item.parentElement;
158
- while (ancestor && (!ancestor.__base__ || !ancestor.__base__.has(this.constructor))) {
159
- ancestor = ancestor.parentElement;
160
- }
161
- return ancestor === null || ancestor === this.$el;
162
- }
163
- };
164
- if (module.exports.default) module.exports = module.exports.default;
165
- //# sourceMappingURL=MenuList.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Menu/MenuList.ts"],
4
- "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { Transition } from '../../primitives/index.js';\n\nconst FOCUSABLE_ELEMENTS = [\n 'a[href]:not([inert])',\n 'area[href]:not([inert])',\n 'input:not([disabled]):not([inert])',\n 'select:not([disabled]):not([inert])',\n 'textarea:not([disabled]):not([inert])',\n 'button:not([disabled]):not([inert])',\n 'iframe:not([inert])',\n 'audio:not([inert])',\n 'video:not([inert])',\n '[contenteditable]:not([inert])',\n '[tabindex]:not([inert])',\n].join(',');\n\nexport interface MenuListProps extends BaseProps {\n $children: {\n // eslint-disable-next-line no-use-before-define\n MenuList: MenuList[];\n };\n}\n\n/**\n * MenuList class.\n */\nexport class MenuList<T extends BaseProps = BaseProps> extends Transition<T & MenuListProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...Transition.config,\n name: 'MenuList',\n emits: ['items-open', 'items-close', 'items-mouseleave'],\n components: {\n MenuList,\n },\n };\n\n /**\n * Are the menu items visible?\n */\n isOpen = false;\n\n /**\n * Wether the component is hovered.\n */\n isHover = false;\n\n /**\n * Override `Transition` options.\n */\n // @ts-ignore\n get $options() {\n const options = super.$options;\n\n options.leaveKeep = true;\n options.enterKeep = true;\n\n return options;\n }\n\n /**\n * Update tab indexes on mount.\n */\n mounted() {\n this.__updateTabIndexes('close');\n }\n\n /**\n * Set hover state.\n */\n onMouseenter() {\n this.isHover = true;\n }\n\n /**\n * Unset hover state.\n */\n onMouseleave() {\n this.isHover = false;\n }\n\n /**\n * Display the menu items.\n */\n open() {\n if (this.isOpen) {\n return;\n }\n\n // @todo Remove event listener when the close method is called.\n const clickOutsideHandler = (event) => {\n if (!this.$el.contains(event.target)) {\n document.removeEventListener('click', clickOutsideHandler);\n this.close();\n }\n };\n document.addEventListener('click', clickOutsideHandler);\n\n this.__updateTabIndexes('open');\n this.$el.setAttribute('aria-hidden', 'false');\n this.isOpen = true;\n this.enter();\n this.$emit('items-open');\n }\n\n /**\n * Hide the menu items.\n */\n close() {\n if (!this.isOpen) {\n return;\n }\n\n // Close child menu items.\n this.$children.MenuList.forEach((menuItem) => {\n menuItem.close();\n });\n\n if (\n document.activeElement instanceof HTMLElement &&\n this.$el.contains(document.activeElement)\n ) {\n document.activeElement.blur();\n }\n\n this.$el.setAttribute('aria-hidden', 'true');\n this.__updateTabIndexes('close');\n this.isOpen = false;\n this.leave();\n this.$emit('items-close');\n }\n\n /**\n * Toggle the menu items.\n */\n toggle() {\n if (this.isOpen) {\n this.close();\n } else {\n this.open();\n }\n }\n\n /**\n * Update `tabindex` attribute of child focusable elements.\n * @private\n */\n __updateTabIndexes(mode: 'open' | 'close' = 'open') {\n const focusableItems = Array.from(this.$el.querySelectorAll(FOCUSABLE_ELEMENTS)).filter(\n (item) => this.__filterFocusableItems(item as HTMLElement),\n );\n\n focusableItems.forEach((item) => {\n if (mode === 'close') {\n item.setAttribute('tabindex', '-1');\n } else {\n item.removeAttribute('tabindex');\n }\n });\n }\n\n /**\n * Filter out items which are inside a child `MenuList` instance.\n * @private\n */\n __filterFocusableItems(item: HTMLElement): boolean {\n let ancestor = item.parentElement;\n\n // @ts-ignore\n while (ancestor && (!ancestor.__base__ || !ancestor.__base__.has(this.constructor))) {\n ancestor = ancestor.parentElement;\n }\n\n return ancestor === null || ancestor === this.$el;\n }\n}\n"],
5
- "mappings": "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",
6
- "names": []
7
- }
@@ -1,23 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
- var __getOwnPropNames = Object.getOwnPropertyNames;
4
- var __hasOwnProp = Object.prototype.hasOwnProperty;
5
- var __copyProps = (to, from, except, desc) => {
6
- if (from && typeof from === "object" || typeof from === "function") {
7
- for (let key of __getOwnPropNames(from))
8
- if (!__hasOwnProp.call(to, key) && key !== except)
9
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
10
- }
11
- return to;
12
- };
13
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
14
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
-
16
- // packages/ui/molecules/Menu/index.ts
17
- var Menu_exports = {};
18
- module.exports = __toCommonJS(Menu_exports);
19
- __reExport(Menu_exports, require("./Menu.cjs"), module.exports);
20
- __reExport(Menu_exports, require("./MenuBtn.cjs"), module.exports);
21
- __reExport(Menu_exports, require("./MenuList.cjs"), module.exports);
22
- if (module.exports.default) module.exports = module.exports.default;
23
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/molecules/Menu/index.ts"],
4
- "sourcesContent": ["export * from './Menu.js';\nexport * from './MenuBtn.js';\nexport * from './MenuList.js';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,uBAAd;AACA,yBAAc,0BADd;AAEA,yBAAc,2BAFd;",
6
- "names": []
7
- }