@studiometa/ui 1.0.0-alpha.1 → 1.0.0-alpha.3

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 (229) hide show
  1. package/atoms/AnchorScrollTo/AnchorScrollTo.d.ts +3 -3
  2. package/atoms/AnchorScrollTo/AnchorScrollTo.js +1 -3
  3. package/atoms/AnchorScrollTo/AnchorScrollTo.js.map +2 -2
  4. package/atoms/Data/DataBind.d.ts +1 -1
  5. package/atoms/Data/DataBind.js +9 -2
  6. package/atoms/Data/DataBind.js.map +2 -2
  7. package/atoms/Data/DataComputed.js +1 -1
  8. package/atoms/Data/DataComputed.js.map +2 -2
  9. package/atoms/Data/DataModel.js +1 -1
  10. package/atoms/Data/DataModel.js.map +2 -2
  11. package/atoms/LazyInclude/LazyInclude.d.ts +3 -1
  12. package/atoms/LazyInclude/LazyInclude.js +1 -1
  13. package/atoms/LazyInclude/LazyInclude.js.map +2 -2
  14. package/molecules/Accordion/AccordionCore.d.ts +6 -2
  15. package/molecules/Accordion/AccordionCore.js +2 -2
  16. package/molecules/Accordion/AccordionCore.js.map +2 -2
  17. package/molecules/AnchorNav/AnchorNav.d.ts +6 -2
  18. package/molecules/AnchorNav/AnchorNav.js +4 -4
  19. package/molecules/AnchorNav/AnchorNav.js.map +2 -2
  20. package/molecules/Menu/Menu.d.ts +11 -4
  21. package/molecules/Menu/Menu.js +7 -9
  22. package/molecules/Menu/Menu.js.map +2 -2
  23. package/molecules/Menu/MenuBtn.d.ts +9 -3
  24. package/molecules/Menu/MenuBtn.js +3 -3
  25. package/molecules/Menu/MenuBtn.js.map +2 -2
  26. package/molecules/Slider/Slider.d.ts +6 -2
  27. package/molecules/Slider/Slider.js +2 -2
  28. package/molecules/Slider/Slider.js.map +2 -2
  29. package/molecules/Slider/SliderDots.d.ts +4 -1
  30. package/molecules/Slider/SliderDots.js +1 -1
  31. package/molecules/Slider/SliderDots.js.map +2 -2
  32. package/molecules/Slider/SliderDrag.d.ts +3 -1
  33. package/molecules/Slider/SliderDrag.js +1 -1
  34. package/molecules/Slider/SliderDrag.js.map +2 -2
  35. package/molecules/Sticky/Sticky.d.ts +3 -1
  36. package/molecules/Sticky/Sticky.js +1 -1
  37. package/molecules/Sticky/Sticky.js.map +2 -2
  38. package/molecules/Tabs/Tabs.d.ts +4 -1
  39. package/molecules/Tabs/Tabs.js +1 -1
  40. package/molecules/Tabs/Tabs.js.map +2 -2
  41. package/molecules/index.d.ts +2 -3
  42. package/molecules/index.js +2 -3
  43. package/molecules/index.js.map +2 -2
  44. package/organisms/Frame/Frame.d.ts +11 -3
  45. package/organisms/Frame/Frame.js +14 -16
  46. package/organisms/Frame/Frame.js.map +2 -2
  47. package/package.json +2 -2
  48. package/atoms/Action/Action.cjs +0 -115
  49. package/atoms/Action/Action.cjs.map +0 -7
  50. package/atoms/Action/Target.cjs +0 -35
  51. package/atoms/Action/Target.cjs.map +0 -7
  52. package/atoms/Action/index.cjs +0 -22
  53. package/atoms/Action/index.cjs.map +0 -7
  54. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs +0 -52
  55. package/atoms/AnchorScrollTo/AnchorScrollTo.cjs.map +0 -7
  56. package/atoms/AnchorScrollTo/index.cjs +0 -21
  57. package/atoms/AnchorScrollTo/index.cjs.map +0 -7
  58. package/atoms/CircularMarquee/CircularMarquee.cjs +0 -69
  59. package/atoms/CircularMarquee/CircularMarquee.cjs.map +0 -7
  60. package/atoms/CircularMarquee/index.cjs +0 -21
  61. package/atoms/CircularMarquee/index.cjs.map +0 -7
  62. package/atoms/Cursor/Cursor.cjs +0 -137
  63. package/atoms/Cursor/Cursor.cjs.map +0 -7
  64. package/atoms/Cursor/index.cjs +0 -21
  65. package/atoms/Cursor/index.cjs.map +0 -7
  66. package/atoms/Data/DataBind.cjs +0 -124
  67. package/atoms/Data/DataBind.cjs.map +0 -7
  68. package/atoms/Data/DataComputed.cjs +0 -49
  69. package/atoms/Data/DataComputed.cjs.map +0 -7
  70. package/atoms/Data/DataEffect.cjs +0 -47
  71. package/atoms/Data/DataEffect.cjs.map +0 -7
  72. package/atoms/Data/DataModel.cjs +0 -48
  73. package/atoms/Data/DataModel.cjs.map +0 -7
  74. package/atoms/Data/index.cjs +0 -24
  75. package/atoms/Data/index.cjs.map +0 -7
  76. package/atoms/Data/utils.cjs +0 -46
  77. package/atoms/Data/utils.cjs.map +0 -7
  78. package/atoms/Figure/Figure.cjs +0 -105
  79. package/atoms/Figure/Figure.cjs.map +0 -7
  80. package/atoms/Figure/FigureTwicpics.cjs +0 -123
  81. package/atoms/Figure/FigureTwicpics.cjs.map +0 -7
  82. package/atoms/Figure/index.cjs +0 -22
  83. package/atoms/Figure/index.cjs.map +0 -7
  84. package/atoms/FigureVideo/FigureVideo.cjs +0 -132
  85. package/atoms/FigureVideo/FigureVideo.cjs.map +0 -7
  86. package/atoms/FigureVideo/FigureVideoTwicpics.cjs +0 -153
  87. package/atoms/FigureVideo/FigureVideoTwicpics.cjs.map +0 -7
  88. package/atoms/FigureVideo/index.cjs +0 -22
  89. package/atoms/FigureVideo/index.cjs.map +0 -7
  90. package/atoms/LargeText/LargeText.cjs +0 -109
  91. package/atoms/LargeText/LargeText.cjs.map +0 -7
  92. package/atoms/LargeText/index.cjs +0 -21
  93. package/atoms/LargeText/index.cjs.map +0 -7
  94. package/atoms/LazyInclude/LazyInclude.cjs +0 -78
  95. package/atoms/LazyInclude/LazyInclude.cjs.map +0 -7
  96. package/atoms/LazyInclude/index.cjs +0 -21
  97. package/atoms/LazyInclude/index.cjs.map +0 -7
  98. package/atoms/Prefetch/AbstractPrefetch.cjs +0 -86
  99. package/atoms/Prefetch/AbstractPrefetch.cjs.map +0 -7
  100. package/atoms/Prefetch/PrefetchWhenOver.cjs +0 -42
  101. package/atoms/Prefetch/PrefetchWhenOver.cjs.map +0 -7
  102. package/atoms/Prefetch/PrefetchWhenVisible.cjs +0 -43
  103. package/atoms/Prefetch/PrefetchWhenVisible.cjs.map +0 -7
  104. package/atoms/Prefetch/index.cjs +0 -23
  105. package/atoms/Prefetch/index.cjs.map +0 -7
  106. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs +0 -95
  107. package/atoms/ScrollAnimation/AbstractScrollAnimation.cjs.map +0 -7
  108. package/atoms/ScrollAnimation/ScrollAnimation.cjs +0 -44
  109. package/atoms/ScrollAnimation/ScrollAnimation.cjs.map +0 -7
  110. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs +0 -84
  111. package/atoms/ScrollAnimation/ScrollAnimationChild.cjs.map +0 -7
  112. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs +0 -37
  113. package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.cjs.map +0 -7
  114. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs +0 -50
  115. package/atoms/ScrollAnimation/ScrollAnimationParent.cjs.map +0 -7
  116. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs +0 -37
  117. package/atoms/ScrollAnimation/ScrollAnimationWithEase.cjs.map +0 -7
  118. package/atoms/ScrollAnimation/animationScrollWithEase.cjs +0 -59
  119. package/atoms/ScrollAnimation/animationScrollWithEase.cjs.map +0 -7
  120. package/atoms/ScrollAnimation/index.cjs +0 -27
  121. package/atoms/ScrollAnimation/index.cjs.map +0 -7
  122. package/atoms/ScrollReveal/ScrollReveal.cjs +0 -81
  123. package/atoms/ScrollReveal/ScrollReveal.cjs.map +0 -7
  124. package/atoms/ScrollReveal/index.cjs +0 -21
  125. package/atoms/ScrollReveal/index.cjs.map +0 -7
  126. package/atoms/index.cjs +0 -32
  127. package/atoms/index.cjs.map +0 -7
  128. package/decorators/index.cjs +0 -22
  129. package/decorators/index.cjs.map +0 -7
  130. package/decorators/withDeprecation.cjs +0 -47
  131. package/decorators/withDeprecation.cjs.map +0 -7
  132. package/decorators/withTransition.cjs +0 -86
  133. package/decorators/withTransition.cjs.map +0 -7
  134. package/index.cjs +0 -25
  135. package/index.cjs.map +0 -7
  136. package/molecules/Accordion/Accordion.cjs +0 -36
  137. package/molecules/Accordion/Accordion.cjs.map +0 -7
  138. package/molecules/Accordion/AccordionCore.cjs +0 -58
  139. package/molecules/Accordion/AccordionCore.cjs.map +0 -7
  140. package/molecules/Accordion/AccordionItem.cjs +0 -206
  141. package/molecules/Accordion/AccordionItem.cjs.map +0 -7
  142. package/molecules/Accordion/index.cjs +0 -22
  143. package/molecules/Accordion/index.cjs.map +0 -7
  144. package/molecules/AnchorNav/AnchorNav.cjs +0 -63
  145. package/molecules/AnchorNav/AnchorNav.cjs.map +0 -7
  146. package/molecules/AnchorNav/AnchorNavLink.cjs +0 -40
  147. package/molecules/AnchorNav/AnchorNavLink.cjs.map +0 -7
  148. package/molecules/AnchorNav/AnchorNavTarget.cjs +0 -35
  149. package/molecules/AnchorNav/AnchorNavTarget.cjs.map +0 -7
  150. package/molecules/AnchorNav/index.cjs +0 -23
  151. package/molecules/AnchorNav/index.cjs.map +0 -7
  152. package/molecules/Menu/Menu.cjs +0 -177
  153. package/molecules/Menu/Menu.cjs.map +0 -7
  154. package/molecules/Menu/MenuBtn.cjs +0 -66
  155. package/molecules/Menu/MenuBtn.cjs.map +0 -7
  156. package/molecules/Menu/MenuList.cjs +0 -165
  157. package/molecules/Menu/MenuList.cjs.map +0 -7
  158. package/molecules/Menu/index.cjs +0 -23
  159. package/molecules/Menu/index.cjs.map +0 -7
  160. package/molecules/Modal/Modal.cjs +0 -219
  161. package/molecules/Modal/Modal.cjs.map +0 -7
  162. package/molecules/Modal/ModalWithTransition.cjs +0 -69
  163. package/molecules/Modal/ModalWithTransition.cjs.map +0 -7
  164. package/molecules/Modal/index.cjs +0 -22
  165. package/molecules/Modal/index.cjs.map +0 -7
  166. package/molecules/Panel/Panel.cjs +0 -137
  167. package/molecules/Panel/Panel.cjs.map +0 -7
  168. package/molecules/Panel/index.cjs +0 -21
  169. package/molecules/Panel/index.cjs.map +0 -7
  170. package/molecules/Slider/AbstractSliderChild.cjs +0 -88
  171. package/molecules/Slider/AbstractSliderChild.cjs.map +0 -7
  172. package/molecules/Slider/Slider.cjs +0 -404
  173. package/molecules/Slider/Slider.cjs.map +0 -7
  174. package/molecules/Slider/SliderBtn.cjs +0 -71
  175. package/molecules/Slider/SliderBtn.cjs.map +0 -7
  176. package/molecules/Slider/SliderCount.cjs +0 -44
  177. package/molecules/Slider/SliderCount.cjs.map +0 -7
  178. package/molecules/Slider/SliderDots.cjs +0 -64
  179. package/molecules/Slider/SliderDots.cjs.map +0 -7
  180. package/molecules/Slider/SliderDrag.cjs +0 -66
  181. package/molecules/Slider/SliderDrag.cjs.map +0 -7
  182. package/molecules/Slider/SliderItem.cjs +0 -177
  183. package/molecules/Slider/SliderItem.cjs.map +0 -7
  184. package/molecules/Slider/SliderProgress.cjs +0 -49
  185. package/molecules/Slider/SliderProgress.cjs.map +0 -7
  186. package/molecules/Slider/index.cjs +0 -28
  187. package/molecules/Slider/index.cjs.map +0 -7
  188. package/molecules/Sticky/Sticky.cjs +0 -177
  189. package/molecules/Sticky/Sticky.cjs.map +0 -7
  190. package/molecules/Sticky/index.cjs +0 -21
  191. package/molecules/Sticky/index.cjs.map +0 -7
  192. package/molecules/TableOfContent/TableOfContent.cjs +0 -72
  193. package/molecules/TableOfContent/TableOfContent.cjs.map +0 -7
  194. package/molecules/TableOfContent/TableOfContentAnchor.cjs +0 -76
  195. package/molecules/TableOfContent/TableOfContentAnchor.cjs.map +0 -7
  196. package/molecules/TableOfContent/index.cjs +0 -22
  197. package/molecules/TableOfContent/index.cjs.map +0 -7
  198. package/molecules/Tabs/Tabs.cjs +0 -153
  199. package/molecules/Tabs/Tabs.cjs.map +0 -7
  200. package/molecules/Tabs/index.cjs +0 -21
  201. package/molecules/Tabs/index.cjs.map +0 -7
  202. package/molecules/index.cjs +0 -30
  203. package/molecules/index.cjs.map +0 -7
  204. package/organisms/Frame/Frame.cjs +0 -220
  205. package/organisms/Frame/Frame.cjs.map +0 -7
  206. package/organisms/Frame/FrameAnchor.cjs +0 -41
  207. package/organisms/Frame/FrameAnchor.cjs.map +0 -7
  208. package/organisms/Frame/FrameForm.cjs +0 -41
  209. package/organisms/Frame/FrameForm.cjs.map +0 -7
  210. package/organisms/Frame/FrameTarget.cjs +0 -114
  211. package/organisms/Frame/FrameTarget.cjs.map +0 -7
  212. package/organisms/Frame/index.cjs +0 -24
  213. package/organisms/Frame/index.cjs.map +0 -7
  214. package/organisms/index.cjs +0 -21
  215. package/organisms/index.cjs.map +0 -7
  216. package/primitives/Draggable/Draggable.cjs +0 -65
  217. package/primitives/Draggable/Draggable.cjs.map +0 -7
  218. package/primitives/Draggable/index.cjs +0 -21
  219. package/primitives/Draggable/index.cjs.map +0 -7
  220. package/primitives/Sentinel/Sentinel.cjs +0 -35
  221. package/primitives/Sentinel/Sentinel.cjs.map +0 -7
  222. package/primitives/Sentinel/index.cjs +0 -21
  223. package/primitives/Sentinel/index.cjs.map +0 -7
  224. package/primitives/Transition/Transition.cjs +0 -36
  225. package/primitives/Transition/Transition.cjs.map +0 -7
  226. package/primitives/Transition/index.cjs +0 -21
  227. package/primitives/Transition/index.cjs.map +0 -7
  228. package/primitives/index.cjs +0 -23
  229. package/primitives/index.cjs.map +0 -7
@@ -1,124 +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/atoms/Data/DataBind.ts
20
- var DataBind_exports = {};
21
- __export(DataBind_exports, {
22
- DataBind: () => DataBind
23
- });
24
- module.exports = __toCommonJS(DataBind_exports);
25
- var import_js_toolkit = require("@studiometa/js-toolkit");
26
- var import_utils = require("@studiometa/js-toolkit/utils");
27
- var import_utils2 = require("./utils.cjs");
28
- var instances = /* @__PURE__ */ new Map();
29
- var DataBind = class extends import_js_toolkit.Base {
30
- static config = {
31
- name: "DataBind",
32
- options: {
33
- prop: String,
34
- name: String
35
- }
36
- };
37
- get relatedInstances() {
38
- const { name } = this.$options;
39
- if (!instances.has(name)) {
40
- instances.set(name, /* @__PURE__ */ new Set());
41
- }
42
- return instances.get(name);
43
- }
44
- get multiple() {
45
- return this.$options.name.endsWith("[]");
46
- }
47
- get target() {
48
- return this.$el;
49
- }
50
- get prop() {
51
- if (this.$options.prop) {
52
- return this.$options.prop;
53
- }
54
- const { target } = this;
55
- if (target instanceof HTMLInputElement) {
56
- return "value";
57
- }
58
- return "textContent";
59
- }
60
- get value() {
61
- return this.get();
62
- }
63
- set value(value) {
64
- this.set(value);
65
- }
66
- get() {
67
- const { target, multiple } = this;
68
- if ((0, import_utils2.isSelect)(target)) {
69
- if (multiple) {
70
- const values = [];
71
- for (const option2 of target.options) {
72
- if (option2.selected) {
73
- values.push(option2.value);
74
- }
75
- }
76
- return values;
77
- }
78
- const option = target.options.item(target.selectedIndex);
79
- return option.value;
80
- }
81
- if ((0, import_utils2.isCheckbox)(target)) {
82
- if (multiple) {
83
- const values = /* @__PURE__ */ new Set();
84
- for (const instance of this.relatedInstances) {
85
- if ((0, import_utils2.isCheckbox)(instance.target) && instance.target.checked) {
86
- values.add(instance.target.value);
87
- }
88
- }
89
- return Array.from(values);
90
- } else {
91
- return target.checked;
92
- }
93
- }
94
- return target[this.prop];
95
- }
96
- set(value) {
97
- const { target, multiple } = this;
98
- if ((0, import_utils2.isSelect)(target)) {
99
- for (const option of target.options) {
100
- option.selected = multiple && (0, import_utils.isArray)(value) ? value.includes(option.value) : option.value === value;
101
- }
102
- return;
103
- }
104
- if ((0, import_utils2.isInput)(target)) {
105
- switch (target.type) {
106
- case "radio":
107
- target.checked = target.value === value;
108
- return;
109
- case "checkbox":
110
- target.checked = multiple && (0, import_utils.isArray)(value) ? value.includes(target.value) : Boolean(value);
111
- return;
112
- }
113
- }
114
- target[this.prop] = value;
115
- }
116
- mounted() {
117
- this.relatedInstances.add(this);
118
- }
119
- destroyed() {
120
- this.relatedInstances.delete(this);
121
- }
122
- };
123
- if (module.exports.default) module.exports = module.exports.default;
124
- //# sourceMappingURL=DataBind.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Data/DataBind.ts"],
4
- "sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { isArray } from '@studiometa/js-toolkit/utils';\nimport { isInput, isCheckbox, isSelect } from './utils.js';\n\nconst instances = new Map<string, Set<DataBind>>();\n\nexport interface DataBindProps extends BaseProps {\n $options: {\n prop: string;\n name: string;\n };\n}\n\nexport class DataBind<T extends BaseProps = BaseProps> extends Base<DataBindProps & T> {\n static config: BaseConfig = {\n name: 'DataBind',\n options: {\n prop: String,\n name: String,\n },\n };\n\n get relatedInstances() {\n const { name } = this.$options;\n\n if (!instances.has(name)) {\n instances.set(name, new Set());\n }\n\n return instances.get(name);\n }\n\n get multiple() {\n return this.$options.name.endsWith('[]');\n }\n\n get target() {\n return this.$el;\n }\n\n get prop() {\n if (this.$options.prop) {\n return this.$options.prop;\n }\n\n const { target } = this;\n if (target instanceof HTMLInputElement) {\n return 'value';\n }\n\n return 'textContent';\n }\n\n get value() {\n return this.get();\n }\n\n set value(value) {\n this.set(value);\n }\n\n get() {\n const { target, multiple } = this;\n\n if (isSelect(target)) {\n if (multiple) {\n const values = [];\n for (const option of target.options) {\n if (option.selected) {\n values.push(option.value);\n }\n }\n\n return values;\n }\n\n const option = target.options.item(target.selectedIndex);\n return option.value;\n }\n\n if (isCheckbox(target)) {\n if (multiple) {\n const values = new Set();\n for (const instance of this.relatedInstances) {\n if (isCheckbox(instance.target) && instance.target.checked) {\n values.add(instance.target.value);\n }\n }\n return Array.from(values);\n } else {\n return target.checked;\n }\n }\n\n return target[this.prop];\n }\n\n set(value: boolean | string | string[]) {\n const { target, multiple } = this;\n\n if (isSelect(target)) {\n for (const option of target.options) {\n option.selected =\n multiple && isArray(value) ? value.includes(option.value) : option.value === value;\n }\n return;\n }\n\n if (isInput(target)) {\n switch (target.type) {\n case 'radio':\n target.checked = target.value === value;\n return;\n case 'checkbox':\n target.checked =\n multiple && isArray(value) ? value.includes(target.value) : Boolean(value);\n return;\n }\n }\n\n target[this.prop] = value;\n }\n\n mounted() {\n this.relatedInstances.add(this);\n }\n\n destroyed() {\n this.relatedInstances.delete(this);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAErB,mBAAwB;AACxB,IAAAA,gBAA8C;AAE9C,IAAM,YAAY,oBAAI,IAA2B;AAS1C,IAAM,WAAN,cAAwD,uBAAwB;AAAA,EACrF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,IAAI,mBAAmB;AACrB,UAAM,EAAE,KAAK,IAAI,KAAK;AAEtB,QAAI,CAAC,UAAU,IAAI,IAAI,GAAG;AACxB,gBAAU,IAAI,MAAM,oBAAI,IAAI,CAAC;AAAA,IAC/B;AAEA,WAAO,UAAU,IAAI,IAAI;AAAA,EAC3B;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,SAAS,KAAK,SAAS,IAAI;AAAA,EACzC;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,OAAO;AACT,QAAI,KAAK,SAAS,MAAM;AACtB,aAAO,KAAK,SAAS;AAAA,IACvB;AAEA,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,kBAAkB,kBAAkB;AACtC,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,MAAM,OAAO;AACf,SAAK,IAAI,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM;AACJ,UAAM,EAAE,QAAQ,SAAS,IAAI;AAE7B,YAAI,wBAAS,MAAM,GAAG;AACpB,UAAI,UAAU;AACZ,cAAM,SAAS,CAAC;AAChB,mBAAWC,WAAU,OAAO,SAAS;AACnC,cAAIA,QAAO,UAAU;AACnB,mBAAO,KAAKA,QAAO,KAAK;AAAA,UAC1B;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAEA,YAAM,SAAS,OAAO,QAAQ,KAAK,OAAO,aAAa;AACvD,aAAO,OAAO;AAAA,IAChB;AAEA,YAAI,0BAAW,MAAM,GAAG;AACtB,UAAI,UAAU;AACZ,cAAM,SAAS,oBAAI,IAAI;AACvB,mBAAW,YAAY,KAAK,kBAAkB;AAC5C,kBAAI,0BAAW,SAAS,MAAM,KAAK,SAAS,OAAO,SAAS;AAC1D,mBAAO,IAAI,SAAS,OAAO,KAAK;AAAA,UAClC;AAAA,QACF;AACA,eAAO,MAAM,KAAK,MAAM;AAAA,MAC1B,OAAO;AACL,eAAO,OAAO;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,OAAO,KAAK,IAAI;AAAA,EACzB;AAAA,EAEA,IAAI,OAAoC;AACtC,UAAM,EAAE,QAAQ,SAAS,IAAI;AAE7B,YAAI,wBAAS,MAAM,GAAG;AACpB,iBAAW,UAAU,OAAO,SAAS;AACnC,eAAO,WACL,gBAAY,sBAAQ,KAAK,IAAI,MAAM,SAAS,OAAO,KAAK,IAAI,OAAO,UAAU;AAAA,MACjF;AACA;AAAA,IACF;AAEA,YAAI,uBAAQ,MAAM,GAAG;AACnB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK;AACH,iBAAO,UAAU,OAAO,UAAU;AAClC;AAAA,QACF,KAAK;AACH,iBAAO,UACL,gBAAY,sBAAQ,KAAK,IAAI,MAAM,SAAS,OAAO,KAAK,IAAI,QAAQ,KAAK;AAC3E;AAAA,MACJ;AAAA,IACF;AAEA,WAAO,KAAK,IAAI,IAAI;AAAA,EACtB;AAAA,EAEA,UAAU;AACR,SAAK,iBAAiB,IAAI,IAAI;AAAA,EAChC;AAAA,EAEA,YAAY;AACV,SAAK,iBAAiB,OAAO,IAAI;AAAA,EACnC;AACF;",
6
- "names": ["import_utils", "option"]
7
- }
@@ -1,49 +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/atoms/Data/DataComputed.ts
20
- var DataComputed_exports = {};
21
- __export(DataComputed_exports, {
22
- DataComputed: () => DataComputed
23
- });
24
- module.exports = __toCommonJS(DataComputed_exports);
25
- var import_DataBind = require("./DataBind.cjs");
26
- var import_utils = require("./utils.cjs");
27
- var DataComputed = class extends import_DataBind.DataBind {
28
- static config = {
29
- name: "DataComputed",
30
- options: {
31
- compute: String
32
- }
33
- };
34
- get compute() {
35
- const { name, compute } = this.$options;
36
- return (0, import_utils.getCallback)(name, `return ${compute};`);
37
- }
38
- set(value) {
39
- let newValue = value;
40
- try {
41
- newValue = this.compute(value, this.target);
42
- } catch (error) {
43
- console.error("Failed", error);
44
- }
45
- super.set(newValue);
46
- }
47
- };
48
- if (module.exports.default) module.exports = module.exports.default;
49
- //# sourceMappingURL=DataComputed.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Data/DataComputed.ts"],
4
- "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { isDefined } from '@studiometa/js-toolkit/utils';\nimport { DataBind } from './DataBind.js';\nimport type { DataBindProps } from './DataBind.js';\nimport { getCallback } from './utils.js';\n\nexport interface DataComputedProps extends DataBindProps {\n $options: {\n compute: string;\n } & DataBindProps['$options'];\n}\n\nconst callbacks = new Map<string, Function>();\n\nexport class DataComputed<T extends BaseProps = BaseProps> extends DataBind<DataComputedProps & T> {\n static config: BaseConfig = {\n name: 'DataComputed',\n options: {\n compute: String,\n },\n };\n\n get compute() {\n const { name, compute } = this.$options;\n return getCallback(name, `return ${compute};`);\n }\n\n set(value: boolean | string | string[]) {\n let newValue = value;\n\n try {\n newValue = this.compute(value, this.target);\n } catch (error) {\n // @todo better handling of errors?\n console.error('Failed', error);\n }\n\n super.set(newValue);\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAAyB;AAEzB,mBAA4B;AAUrB,IAAM,eAAN,cAA4D,yBAAgC;AAAA,EACjG,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,IAAI,UAAU;AACZ,UAAM,EAAE,MAAM,QAAQ,IAAI,KAAK;AAC/B,eAAO,0BAAY,MAAM,UAAU,OAAO,GAAG;AAAA,EAC/C;AAAA,EAEA,IAAI,OAAoC;AACtC,QAAI,WAAW;AAEf,QAAI;AACF,iBAAW,KAAK,QAAQ,OAAO,KAAK,MAAM;AAAA,IAC5C,SAAS,OAAO;AAEd,cAAQ,MAAM,UAAU,KAAK;AAAA,IAC/B;AAEA,UAAM,IAAI,QAAQ;AAAA,EACpB;AACF;",
6
- "names": []
7
- }
@@ -1,47 +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/atoms/Data/DataEffect.ts
20
- var DataEffect_exports = {};
21
- __export(DataEffect_exports, {
22
- DataEffect: () => DataEffect
23
- });
24
- module.exports = __toCommonJS(DataEffect_exports);
25
- var import_DataBind = require("./DataBind.cjs");
26
- var import_utils = require("./utils.cjs");
27
- var DataEffect = class extends import_DataBind.DataBind {
28
- static config = {
29
- name: "DataEffect",
30
- options: {
31
- effect: String
32
- }
33
- };
34
- get effect() {
35
- const { name, effect } = this.$options;
36
- return (0, import_utils.getCallback)(name, effect);
37
- }
38
- set(value) {
39
- try {
40
- this.effect(value, this.target);
41
- } catch (error) {
42
- console.error("Failed", error);
43
- }
44
- }
45
- };
46
- if (module.exports.default) module.exports = module.exports.default;
47
- //# sourceMappingURL=DataEffect.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Data/DataEffect.ts"],
4
- "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { isDefined } from '@studiometa/js-toolkit/utils';\nimport { DataBind } from './DataBind.js';\nimport type { DataBindProps } from './DataBind.js';\nimport { getCallback } from './utils.js';\n\nexport interface DataEffectProps extends DataBindProps {\n $options: {\n effect: string;\n } & DataBindProps['$options'];\n}\n\nexport class DataEffect<T extends BaseProps = BaseProps> extends DataBind<DataEffectProps & T> {\n static config: BaseConfig = {\n name: 'DataEffect',\n options: {\n effect: String,\n },\n };\n\n get effect() {\n const { name, effect } = this.$options;\n return getCallback(name, effect);\n }\n\n set(value: boolean | string | string[]) {\n try {\n this.effect(value, this.target);\n } catch (error) {\n // @todo better handling of errors?\n console.error('Failed', error);\n }\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAAyB;AAEzB,mBAA4B;AAQrB,IAAM,aAAN,cAA0D,yBAA8B;AAAA,EAC7F,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,SAAS;AACX,UAAM,EAAE,MAAM,OAAO,IAAI,KAAK;AAC9B,eAAO,0BAAY,MAAM,MAAM;AAAA,EACjC;AAAA,EAEA,IAAI,OAAoC;AACtC,QAAI;AACF,WAAK,OAAO,OAAO,KAAK,MAAM;AAAA,IAChC,SAAS,OAAO;AAEd,cAAQ,MAAM,UAAU,KAAK;AAAA,IAC/B;AAAA,EACF;AACF;",
6
- "names": []
7
- }
@@ -1,48 +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/atoms/Data/DataModel.ts
20
- var DataModel_exports = {};
21
- __export(DataModel_exports, {
22
- DataModel: () => DataModel
23
- });
24
- module.exports = __toCommonJS(DataModel_exports);
25
- var import_DataBind = require("./DataBind.cjs");
26
- var import_utils = require("./utils.cjs");
27
- var DataModel = class extends import_DataBind.DataBind {
28
- static config = {
29
- name: "DataModel"
30
- };
31
- dispatch() {
32
- const { target, multiple } = this;
33
- let value = this.get();
34
- if (multiple && (0, import_utils.isCheckbox)(target) && !target.checked) {
35
- const set = new Set(value);
36
- set.delete(target.value);
37
- value = Array.from(set);
38
- }
39
- for (const instance of this.relatedInstances) {
40
- instance.set(value);
41
- }
42
- }
43
- onInput() {
44
- this.dispatch();
45
- }
46
- };
47
- if (module.exports.default) module.exports = module.exports.default;
48
- //# sourceMappingURL=DataModel.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Data/DataModel.ts"],
4
- "sourcesContent": ["import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { DataBind } from './DataBind.js';\nimport type { DataBindProps } from './DataBind.js';\nimport { isCheckbox } from './utils.js';\n\nexport interface DataModelProps extends DataBindProps {}\n\nexport class DataModel<T extends BaseProps = BaseProps> extends DataBind<DataModelProps & T> {\n static config: BaseConfig = {\n name: 'DataModel',\n };\n\n dispatch() {\n const { target, multiple } = this;\n let value = this.get();\n\n if (multiple && isCheckbox(target) && !target.checked) {\n const set = new Set(value);\n set.delete(target.value);\n value = Array.from(set);\n }\n\n for (const instance of this.relatedInstances) {\n instance.set(value);\n }\n }\n\n onInput() {\n this.dispatch();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAyB;AAEzB,mBAA2B;AAIpB,IAAM,YAAN,cAAyD,yBAA6B;AAAA,EAC3F,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AAAA,EAEA,WAAW;AACT,UAAM,EAAE,QAAQ,SAAS,IAAI;AAC7B,QAAI,QAAQ,KAAK,IAAI;AAErB,QAAI,gBAAY,yBAAW,MAAM,KAAK,CAAC,OAAO,SAAS;AACrD,YAAM,MAAM,IAAI,IAAI,KAAK;AACzB,UAAI,OAAO,OAAO,KAAK;AACvB,cAAQ,MAAM,KAAK,GAAG;AAAA,IACxB;AAEA,eAAW,YAAY,KAAK,kBAAkB;AAC5C,eAAS,IAAI,KAAK;AAAA,IACpB;AAAA,EACF;AAAA,EAEA,UAAU;AACR,SAAK,SAAS;AAAA,EAChB;AACF;",
6
- "names": []
7
- }
@@ -1,24 +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/atoms/Data/index.ts
17
- var Data_exports = {};
18
- module.exports = __toCommonJS(Data_exports);
19
- __reExport(Data_exports, require("./DataBind.cjs"), module.exports);
20
- __reExport(Data_exports, require("./DataComputed.cjs"), module.exports);
21
- __reExport(Data_exports, require("./DataEffect.cjs"), module.exports);
22
- __reExport(Data_exports, require("./DataModel.cjs"), module.exports);
23
- if (module.exports.default) module.exports = module.exports.default;
24
- //# sourceMappingURL=index.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Data/index.ts"],
4
- "sourcesContent": ["export * from './DataBind.js';\nexport * from './DataComputed.js';\nexport * from './DataEffect.js';\nexport * from './DataModel.js';\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,yBAAc,2BAAd;AACA,yBAAc,+BADd;AAEA,yBAAc,6BAFd;AAGA,yBAAc,4BAHd;",
6
- "names": []
7
- }
@@ -1,46 +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/atoms/Data/utils.ts
20
- var utils_exports = {};
21
- __export(utils_exports, {
22
- getCallback: () => getCallback,
23
- isCheckbox: () => isCheckbox,
24
- isInput: () => isInput,
25
- isSelect: () => isSelect
26
- });
27
- module.exports = __toCommonJS(utils_exports);
28
- function isInput(el) {
29
- return el instanceof HTMLInputElement;
30
- }
31
- function isCheckbox(el) {
32
- return isInput(el) && el.type === "checkbox";
33
- }
34
- function isSelect(el) {
35
- return el instanceof HTMLSelectElement;
36
- }
37
- var callbacks = /* @__PURE__ */ new Map();
38
- function getCallback(name, code) {
39
- const key = code + name;
40
- if (!callbacks.has(key)) {
41
- callbacks.set(key, new Function("value", "target", code));
42
- }
43
- return callbacks.get(key);
44
- }
45
- if (module.exports.default) module.exports = module.exports.default;
46
- //# sourceMappingURL=utils.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Data/utils.ts"],
4
- "sourcesContent": ["export function isInput(el: Element): el is HTMLInputElement {\n return el instanceof HTMLInputElement;\n}\n\nexport function isCheckbox(el: Element): el is HTMLInputElement {\n return isInput(el) && el.type === 'checkbox';\n}\n\nexport function isSelect(el: Element): el is HTMLSelectElement {\n return el instanceof HTMLSelectElement;\n}\n\nconst callbacks = new Map<string, Function>();\n\nexport function getCallback(name: string, code: string): Function {\n const key = code + name;\n\n if (!callbacks.has(key)) {\n callbacks.set(key, new Function('value', 'target', code));\n }\n\n return callbacks.get(key);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,SAAS,QAAQ,IAAqC;AAC3D,SAAO,cAAc;AACvB;AAEO,SAAS,WAAW,IAAqC;AAC9D,SAAO,QAAQ,EAAE,KAAK,GAAG,SAAS;AACpC;AAEO,SAAS,SAAS,IAAsC;AAC7D,SAAO,cAAc;AACvB;AAEA,IAAM,YAAY,oBAAI,IAAsB;AAErC,SAAS,YAAY,MAAc,MAAwB;AAChE,QAAM,MAAM,OAAO;AAEnB,MAAI,CAAC,UAAU,IAAI,GAAG,GAAG;AACvB,cAAU,IAAI,KAAK,IAAI,SAAS,SAAS,UAAU,IAAI,CAAC;AAAA,EAC1D;AAEA,SAAO,UAAU,IAAI,GAAG;AAC1B;",
6
- "names": []
7
- }
@@ -1,105 +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/atoms/Figure/Figure.ts
20
- var Figure_exports = {};
21
- __export(Figure_exports, {
22
- Figure: () => Figure,
23
- loadImage: () => loadImage
24
- });
25
- module.exports = __toCommonJS(Figure_exports);
26
- var import_js_toolkit = require("@studiometa/js-toolkit");
27
- var import_primitives = require("../../primitives/index.cjs");
28
- function loadImage(src) {
29
- return new Promise((resolve) => {
30
- const img = new Image();
31
- img.addEventListener("load", () => resolve(img));
32
- img.src = src;
33
- });
34
- }
35
- var Figure = class extends (0, import_js_toolkit.withMountWhenInView)(
36
- import_primitives.Transition,
37
- {
38
- threshold: [0, 1]
39
- }
40
- ) {
41
- /**
42
- * Config.
43
- */
44
- static config = {
45
- ...import_primitives.Transition.config,
46
- name: "Figure",
47
- emits: ["load"],
48
- refs: ["img"],
49
- options: {
50
- ...import_primitives.Transition.config.options,
51
- lazy: Boolean
52
- }
53
- };
54
- /**
55
- * Get the transition target.
56
- */
57
- get target() {
58
- return this.$refs.img;
59
- }
60
- /**
61
- * Get the image source.
62
- */
63
- get src() {
64
- return this.$refs.img.src;
65
- }
66
- /**
67
- * Set the image source.
68
- */
69
- set src(value) {
70
- this.$refs.img.src = value;
71
- }
72
- /**
73
- * Get the original source.
74
- */
75
- get original() {
76
- return this.$refs.img.dataset.src;
77
- }
78
- /**
79
- * Load on mount.
80
- */
81
- async mounted() {
82
- const { img } = this.$refs;
83
- if (!img) {
84
- throw new Error("[Figure] The `img` ref is required.");
85
- }
86
- if (!(img instanceof HTMLImageElement)) {
87
- throw new Error("[Figure] The `img` ref must be an `<img>` element.");
88
- }
89
- const src = this.original;
90
- if (this.$options.lazy && src && src !== this.src) {
91
- await loadImage(src);
92
- this.src = src;
93
- this.enter();
94
- this.$emit("load");
95
- }
96
- }
97
- /**
98
- * Terminate the component on load.
99
- */
100
- onLoad() {
101
- this.$terminate();
102
- }
103
- };
104
- if (module.exports.default) module.exports = module.exports.default;
105
- //# sourceMappingURL=Figure.cjs.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../../packages/ui/atoms/Figure/Figure.ts"],
4
- "sourcesContent": ["import { withMountWhenInView } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { Transition } from '../../primitives/index.js';\n\nexport interface FigureProps extends BaseProps {\n $refs: {\n img: HTMLImageElement;\n };\n $options: {\n lazy: boolean;\n };\n}\n\n/**\n * Load the given image.\n */\nexport function loadImage(src: string): Promise<HTMLImageElement> {\n return new Promise((resolve) => {\n const img = new Image();\n img.addEventListener('load', () => resolve(img));\n img.src = src;\n });\n}\n\n/**\n * Figure class.\n */\nexport class Figure<T extends BaseProps = BaseProps> extends withMountWhenInView<Transition>(\n Transition,\n {\n threshold: [0, 1],\n },\n)<T & FigureProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n ...Transition.config,\n name: 'Figure',\n emits: ['load'],\n refs: ['img'],\n options: {\n ...Transition.config.options,\n lazy: Boolean,\n },\n };\n\n /**\n * Get the transition target.\n */\n get target() {\n return this.$refs.img;\n }\n\n /**\n * Get the image source.\n */\n get src() {\n return this.$refs.img.src;\n }\n\n /**\n * Set the image source.\n */\n set src(value: string) {\n this.$refs.img.src = value;\n }\n\n /**\n * Get the original source.\n */\n get original() {\n return this.$refs.img.dataset.src;\n }\n\n /**\n * Load on mount.\n */\n async mounted() {\n const { img } = this.$refs;\n\n if (!img) {\n throw new Error('[Figure] The `img` ref is required.');\n }\n\n if (!(img instanceof HTMLImageElement)) {\n throw new Error('[Figure] The `img` ref must be an `<img>` element.');\n }\n\n const src = this.original;\n\n if (this.$options.lazy && src && src !== this.src) {\n await loadImage(src);\n this.src = src;\n this.enter();\n this.$emit('load');\n }\n }\n\n /**\n * Terminate the component on load.\n */\n onLoad() {\n this.$terminate();\n }\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAoC;AAEpC,wBAA2B;AAcpB,SAAS,UAAU,KAAwC;AAChE,SAAO,IAAI,QAAQ,CAAC,YAAY;AAC9B,UAAM,MAAM,IAAI,MAAM;AACtB,QAAI,iBAAiB,QAAQ,MAAM,QAAQ,GAAG,CAAC;AAC/C,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;AAKO,IAAM,SAAN,kBAAsD;AAAA,EAC3D;AAAA,EACA;AAAA,IACE,WAAW,CAAC,GAAG,CAAC;AAAA,EAClB;AACF,EAAmB;AAAA;AAAA;AAAA;AAAA,EAIjB,OAAO,SAAqB;AAAA,IAC1B,GAAG,6BAAW;AAAA,IACd,MAAM;AAAA,IACN,OAAO,CAAC,MAAM;AAAA,IACd,MAAM,CAAC,KAAK;AAAA,IACZ,SAAS;AAAA,MACP,GAAG,6BAAW,OAAO;AAAA,MACrB,MAAM;AAAA,IACR;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,SAAS;AACX,WAAO,KAAK,MAAM;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAM;AACR,WAAO,KAAK,MAAM,IAAI;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,IAAI,OAAe;AACrB,SAAK,MAAM,IAAI,MAAM;AAAA,EACvB;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACb,WAAO,KAAK,MAAM,IAAI,QAAQ;AAAA,EAChC;AAAA;AAAA;AAAA;AAAA,EAKA,MAAM,UAAU;AACd,UAAM,EAAE,IAAI,IAAI,KAAK;AAErB,QAAI,CAAC,KAAK;AACR,YAAM,IAAI,MAAM,qCAAqC;AAAA,IACvD;AAEA,QAAI,EAAE,eAAe,mBAAmB;AACtC,YAAM,IAAI,MAAM,oDAAoD;AAAA,IACtE;AAEA,UAAM,MAAM,KAAK;AAEjB,QAAI,KAAK,SAAS,QAAQ,OAAO,QAAQ,KAAK,KAAK;AACjD,YAAM,UAAU,GAAG;AACnB,WAAK,MAAM;AACX,WAAK,MAAM;AACX,WAAK,MAAM,MAAM;AAAA,IACnB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,SAAS;AACP,SAAK,WAAW;AAAA,EAClB;AACF;",
6
- "names": []
7
- }
@@ -1,123 +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/atoms/Figure/FigureTwicpics.ts
20
- var FigureTwicpics_exports = {};
21
- __export(FigureTwicpics_exports, {
22
- FigureTwicpics: () => FigureTwicpics
23
- });
24
- module.exports = __toCommonJS(FigureTwicpics_exports);
25
- var import_utils = require("@studiometa/js-toolkit/utils");
26
- var import_Figure = require("./Figure.cjs");
27
- function normalizeSize(that, prop) {
28
- const { step } = that.$options;
29
- return Math.ceil(that.$refs.img[prop] / step) * step;
30
- }
31
- var isBot = /bot|crawl|slurp|spider/i.test(navigator.userAgent);
32
- var FigureTwicpics = class extends import_Figure.Figure {
33
- /**
34
- * Config.
35
- */
36
- static config = {
37
- ...import_Figure.Figure.config,
38
- name: "FigureTwicpics",
39
- options: {
40
- ...import_Figure.Figure.config.options,
41
- transform: String,
42
- domain: String,
43
- path: String,
44
- disable: Boolean,
45
- step: {
46
- type: Number,
47
- default: 50
48
- },
49
- mode: {
50
- type: String,
51
- default: "cover"
52
- },
53
- dpr: {
54
- type: Boolean,
55
- default: true
56
- }
57
- }
58
- };
59
- /**
60
- * Get the Twicpics path.
61
- */
62
- get path() {
63
- return (0, import_utils.withoutTrailingSlash)((0, import_utils.withoutLeadingSlash)(this.$options.path));
64
- }
65
- /**
66
- * Get the Twicpics domain.
67
- */
68
- get domain() {
69
- const url = new URL(this.$refs.img.dataset.src);
70
- return url.host;
71
- }
72
- /**
73
- * Get formatted original source.
74
- * If `disable` option is `true` returns the original src.
75
- */
76
- get original() {
77
- return this.$options.disable ? super.original : this.formatSrc(super.original);
78
- }
79
- /**
80
- * Get the current device pixel ratio
81
- * Returns 1 if user agent is considered as a bot.
82
- * Returns 1 if disabled by the `data-option-no-dpr` attribute.
83
- */
84
- get devicePixelRatio() {
85
- if (!this.$options.dpr || isBot) {
86
- return 1;
87
- }
88
- return window.devicePixelRatio;
89
- }
90
- /**
91
- * Format the source for Twicpics.
92
- */
93
- formatSrc(src) {
94
- const url = new URL(src, "https://localhost");
95
- url.host = this.domain;
96
- url.port = "";
97
- if (this.path && !url.pathname.startsWith((0, import_utils.withLeadingSlash)(this.path))) {
98
- url.pathname = `/${this.path}${url.pathname}`;
99
- }
100
- const width = normalizeSize(this, "offsetWidth") * this.devicePixelRatio;
101
- const height = normalizeSize(this, "offsetHeight") * this.devicePixelRatio;
102
- url.searchParams.set(
103
- "twic",
104
- ["v1", this.$options.transform, `${this.$options.mode}=${width}x${height}`].filter(Boolean).join("/")
105
- );
106
- url.search = decodeURIComponent(url.search);
107
- return url.toString();
108
- }
109
- /**
110
- * Reassign the source from the original on resize.
111
- */
112
- async resized() {
113
- const { src } = await (0, import_Figure.loadImage)(this.original);
114
- this.src = src;
115
- }
116
- /**
117
- * Do not terminate on image load as we need to set the src on resize.
118
- */
119
- onLoad() {
120
- }
121
- };
122
- if (module.exports.default) module.exports = module.exports.default;
123
- //# sourceMappingURL=FigureTwicpics.cjs.map