@topvisor/ui 0.0.16 → 0.0.17

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 (72) hide show
  1. package/.chunks/core-0b2c7817.es.js +152 -0
  2. package/.chunks/{core-c3afa109.es.js.map → core-0b2c7817.es.js.map} +1 -1
  3. package/.chunks/core-51f7b679.amd.js +151 -0
  4. package/.chunks/{core-97b070be.amd.js.map → core-51f7b679.amd.js.map} +1 -1
  5. package/.chunks/forms-245e3bc0.es.js +565 -0
  6. package/.chunks/forms-245e3bc0.es.js.map +1 -0
  7. package/.chunks/forms-f7b7b259.amd.js +568 -0
  8. package/.chunks/forms-f7b7b259.amd.js.map +1 -0
  9. package/.chunks/popup-8f650530.amd.js +728 -0
  10. package/.chunks/{popup-6d1d8097.amd.js.map → popup-8f650530.amd.js.map} +1 -1
  11. package/.chunks/popup-d240ed19.es.js +731 -0
  12. package/.chunks/{popup-95d27020.es.js.map → popup-d240ed19.es.js.map} +1 -1
  13. package/common/common.amd.js +21 -1
  14. package/common/common.amd.js.map +1 -1
  15. package/common/common.js +11 -8
  16. package/common/common.js.map +1 -1
  17. package/core/core.amd.js +4 -1
  18. package/core/core.amd.js.map +1 -1
  19. package/core/core.js +2 -2
  20. package/core.css +648 -1
  21. package/dark.css +136 -1
  22. package/editArea/editArea.amd.js +125 -2
  23. package/editArea/editArea.amd.js.map +1 -1
  24. package/editArea/editArea.js +88 -76
  25. package/editArea/editArea.js.map +1 -1
  26. package/editArea.css +61 -1
  27. package/forms/forms.amd.js +12 -1
  28. package/forms/forms.amd.js.map +1 -1
  29. package/forms/forms.js +9 -9
  30. package/forms/helpers.amd.js +5 -1
  31. package/forms/helpers.amd.js.map +1 -1
  32. package/forms/helpers.js +2 -2
  33. package/forms.css +505 -1
  34. package/icomoon/demo.html +15 -1
  35. package/icomoon/fonts/Topvisor-2.svg +1 -0
  36. package/icomoon/fonts/Topvisor-2.ttf +0 -0
  37. package/icomoon/fonts/Topvisor-2.woff +0 -0
  38. package/icomoon/selection.json +1 -1
  39. package/icomoon/style.css +6 -3
  40. package/light.css +136 -1
  41. package/package.json +1 -1
  42. package/popup/popup.amd.js +197 -2
  43. package/popup/popup.amd.js.map +1 -1
  44. package/popup/popup.js +157 -105
  45. package/popup/popup.js.map +1 -1
  46. package/popup/worker.amd.js +233 -1
  47. package/popup/worker.amd.js.map +1 -1
  48. package/popup/worker.js +146 -67
  49. package/popup/worker.js.map +1 -1
  50. package/popup.css +19 -1
  51. package/tabs/tabs.amd.js +123 -0
  52. package/tabs/tabs.amd.js.map +1 -0
  53. package/tabs/tabs.js +120 -0
  54. package/tabs/tabs.js.map +1 -0
  55. package/tabs.css +60 -0
  56. package/utils/device.amd.js +41 -1
  57. package/utils/device.amd.js.map +1 -1
  58. package/utils/device.js +13 -6
  59. package/utils/device.js.map +1 -1
  60. package/utils/dom.amd.js +94 -1
  61. package/utils/dom.amd.js.map +1 -1
  62. package/utils/dom.js +77 -47
  63. package/utils/dom.js.map +1 -1
  64. package/.chunks/core-97b070be.amd.js +0 -2
  65. package/.chunks/core-c3afa109.es.js +0 -121
  66. package/.chunks/forms-6a6b0b80.es.js +0 -436
  67. package/.chunks/forms-6a6b0b80.es.js.map +0 -1
  68. package/.chunks/forms-7119886a.amd.js +0 -3
  69. package/.chunks/forms-7119886a.amd.js.map +0 -1
  70. package/.chunks/popup-6d1d8097.amd.js +0 -342
  71. package/.chunks/popup-95d27020.es.js +0 -720
  72. package/icomoon/demo-files/Read Me.txt +0 -7
package/tabs/tabs.js ADDED
@@ -0,0 +1,120 @@
1
+ import { defineComponent, openBlock, createElementBlock, renderSlot, createCommentVNode, createElementVNode, normalizeClass, Fragment } from "vue";
2
+ import { _ as _export_sfc } from "../.chunks/forms-245e3bc0.es.js";
3
+ const _hoisted_1$2 = {
4
+ class: /* @__PURE__ */ normalizeClass({
5
+ "top-tabs": true
6
+ })
7
+ };
8
+ const _hoisted_2$1 = {
9
+ key: 0,
10
+ class: "top-tabs_header"
11
+ };
12
+ const _hoisted_3 = { class: "top-tabs_contents" };
13
+ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
14
+ __name: "tabs",
15
+ props: {
16
+ id: {}
17
+ },
18
+ setup(__props) {
19
+ return (_ctx, _cache) => {
20
+ return openBlock(), createElementBlock("div", _hoisted_1$2, [
21
+ renderSlot(_ctx.$slots, "buttons"),
22
+ _ctx.$slots.header ? (openBlock(), createElementBlock("div", _hoisted_2$1, [
23
+ renderSlot(_ctx.$slots, "header")
24
+ ])) : createCommentVNode("", true),
25
+ createElementVNode("div", _hoisted_3, [
26
+ renderSlot(_ctx.$slots, "contents")
27
+ ])
28
+ ]);
29
+ };
30
+ }
31
+ });
32
+ const style0$2 = {
33
+ "top-tabs": "top-tabs",
34
+ "top-tabs_header": "top-tabs_header",
35
+ "top-tabs_contents": "top-tabs_contents",
36
+ "top-tabs_tabInput": "top-tabs_tabInput",
37
+ "top-tabs_content": "top-tabs_content"
38
+ };
39
+ const cssModules$2 = {
40
+ "$style": style0$2
41
+ };
42
+ const tabs = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
43
+ const _hoisted_1$1 = ["id", "name", "value", "checked", "disabled"];
44
+ const _hoisted_2 = ["for"];
45
+ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
46
+ __name: "tab",
47
+ props: {
48
+ tabsId: {},
49
+ name: {},
50
+ title: {},
51
+ active: { type: Boolean },
52
+ disabled: { type: Boolean }
53
+ },
54
+ setup(__props) {
55
+ return (_ctx, _cache) => {
56
+ return openBlock(), createElementBlock(Fragment, null, [
57
+ createElementVNode("input", {
58
+ type: "radio",
59
+ class: "top-tabs_tabInput top-unvisible",
60
+ id: _ctx.tabsId + _ctx.name,
61
+ name: _ctx.tabsId,
62
+ value: _ctx.name,
63
+ checked: _ctx.active,
64
+ disabled: _ctx.disabled
65
+ }, null, 8, _hoisted_1$1),
66
+ createElementVNode("label", {
67
+ class: normalizeClass({
68
+ "top-tabs_tabLabel": true,
69
+ "top-forms-focusable": true,
70
+ "top-disabled": _ctx.disabled
71
+ }),
72
+ for: _ctx.tabsId + _ctx.name
73
+ }, [
74
+ renderSlot(_ctx.$slots, "default")
75
+ ], 10, _hoisted_2)
76
+ ], 64);
77
+ };
78
+ }
79
+ });
80
+ const style0$1 = {
81
+ "top-tabs_tabLabel": "top-tabs_tabLabel",
82
+ "top-tabs_tabInput": "top-tabs_tabInput",
83
+ "top-disabled": "top-disabled"
84
+ };
85
+ const cssModules$1 = {
86
+ "$style": style0$1
87
+ };
88
+ const tab = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1]]);
89
+ const _hoisted_1 = ["data-tabs-name"];
90
+ const _sfc_main = /* @__PURE__ */ defineComponent({
91
+ __name: "content",
92
+ props: {
93
+ name: {}
94
+ },
95
+ setup(__props) {
96
+ return (_ctx, _cache) => {
97
+ return openBlock(), createElementBlock("div", {
98
+ class: normalizeClass({
99
+ "top-tabs_content": true
100
+ }),
101
+ "data-tabs-name": _ctx.name
102
+ }, [
103
+ renderSlot(_ctx.$slots, "default")
104
+ ], 8, _hoisted_1);
105
+ };
106
+ }
107
+ });
108
+ const style0 = {
109
+ "top-tabs_content": "top-tabs_content"
110
+ };
111
+ const cssModules = {
112
+ "$style": style0
113
+ };
114
+ const content = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
115
+ export {
116
+ tabs as Tabs,
117
+ content as TabsContent,
118
+ tab as TabsTab
119
+ };
120
+ //# sourceMappingURL=tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/tabs.css ADDED
@@ -0,0 +1,60 @@
1
+
2
+ .top-tabs {
3
+ background: var(--content-background-color);
4
+ border-radius: 8px;
5
+ border: 1px solid var(--color-line-2-opacity);
6
+ padding: 0;
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ align-items: stretch;
10
+ }
11
+ .top-tabs_header {
12
+ padding: 6px;
13
+ margin-left: auto;
14
+ display: flex;
15
+ align-items: center;
16
+ gap: 8px;
17
+ flex-wrap: wrap;
18
+ }
19
+
20
+ /* Содержимое вкладок */
21
+ .top-tabs_contents {
22
+ border-top: 1px solid var(--color-line-2-opacity);
23
+ width: 100%;
24
+ margin-top: -1px;
25
+ }
26
+
27
+ /* Состояние открытости вкладок */
28
+ .top-tabs_tabInput:checked:nth-child(1) ~ .top-tabs_contents > .top-tabs_content:nth-child(1),
29
+ .top-tabs_tabInput:checked:nth-child(3) ~ .top-tabs_contents > .top-tabs_content:nth-child(2),
30
+ .top-tabs_tabInput:checked:nth-child(5) ~ .top-tabs_contents > .top-tabs_content:nth-child(3),
31
+ .top-tabs_tabInput:checked:nth-child(7) ~ .top-tabs_contents > .top-tabs_content:nth-child(4),
32
+ .top-tabs_tabInput:checked:nth-child(9) ~ .top-tabs_contents > .top-tabs_content:nth-child(5),
33
+ .top-tabs_tabInput:checked:nth-child(11) ~ .top-tabs_contents > .top-tabs_content:nth-child(6) {
34
+ display: block;
35
+ }
36
+
37
+ .top-tabs_tabLabel {
38
+ cursor: pointer;
39
+ border-bottom: 2px solid transparent;
40
+ padding: 14px 20px;
41
+ position: relative;
42
+ display: flex;
43
+ align-items: center;
44
+ }
45
+ .top-tabs_tabLabel:hover {
46
+ border-color: var(--color-line-3-opacity);
47
+ }
48
+ .top-tabs_tabInput:checked + .top-tabs_tabLabel {
49
+ border-color: var(--color-primary);
50
+ color: var(--color-primary);
51
+ }
52
+ .top-tabs_tabLabel.top-disabled {
53
+ color: var(--color-text-3);
54
+ }
55
+
56
+ .top-tabs_content {
57
+ padding: 14px;
58
+ overflow: auto;
59
+ display: none;
60
+ }
@@ -1,2 +1,42 @@
1
- define(function(){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;class e{static isRetina(){return"devicePixelRatio"in window&&window.devicePixelRatio>1}static isMobile(){return!!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i)}static isApp(){return navigator.userAgent.indexOf("Topvisor_App")!=-1}static isMacOS(){return navigator.userAgent.indexOf("Mac OS X")!==-1}static isSafari(){const t=/Chrome|Android/.test(navigator.userAgent);let i=/Safari/.test(navigator.userAgent);return t&&i&&(i=!1),i}static getCommandKeyLabel(){return this.isMacOS()?"⌘":"Ctrl"}}return e});
1
+ define(function() {
2
+ "use strict"; if(typeof vue === "undefined") var vue = window.Vue;
3
+ class Device {
4
+ static isRetina() {
5
+ return "devicePixelRatio" in window && window.devicePixelRatio > 1;
6
+ }
7
+ // определить, является ли устройство мобильным
8
+ static isMobile() {
9
+ return !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);
10
+ }
11
+ // определить, открыт ли сайт в приложении
12
+ static isApp() {
13
+ return navigator.userAgent.indexOf("Topvisor_App") != -1;
14
+ }
15
+ // определить, является ли OS пользователя macOS
16
+ static isMacOS() {
17
+ return navigator.userAgent.indexOf("Mac OS X") !== -1;
18
+ }
19
+ // определить, является ли текущий браузер пользователя Safari
20
+ static isSafari() {
21
+ const isChrome = /Chrome|Android/.test(navigator.userAgent);
22
+ let isSafari = /Safari/.test(navigator.userAgent);
23
+ if (isChrome && isSafari) {
24
+ isSafari = false;
25
+ }
26
+ return isSafari;
27
+ }
28
+ /**
29
+ * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS
30
+ * @returns {'Ctrl'|'⌘'}
31
+ */
32
+ static getCommandKeyLabel() {
33
+ if (this.isMacOS()) {
34
+ return "⌘";
35
+ } else {
36
+ return "Ctrl";
37
+ }
38
+ }
39
+ }
40
+ return Device;
41
+ });
2
42
  //# sourceMappingURL=device.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.amd.js","sources":["../../src/core/utils/device.ts"],"sourcesContent":["class Device {\n\n\tstatic isRetina () {\n\t\treturn ('devicePixelRatio' in window && window.devicePixelRatio > 1);\n\t}\n\n\t// определить, является ли устройство мобильным\n\tstatic isMobile (): boolean {\n\t\treturn !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);\n\t}\n\n\t// определить, открыт ли сайт в приложении\n\tstatic isApp () {\n\t\treturn (navigator.userAgent.indexOf('Topvisor_App') != -1);\n\t}\n\n\t// определить, является ли OS пользователя macOS\n\tstatic isMacOS () {\n\t\treturn navigator.userAgent.indexOf('Mac OS X') !== -1;\n\t}\n\n\t// определить, является ли текущий браузер пользователя Safari\n\tstatic isSafari () {\n\t\tconst isChrome = /Chrome|Android/.test(navigator.userAgent);\n\n\t\tlet isSafari = /Safari/.test(navigator.userAgent);\n\t\tif (isChrome && isSafari) {\n\t\t\tisSafari = false;\n\t\t}\n\n\t\treturn isSafari;\n\t};\n\n\t/**\n\t * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS\n\t * @returns {'Ctrl'|'⌘'}\n\t */\n\tstatic getCommandKeyLabel (): 'Ctrl' | '⌘' {\n\t\tif (this.isMacOS()) {\n\t\t\treturn '⌘';\n\t\t} else {\n\t\t\treturn 'Ctrl';\n\t\t}\n\t}\n\n}\n\nexport default Device;\n"],"names":["Device","isChrome","isSafari"],"mappings":"+BAAA,MAAMA,CAAO,CAEZ,OAAO,UAAY,CACV,MAAA,qBAAsB,QAAU,OAAO,iBAAmB,CACnE,CAGA,OAAO,UAAqB,CAC3B,MAAO,CAAC,CAAC,UAAU,UAAU,MAAM,0DAA0D,CAC9F,CAGA,OAAO,OAAS,CACf,OAAQ,UAAU,UAAU,QAAQ,cAAc,GAAK,EACxD,CAGA,OAAO,SAAW,CACjB,OAAO,UAAU,UAAU,QAAQ,UAAU,IAAM,EACpD,CAGA,OAAO,UAAY,CAClB,MAAMC,EAAW,iBAAiB,KAAK,UAAU,SAAS,EAE1D,IAAIC,EAAW,SAAS,KAAK,UAAU,SAAS,EAChD,OAAID,GAAYC,IACJA,EAAA,IAGLA,CACR,CAMA,OAAO,oBAAoC,CACtC,OAAA,KAAK,UACD,IAEA,MAET,CAED"}
1
+ {"version":3,"file":"device.amd.js","sources":["../../src/core/utils/device.ts"],"sourcesContent":["class Device {\n\n\tstatic isRetina () {\n\t\treturn ('devicePixelRatio' in window && window.devicePixelRatio > 1);\n\t}\n\n\t// определить, является ли устройство мобильным\n\tstatic isMobile (): boolean {\n\t\treturn !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);\n\t}\n\n\t// определить, открыт ли сайт в приложении\n\tstatic isApp () {\n\t\treturn (navigator.userAgent.indexOf('Topvisor_App') != -1);\n\t}\n\n\t// определить, является ли OS пользователя macOS\n\tstatic isMacOS () {\n\t\treturn navigator.userAgent.indexOf('Mac OS X') !== -1;\n\t}\n\n\t// определить, является ли текущий браузер пользователя Safari\n\tstatic isSafari () {\n\t\tconst isChrome = /Chrome|Android/.test(navigator.userAgent);\n\n\t\tlet isSafari = /Safari/.test(navigator.userAgent);\n\t\tif (isChrome && isSafari) {\n\t\t\tisSafari = false;\n\t\t}\n\n\t\treturn isSafari;\n\t};\n\n\t/**\n\t * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS\n\t * @returns {'Ctrl'|'⌘'}\n\t */\n\tstatic getCommandKeyLabel (): 'Ctrl' | '⌘' {\n\t\tif (this.isMacOS()) {\n\t\t\treturn '⌘';\n\t\t} else {\n\t\t\treturn 'Ctrl';\n\t\t}\n\t}\n\n}\n\nexport default Device;\n"],"names":[],"mappings":";;EAAA,MAAM,OAAO;AAAA,IAEZ,OAAO,WAAY;AACV,aAAA,sBAAsB,UAAU,OAAO,mBAAmB;AAAA,IACnE;AAAA;AAAA,IAGA,OAAO,WAAqB;AAC3B,aAAO,CAAC,CAAC,UAAU,UAAU,MAAM,0DAA0D;AAAA,IAC9F;AAAA;AAAA,IAGA,OAAO,QAAS;AACf,aAAQ,UAAU,UAAU,QAAQ,cAAc,KAAK;AAAA,IACxD;AAAA;AAAA,IAGA,OAAO,UAAW;AACjB,aAAO,UAAU,UAAU,QAAQ,UAAU,MAAM;AAAA,IACpD;AAAA;AAAA,IAGA,OAAO,WAAY;AAClB,YAAM,WAAW,iBAAiB,KAAK,UAAU,SAAS;AAE1D,UAAI,WAAW,SAAS,KAAK,UAAU,SAAS;AAChD,UAAI,YAAY,UAAU;AACd,mBAAA;AAAA,MACZ;AAEO,aAAA;AAAA,IACR;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,OAAO,qBAAoC;AACtC,UAAA,KAAK,WAAW;AACZ,eAAA;AAAA,MAAA,OACD;AACC,eAAA;AAAA,MACR;AAAA,IACD;AAAA,EAED;;;"}
package/utils/device.js CHANGED
@@ -1,4 +1,4 @@
1
- class a {
1
+ class Device {
2
2
  static isRetina() {
3
3
  return "devicePixelRatio" in window && window.devicePixelRatio > 1;
4
4
  }
@@ -16,19 +16,26 @@ class a {
16
16
  }
17
17
  // определить, является ли текущий браузер пользователя Safari
18
18
  static isSafari() {
19
- const e = /Chrome|Android/.test(navigator.userAgent);
20
- let i = /Safari/.test(navigator.userAgent);
21
- return e && i && (i = !1), i;
19
+ const isChrome = /Chrome|Android/.test(navigator.userAgent);
20
+ let isSafari = /Safari/.test(navigator.userAgent);
21
+ if (isChrome && isSafari) {
22
+ isSafari = false;
23
+ }
24
+ return isSafari;
22
25
  }
23
26
  /**
24
27
  * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS
25
28
  * @returns {'Ctrl'|'⌘'}
26
29
  */
27
30
  static getCommandKeyLabel() {
28
- return this.isMacOS() ? "⌘" : "Ctrl";
31
+ if (this.isMacOS()) {
32
+ return "⌘";
33
+ } else {
34
+ return "Ctrl";
35
+ }
29
36
  }
30
37
  }
31
38
  export {
32
- a as default
39
+ Device as default
33
40
  };
34
41
  //# sourceMappingURL=device.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sources":["../../src/core/utils/device.ts"],"sourcesContent":["class Device {\n\n\tstatic isRetina () {\n\t\treturn ('devicePixelRatio' in window && window.devicePixelRatio > 1);\n\t}\n\n\t// определить, является ли устройство мобильным\n\tstatic isMobile (): boolean {\n\t\treturn !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);\n\t}\n\n\t// определить, открыт ли сайт в приложении\n\tstatic isApp () {\n\t\treturn (navigator.userAgent.indexOf('Topvisor_App') != -1);\n\t}\n\n\t// определить, является ли OS пользователя macOS\n\tstatic isMacOS () {\n\t\treturn navigator.userAgent.indexOf('Mac OS X') !== -1;\n\t}\n\n\t// определить, является ли текущий браузер пользователя Safari\n\tstatic isSafari () {\n\t\tconst isChrome = /Chrome|Android/.test(navigator.userAgent);\n\n\t\tlet isSafari = /Safari/.test(navigator.userAgent);\n\t\tif (isChrome && isSafari) {\n\t\t\tisSafari = false;\n\t\t}\n\n\t\treturn isSafari;\n\t};\n\n\t/**\n\t * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS\n\t * @returns {'Ctrl'|'⌘'}\n\t */\n\tstatic getCommandKeyLabel (): 'Ctrl' | '⌘' {\n\t\tif (this.isMacOS()) {\n\t\t\treturn '⌘';\n\t\t} else {\n\t\t\treturn 'Ctrl';\n\t\t}\n\t}\n\n}\n\nexport default Device;\n"],"names":["Device","isChrome","isSafari"],"mappings":"AAAA,MAAMA,EAAO;AAAA,EAEZ,OAAO,WAAY;AACV,WAAA,sBAAsB,UAAU,OAAO,mBAAmB;AAAA,EACnE;AAAA;AAAA,EAGA,OAAO,WAAqB;AAC3B,WAAO,CAAC,CAAC,UAAU,UAAU,MAAM,0DAA0D;AAAA,EAC9F;AAAA;AAAA,EAGA,OAAO,QAAS;AACf,WAAQ,UAAU,UAAU,QAAQ,cAAc,KAAK;AAAA,EACxD;AAAA;AAAA,EAGA,OAAO,UAAW;AACjB,WAAO,UAAU,UAAU,QAAQ,UAAU,MAAM;AAAA,EACpD;AAAA;AAAA,EAGA,OAAO,WAAY;AAClB,UAAMC,IAAW,iBAAiB,KAAK,UAAU,SAAS;AAE1D,QAAIC,IAAW,SAAS,KAAK,UAAU,SAAS;AAChD,WAAID,KAAYC,MACJA,IAAA,KAGLA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,qBAAoC;AACtC,WAAA,KAAK,YACD,MAEA;AAAA,EAET;AAED;"}
1
+ {"version":3,"file":"device.js","sources":["../../src/core/utils/device.ts"],"sourcesContent":["class Device {\n\n\tstatic isRetina () {\n\t\treturn ('devicePixelRatio' in window && window.devicePixelRatio > 1);\n\t}\n\n\t// определить, является ли устройство мобильным\n\tstatic isMobile (): boolean {\n\t\treturn !!navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|IEMobile|Opera Mini/i);\n\t}\n\n\t// определить, открыт ли сайт в приложении\n\tstatic isApp () {\n\t\treturn (navigator.userAgent.indexOf('Topvisor_App') != -1);\n\t}\n\n\t// определить, является ли OS пользователя macOS\n\tstatic isMacOS () {\n\t\treturn navigator.userAgent.indexOf('Mac OS X') !== -1;\n\t}\n\n\t// определить, является ли текущий браузер пользователя Safari\n\tstatic isSafari () {\n\t\tconst isChrome = /Chrome|Android/.test(navigator.userAgent);\n\n\t\tlet isSafari = /Safari/.test(navigator.userAgent);\n\t\tif (isChrome && isSafari) {\n\t\t\tisSafari = false;\n\t\t}\n\n\t\treturn isSafari;\n\t};\n\n\t/**\n\t * Вернуть текст для обозначения клавиши Ctrl / Command в зависимости от OS\n\t * @returns {'Ctrl'|'⌘'}\n\t */\n\tstatic getCommandKeyLabel (): 'Ctrl' | '⌘' {\n\t\tif (this.isMacOS()) {\n\t\t\treturn '⌘';\n\t\t} else {\n\t\t\treturn 'Ctrl';\n\t\t}\n\t}\n\n}\n\nexport default Device;\n"],"names":[],"mappings":"AAAA,MAAM,OAAO;AAAA,EAEZ,OAAO,WAAY;AACV,WAAA,sBAAsB,UAAU,OAAO,mBAAmB;AAAA,EACnE;AAAA;AAAA,EAGA,OAAO,WAAqB;AAC3B,WAAO,CAAC,CAAC,UAAU,UAAU,MAAM,0DAA0D;AAAA,EAC9F;AAAA;AAAA,EAGA,OAAO,QAAS;AACf,WAAQ,UAAU,UAAU,QAAQ,cAAc,KAAK;AAAA,EACxD;AAAA;AAAA,EAGA,OAAO,UAAW;AACjB,WAAO,UAAU,UAAU,QAAQ,UAAU,MAAM;AAAA,EACpD;AAAA;AAAA,EAGA,OAAO,WAAY;AAClB,UAAM,WAAW,iBAAiB,KAAK,UAAU,SAAS;AAE1D,QAAI,WAAW,SAAS,KAAK,UAAU,SAAS;AAChD,QAAI,YAAY,UAAU;AACd,iBAAA;AAAA,IACZ;AAEO,WAAA;AAAA,EACR;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,OAAO,qBAAoC;AACtC,QAAA,KAAK,WAAW;AACZ,aAAA;AAAA,IAAA,OACD;AACC,aAAA;AAAA,IACR;AAAA,EACD;AAED;"}
package/utils/dom.amd.js CHANGED
@@ -1,2 +1,95 @@
1
- define(function(){"use strict"; if(typeof vue === "undefined") var vue = window.Vue;function f(t,e,...n){const i=document.createElement(t);for(const r in e)r.indexOf("on")===0?i[r]=e[r]:i.setAttribute(r,e[r]);return n.forEach(r=>{typeof r=="string"?i.insertAdjacentHTML("beforeend",r):i.append(r)}),i}function o(t){if(!t)return!1;const e=t.getBoundingClientRect();return!!(e.width||e.height)}function c(t){const e=t.getBoundingClientRect();return{top:e.top+window.scrollY,left:e.left+window.scrollX}}function l(t,e){return window.getComputedStyle(t).getPropertyValue(e)}function s(t,e){const n=document.createElement(e);return t.after(n),n.append(t),n}function a(t,e){return u(t,e).find(o)||null}function d(t,e){return u(t,e).findLast(o)||null}function p(t,e){return u(t,e).filter(o)}function u(t,e){return t?[...t.querySelectorAll(e)]:[]}function g(t,e="common",n=void 0){if(t)return t.topData||(t.topData={}),n&&(t.topData[e]=n),n===null&&delete t.topData[e],t.topData[e]}function y(t){t&&delete t.topData}return{genEl:f,isVisible:o,offset:c,css:l,wrap:s,querySelectorVisible:a,querySelectorVisibleLast:d,querySelectorAllVisible:p,querySelectorAllArray:u,storage:g,storageClear:y}});
1
+ define(function() {
2
+ "use strict"; if(typeof vue === "undefined") var vue = window.Vue;
3
+ function genEl(tagName, attrs, ...elsChildrens) {
4
+ const el = document.createElement(tagName);
5
+ for (const name in attrs) {
6
+ if (name.indexOf("on") === 0) {
7
+ el[name] = attrs[name];
8
+ } else {
9
+ el.setAttribute(name, attrs[name]);
10
+ }
11
+ }
12
+ elsChildrens.forEach((elChildren) => {
13
+ if (typeof elChildren === "string") {
14
+ el.insertAdjacentHTML("beforeend", elChildren);
15
+ } else {
16
+ el.append(elChildren);
17
+ }
18
+ });
19
+ return el;
20
+ }
21
+ function isVisible(el) {
22
+ if (!el) {
23
+ return false;
24
+ }
25
+ const boundingClientRect = el.getBoundingClientRect();
26
+ return !!(boundingClientRect.width || boundingClientRect.height);
27
+ }
28
+ function offset(el) {
29
+ const boundingClientRect = el.getBoundingClientRect();
30
+ return {
31
+ top: boundingClientRect.top + window.scrollY,
32
+ left: boundingClientRect.left + window.scrollX
33
+ };
34
+ }
35
+ function css(el, property) {
36
+ return window.getComputedStyle(el).getPropertyValue(property);
37
+ }
38
+ function wrap(el, tagName) {
39
+ const elWrapper = document.createElement(tagName);
40
+ el.after(elWrapper);
41
+ elWrapper.append(el);
42
+ return elWrapper;
43
+ }
44
+ function querySelectorVisible(el, selectors) {
45
+ return querySelectorAllArray(el, selectors).find(isVisible) || null;
46
+ }
47
+ function querySelectorVisibleLast(el, selectors) {
48
+ return querySelectorAllArray(el, selectors).findLast(isVisible) || null;
49
+ }
50
+ function querySelectorAllVisible(el, selectors) {
51
+ return querySelectorAllArray(el, selectors).filter(isVisible);
52
+ }
53
+ function querySelectorAllArray(el, selectors) {
54
+ if (!el) {
55
+ return [];
56
+ }
57
+ return [...el.querySelectorAll(selectors)];
58
+ }
59
+ function storage(el, contextName = "common", contextData = void 0) {
60
+ if (!el) {
61
+ return;
62
+ }
63
+ if (!el.topData) {
64
+ el.topData = {};
65
+ }
66
+ if (contextData) {
67
+ el.topData[contextName] = contextData;
68
+ }
69
+ if (contextData === null) {
70
+ delete el.topData[contextName];
71
+ }
72
+ return el.topData[contextName];
73
+ }
74
+ function storageClear(el) {
75
+ if (!el) {
76
+ return;
77
+ }
78
+ delete el.topData;
79
+ }
80
+ const DOM = {
81
+ genEl,
82
+ isVisible,
83
+ offset,
84
+ css,
85
+ wrap,
86
+ querySelectorVisible,
87
+ querySelectorVisibleLast,
88
+ querySelectorAllVisible,
89
+ querySelectorAllArray,
90
+ storage,
91
+ storageClear
92
+ };
93
+ return DOM;
94
+ });
2
95
  //# sourceMappingURL=dom.amd.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dom.amd.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Функции для работы с работы с Document Object Model (DOM)\n */\n\n/**\n * Создать элемент\n * @param {string} tagName\n * @param {any} attrs - атрибуты\n * @param {Element[]} elsChildrens\n * @returns {Element} - созданный элемент\n */\nfunction genEl (tagName: string, attrs: any, ...elsChildrens: Element[]): Element {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param {?Element} el\n * @returns boolean - вернет true, если элемент считается видимым\n */\nfunction isVisible (el?: Element) {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param {Element} el\n * @returns {{top: number, left: number}} - координаты элемента относительно документа\n */\nfunction offset (el: Element): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n * @param {Element} el\n * @param {string} property - имя свойства\n * @return {string} - значение css стиля\n */\nfunction css (el: Element, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param {Element} el - элемент, который требуется обернуть\n * @param {string} tagName - имя тега элемента, в который треубется обернуть элемент\n * @returns {Element}\n */\nfunction wrap (el: Element, tagName: string): Element {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisible (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisibleLast (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]} - обратите внимание, возвращается не NodeList[], а Element[]\n */\nfunction querySelectorAllVisible (el: Element, selectors: string): Element[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]}\n */\nfunction querySelectorAllArray (el: Element, selectors: string): Element[] {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param {Element} el\n * @param {string} contextName - контекст, обычно используется имя компонента\n * @param {?object | null} contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns {?object} - вернет объект контекста или undefined, если данные контекста не найдены\n */\nfunction storage (\n\tel?: Element & { topData?: any },\n\tcontextName: string = 'common', contextData: object | null | undefined = undefined,\n): object | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nfunction storageClear (el?: Element & { topData?: any }) {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":["genEl","tagName","attrs","elsChildrens","el","name","elChildren","isVisible","boundingClientRect","offset","css","property","wrap","elWrapper","querySelectorVisible","selectors","querySelectorAllArray","querySelectorVisibleLast","querySelectorAllVisible","storage","contextName","contextData","storageClear"],"mappings":"+BAWA,SAASA,EAAOC,EAAiBC,KAAeC,EAAkC,CAC3E,MAAAC,EAAU,SAAS,cAAcH,CAAO,EAE9C,UAAWI,KAAQH,EACdG,EAAK,QAAQ,IAAI,IAAM,EAEvBD,EAAAC,CAAI,EAAIH,EAAMG,CAAI,EAErBD,EAAG,aAAaC,EAAMH,EAAMG,CAAI,CAAC,EAItB,OAAAF,EAAA,QAASG,GAAe,CAChC,OAAQA,GAAgB,SACxBF,EAAA,mBAAmB,YAAaE,CAAU,EAE7CF,EAAG,OAAOE,CAAU,CACrB,CACA,EAEMF,CACR,CAOA,SAASG,EAAWH,EAAc,CACjC,GAAI,CAACA,EACG,MAAA,GAGF,MAAAI,EAAqBJ,EAAG,wBAC9B,MAAO,CAAC,EAAEI,EAAmB,OAASA,EAAmB,OAC1D,CAOA,SAASC,EAAQL,EAA4C,CACtD,MAAAI,EAAqBJ,EAAG,wBAEvB,MAAA,CACN,IAAKI,EAAmB,IAAM,OAAO,QACrC,KAAMA,EAAmB,KAAO,OAAO,OAAA,CAEzC,CAQA,SAASE,EAAKN,EAAaO,EAA0B,CACpD,OAAO,OAAO,iBAAiBP,CAAE,EAAE,iBAAiBO,CAAQ,CAC7D,CAQA,SAASC,EAAMR,EAAaH,EAA0B,CAC/C,MAAAY,EAAY,SAAS,cAAcZ,CAAO,EAChD,OAAAG,EAAG,MAAMS,CAAS,EAElBA,EAAU,OAAOT,CAAE,EAEZS,CACR,CAQA,SAASC,EAAsBV,EAAaW,EAAmC,CAC9E,OAAOC,EAAsBZ,EAAIW,CAAS,EAAE,KAAKR,CAAS,GAAK,IAChE,CAQA,SAASU,EAA0Bb,EAAaW,EAAmC,CAClF,OAAOC,EAAsBZ,EAAIW,CAAS,EAAE,SAASR,CAAS,GAAK,IACpE,CAQA,SAASW,EAAyBd,EAAaW,EAA8B,CAC5E,OAAOC,EAAsBZ,EAAIW,CAAS,EAAE,OAAOR,CAAS,CAC7D,CAQA,SAASS,EAAuBZ,EAAaW,EAA8B,CAC1E,OAAKX,EAIE,CAAC,GAAGA,EAAG,iBAAiBW,CAAS,CAAC,EAHjC,EAIT,CASA,SAASI,EACRf,EACAgB,EAAsB,SAAUC,EAAyC,OACpD,CACrB,GAAKjB,EAID,OAACA,EAAG,UACPA,EAAG,QAAU,IAGViB,IACAjB,EAAA,QAAQgB,CAAW,EAAIC,GAGvBA,IAAgB,MACZ,OAAAjB,EAAG,QAAQgB,CAAW,EAGvBhB,EAAG,QAAQgB,CAAW,CAC9B,CAKA,SAASE,EAAclB,EAAkC,CACnDA,GAIL,OAAOA,EAAG,OACX,OAEe,CACd,MAAAJ,EACA,UAAAO,EACA,OAAAE,EACA,IAAAC,EACA,KAAAE,EACA,qBAAAE,EACA,yBAAAG,EACA,wBAAAC,EACA,sBAAAF,EACA,QAAAG,EACA,aAAAG,CACD"}
1
+ {"version":3,"file":"dom.amd.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Функции для работы с работы с Document Object Model (DOM)\n */\n\n/**\n * Создать элемент\n * @param {string} tagName\n * @param {any} attrs - атрибуты\n * @param {Element[]} elsChildrens\n * @returns {Element} - созданный элемент\n */\nfunction genEl (tagName: string, attrs: any, ...elsChildrens: Element[]): Element {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param {?Element} el\n * @returns boolean - вернет true, если элемент считается видимым\n */\nfunction isVisible (el?: Element) {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param {Element} el\n * @returns {{top: number, left: number}} - координаты элемента относительно документа\n */\nfunction offset (el: Element): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n * @param {Element} el\n * @param {string} property - имя свойства\n * @return {string} - значение css стиля\n */\nfunction css (el: Element, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param {Element} el - элемент, который требуется обернуть\n * @param {string} tagName - имя тега элемента, в который треубется обернуть элемент\n * @returns {Element}\n */\nfunction wrap (el: Element, tagName: string): Element {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisible (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisibleLast (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]} - обратите внимание, возвращается не NodeList[], а Element[]\n */\nfunction querySelectorAllVisible (el: Element, selectors: string): Element[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]}\n */\nfunction querySelectorAllArray (el: Element, selectors: string): Element[] {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param {Element} el\n * @param {string} contextName - контекст, обычно используется имя компонента\n * @param {?object | null} contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns {?object} - вернет объект контекста или undefined, если данные контекста не найдены\n */\nfunction storage (\n\tel?: Element & { topData?: any },\n\tcontextName: string = 'common', contextData: object | null | undefined = undefined,\n): object | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nfunction storageClear (el?: Element & { topData?: any }) {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":[],"mappings":";;AAWA,WAAS,MAAO,SAAiB,UAAe,cAAkC;AAC3E,UAAA,KAAU,SAAS,cAAc,OAAO;AAE9C,eAAW,QAAQ,OAAO;AACzB,UAAI,KAAK,QAAQ,IAAI,MAAM,GAAG;AAE1B,WAAA,IAAI,IAAI,MAAM,IAAI;AAAA,MAAA,OACf;AACN,WAAG,aAAa,MAAM,MAAM,IAAI,CAAC;AAAA,MAClC;AAAA,IACD;AAEa,iBAAA,QAAQ,CAAC,eAAe;AAChC,UAAA,OAAQ,eAAgB,UAAU;AAClC,WAAA,mBAAmB,aAAa,UAAU;AAAA,MAAA,OACvC;AACN,WAAG,OAAO,UAAU;AAAA,MACrB;AAAA,IAAA,CACA;AAEM,WAAA;AAAA,EACR;AAOA,WAAS,UAAW,IAAc;AACjC,QAAI,CAAC,IAAI;AACD,aAAA;AAAA,IACR;AAEM,UAAA,qBAAqB,GAAG;AAC9B,WAAO,CAAC,EAAE,mBAAmB,SAAS,mBAAmB;AAAA,EAC1D;AAOA,WAAS,OAAQ,IAA4C;AACtD,UAAA,qBAAqB,GAAG;AAEvB,WAAA;AAAA,MACN,KAAK,mBAAmB,MAAM,OAAO;AAAA,MACrC,MAAM,mBAAmB,OAAO,OAAO;AAAA,IAAA;AAAA,EAEzC;AAQA,WAAS,IAAK,IAAa,UAA0B;AACpD,WAAO,OAAO,iBAAiB,EAAE,EAAE,iBAAiB,QAAQ;AAAA,EAC7D;AAQA,WAAS,KAAM,IAAa,SAA0B;AAC/C,UAAA,YAAY,SAAS,cAAc,OAAO;AAChD,OAAG,MAAM,SAAS;AAElB,cAAU,OAAO,EAAE;AAEZ,WAAA;AAAA,EACR;AAQA,WAAS,qBAAsB,IAAa,WAAmC;AAC9E,WAAO,sBAAsB,IAAI,SAAS,EAAE,KAAK,SAAS,KAAK;AAAA,EAChE;AAQA,WAAS,yBAA0B,IAAa,WAAmC;AAClF,WAAO,sBAAsB,IAAI,SAAS,EAAE,SAAS,SAAS,KAAK;AAAA,EACpE;AAQA,WAAS,wBAAyB,IAAa,WAA8B;AAC5E,WAAO,sBAAsB,IAAI,SAAS,EAAE,OAAO,SAAS;AAAA,EAC7D;AAQA,WAAS,sBAAuB,IAAa,WAA8B;AAC1E,QAAI,CAAC,IAAI;AACR,aAAO;IACR;AAEA,WAAO,CAAC,GAAG,GAAG,iBAAiB,SAAS,CAAC;AAAA,EAC1C;AASA,WAAS,QACR,IACA,cAAsB,UAAU,cAAyC,QACpD;AACrB,QAAI,CAAC,IAAI;AACR;AAAA,IACD;AAEI,QAAA,CAAC,GAAG,SAAS;AAChB,SAAG,UAAU;IACd;AAEA,QAAI,aAAa;AACb,SAAA,QAAQ,WAAW,IAAI;AAAA,IAC3B;AAEA,QAAI,gBAAgB,MAAM;AAClB,aAAA,GAAG,QAAQ,WAAW;AAAA,IAC9B;AAEO,WAAA,GAAG,QAAQ,WAAW;AAAA,EAC9B;AAKA,WAAS,aAAc,IAAkC;AACxD,QAAI,CAAC,IAAI;AACR;AAAA,IACD;AAEA,WAAO,GAAG;AAAA,EACX;AAEe,QAAA,MAAA;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;;;"}
package/utils/dom.js CHANGED
@@ -1,64 +1,94 @@
1
- function f(t, e, ...n) {
2
- const o = document.createElement(t);
3
- for (const r in e)
4
- r.indexOf("on") === 0 ? o[r] = e[r] : o.setAttribute(r, e[r]);
5
- return n.forEach((r) => {
6
- typeof r == "string" ? o.insertAdjacentHTML("beforeend", r) : o.append(r);
7
- }), o;
1
+ function genEl(tagName, attrs, ...elsChildrens) {
2
+ const el = document.createElement(tagName);
3
+ for (const name in attrs) {
4
+ if (name.indexOf("on") === 0) {
5
+ el[name] = attrs[name];
6
+ } else {
7
+ el.setAttribute(name, attrs[name]);
8
+ }
9
+ }
10
+ elsChildrens.forEach((elChildren) => {
11
+ if (typeof elChildren === "string") {
12
+ el.insertAdjacentHTML("beforeend", elChildren);
13
+ } else {
14
+ el.append(elChildren);
15
+ }
16
+ });
17
+ return el;
8
18
  }
9
- function i(t) {
10
- if (!t)
11
- return !1;
12
- const e = t.getBoundingClientRect();
13
- return !!(e.width || e.height);
19
+ function isVisible(el) {
20
+ if (!el) {
21
+ return false;
22
+ }
23
+ const boundingClientRect = el.getBoundingClientRect();
24
+ return !!(boundingClientRect.width || boundingClientRect.height);
14
25
  }
15
- function l(t) {
16
- const e = t.getBoundingClientRect();
26
+ function offset(el) {
27
+ const boundingClientRect = el.getBoundingClientRect();
17
28
  return {
18
- top: e.top + window.scrollY,
19
- left: e.left + window.scrollX
29
+ top: boundingClientRect.top + window.scrollY,
30
+ left: boundingClientRect.left + window.scrollX
20
31
  };
21
32
  }
22
- function c(t, e) {
23
- return window.getComputedStyle(t).getPropertyValue(e);
33
+ function css(el, property) {
34
+ return window.getComputedStyle(el).getPropertyValue(property);
24
35
  }
25
- function s(t, e) {
26
- const n = document.createElement(e);
27
- return t.after(n), n.append(t), n;
36
+ function wrap(el, tagName) {
37
+ const elWrapper = document.createElement(tagName);
38
+ el.after(elWrapper);
39
+ elWrapper.append(el);
40
+ return elWrapper;
28
41
  }
29
- function a(t, e) {
30
- return u(t, e).find(i) || null;
42
+ function querySelectorVisible(el, selectors) {
43
+ return querySelectorAllArray(el, selectors).find(isVisible) || null;
31
44
  }
32
- function d(t, e) {
33
- return u(t, e).findLast(i) || null;
45
+ function querySelectorVisibleLast(el, selectors) {
46
+ return querySelectorAllArray(el, selectors).findLast(isVisible) || null;
34
47
  }
35
- function p(t, e) {
36
- return u(t, e).filter(i);
48
+ function querySelectorAllVisible(el, selectors) {
49
+ return querySelectorAllArray(el, selectors).filter(isVisible);
37
50
  }
38
- function u(t, e) {
39
- return t ? [...t.querySelectorAll(e)] : [];
51
+ function querySelectorAllArray(el, selectors) {
52
+ if (!el) {
53
+ return [];
54
+ }
55
+ return [...el.querySelectorAll(selectors)];
40
56
  }
41
- function g(t, e = "common", n = void 0) {
42
- if (t)
43
- return t.topData || (t.topData = {}), n && (t.topData[e] = n), n === null && delete t.topData[e], t.topData[e];
57
+ function storage(el, contextName = "common", contextData = void 0) {
58
+ if (!el) {
59
+ return;
60
+ }
61
+ if (!el.topData) {
62
+ el.topData = {};
63
+ }
64
+ if (contextData) {
65
+ el.topData[contextName] = contextData;
66
+ }
67
+ if (contextData === null) {
68
+ delete el.topData[contextName];
69
+ }
70
+ return el.topData[contextName];
44
71
  }
45
- function y(t) {
46
- t && delete t.topData;
72
+ function storageClear(el) {
73
+ if (!el) {
74
+ return;
75
+ }
76
+ delete el.topData;
47
77
  }
48
- const b = {
49
- genEl: f,
50
- isVisible: i,
51
- offset: l,
52
- css: c,
53
- wrap: s,
54
- querySelectorVisible: a,
55
- querySelectorVisibleLast: d,
56
- querySelectorAllVisible: p,
57
- querySelectorAllArray: u,
58
- storage: g,
59
- storageClear: y
78
+ const DOM = {
79
+ genEl,
80
+ isVisible,
81
+ offset,
82
+ css,
83
+ wrap,
84
+ querySelectorVisible,
85
+ querySelectorVisibleLast,
86
+ querySelectorAllVisible,
87
+ querySelectorAllArray,
88
+ storage,
89
+ storageClear
60
90
  };
61
91
  export {
62
- b as default
92
+ DOM as default
63
93
  };
64
94
  //# sourceMappingURL=dom.js.map
package/utils/dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Функции для работы с работы с Document Object Model (DOM)\n */\n\n/**\n * Создать элемент\n * @param {string} tagName\n * @param {any} attrs - атрибуты\n * @param {Element[]} elsChildrens\n * @returns {Element} - созданный элемент\n */\nfunction genEl (tagName: string, attrs: any, ...elsChildrens: Element[]): Element {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param {?Element} el\n * @returns boolean - вернет true, если элемент считается видимым\n */\nfunction isVisible (el?: Element) {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param {Element} el\n * @returns {{top: number, left: number}} - координаты элемента относительно документа\n */\nfunction offset (el: Element): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n * @param {Element} el\n * @param {string} property - имя свойства\n * @return {string} - значение css стиля\n */\nfunction css (el: Element, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param {Element} el - элемент, который требуется обернуть\n * @param {string} tagName - имя тега элемента, в который треубется обернуть элемент\n * @returns {Element}\n */\nfunction wrap (el: Element, tagName: string): Element {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisible (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisibleLast (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]} - обратите внимание, возвращается не NodeList[], а Element[]\n */\nfunction querySelectorAllVisible (el: Element, selectors: string): Element[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]}\n */\nfunction querySelectorAllArray (el: Element, selectors: string): Element[] {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param {Element} el\n * @param {string} contextName - контекст, обычно используется имя компонента\n * @param {?object | null} contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns {?object} - вернет объект контекста или undefined, если данные контекста не найдены\n */\nfunction storage (\n\tel?: Element & { topData?: any },\n\tcontextName: string = 'common', contextData: object | null | undefined = undefined,\n): object | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nfunction storageClear (el?: Element & { topData?: any }) {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":["genEl","tagName","attrs","elsChildrens","el","name","elChildren","isVisible","boundingClientRect","offset","css","property","wrap","elWrapper","querySelectorVisible","selectors","querySelectorAllArray","querySelectorVisibleLast","querySelectorAllVisible","storage","contextName","contextData","storageClear","DOM"],"mappings":"AAWA,SAASA,EAAOC,GAAiBC,MAAeC,GAAkC;AAC3E,QAAAC,IAAU,SAAS,cAAcH,CAAO;AAE9C,aAAWI,KAAQH;AAClB,IAAIG,EAAK,QAAQ,IAAI,MAAM,IAEvBD,EAAAC,CAAI,IAAIH,EAAMG,CAAI,IAErBD,EAAG,aAAaC,GAAMH,EAAMG,CAAI,CAAC;AAItB,SAAAF,EAAA,QAAQ,CAACG,MAAe;AAChC,IAAA,OAAQA,KAAgB,WACxBF,EAAA,mBAAmB,aAAaE,CAAU,IAE7CF,EAAG,OAAOE,CAAU;AAAA,EACrB,CACA,GAEMF;AACR;AAOA,SAASG,EAAWH,GAAc;AACjC,MAAI,CAACA;AACG,WAAA;AAGF,QAAAI,IAAqBJ,EAAG;AAC9B,SAAO,CAAC,EAAEI,EAAmB,SAASA,EAAmB;AAC1D;AAOA,SAASC,EAAQL,GAA4C;AACtD,QAAAI,IAAqBJ,EAAG;AAEvB,SAAA;AAAA,IACN,KAAKI,EAAmB,MAAM,OAAO;AAAA,IACrC,MAAMA,EAAmB,OAAO,OAAO;AAAA,EAAA;AAEzC;AAQA,SAASE,EAAKN,GAAaO,GAA0B;AACpD,SAAO,OAAO,iBAAiBP,CAAE,EAAE,iBAAiBO,CAAQ;AAC7D;AAQA,SAASC,EAAMR,GAAaH,GAA0B;AAC/C,QAAAY,IAAY,SAAS,cAAcZ,CAAO;AAChD,SAAAG,EAAG,MAAMS,CAAS,GAElBA,EAAU,OAAOT,CAAE,GAEZS;AACR;AAQA,SAASC,EAAsBV,GAAaW,GAAmC;AAC9E,SAAOC,EAAsBZ,GAAIW,CAAS,EAAE,KAAKR,CAAS,KAAK;AAChE;AAQA,SAASU,EAA0Bb,GAAaW,GAAmC;AAClF,SAAOC,EAAsBZ,GAAIW,CAAS,EAAE,SAASR,CAAS,KAAK;AACpE;AAQA,SAASW,EAAyBd,GAAaW,GAA8B;AAC5E,SAAOC,EAAsBZ,GAAIW,CAAS,EAAE,OAAOR,CAAS;AAC7D;AAQA,SAASS,EAAuBZ,GAAaW,GAA8B;AAC1E,SAAKX,IAIE,CAAC,GAAGA,EAAG,iBAAiBW,CAAS,CAAC,IAHjC;AAIT;AASA,SAASI,EACRf,GACAgB,IAAsB,UAAUC,IAAyC,QACpD;AACrB,MAAKjB;AAID,WAACA,EAAG,YACPA,EAAG,UAAU,KAGViB,MACAjB,EAAA,QAAQgB,CAAW,IAAIC,IAGvBA,MAAgB,QACZ,OAAAjB,EAAG,QAAQgB,CAAW,GAGvBhB,EAAG,QAAQgB,CAAW;AAC9B;AAKA,SAASE,EAAclB,GAAkC;AACxD,EAAKA,KAIL,OAAOA,EAAG;AACX;AAEA,MAAemB,IAAA;AAAA,EACd,OAAAvB;AAAA,EACA,WAAAO;AAAA,EACA,QAAAE;AAAA,EACA,KAAAC;AAAA,EACA,MAAAE;AAAA,EACA,sBAAAE;AAAA,EACA,0BAAAG;AAAA,EACA,yBAAAC;AAAA,EACA,uBAAAF;AAAA,EACA,SAAAG;AAAA,EACA,cAAAG;AACD;"}
1
+ {"version":3,"file":"dom.js","sources":["../../src/core/utils/dom.ts"],"sourcesContent":["/**\n * Функции для работы с работы с Document Object Model (DOM)\n */\n\n/**\n * Создать элемент\n * @param {string} tagName\n * @param {any} attrs - атрибуты\n * @param {Element[]} elsChildrens\n * @returns {Element} - созданный элемент\n */\nfunction genEl (tagName: string, attrs: any, ...elsChildrens: Element[]): Element {\n\tconst el: any = document.createElement(tagName);\n\n\tfor (const name in attrs) {\n\t\tif (name.indexOf('on') === 0) {\n\t\t\t// events\n\t\t\tel[name] = attrs[name];\n\t\t} else {\n\t\t\tel.setAttribute(name, attrs[name]);\n\t\t}\n\t}\n\n\telsChildrens.forEach((elChildren) => {\n\t\tif (typeof (elChildren) === 'string') {\n\t\t\tel.insertAdjacentHTML('beforeend', elChildren);\n\t\t} else {\n\t\t\tel.append(elChildren);\n\t\t}\n\t});\n\n\treturn el;\n}\n\n/**\n * Проверить видимость элемента\n * @param {?Element} el\n * @returns boolean - вернет true, если элемент считается видимым\n */\nfunction isVisible (el?: Element) {\n\tif (!el) {\n\t\treturn false;\n\t}\n\n\tconst boundingClientRect = el.getBoundingClientRect();\n\treturn !!(boundingClientRect.width || boundingClientRect.height);\n}\n\n/**\n * Получить координаты элемента относительно документа\n * @param {Element} el\n * @returns {{top: number, left: number}} - координаты элемента относительно документа\n */\nfunction offset (el: Element): { top: number, left: number } {\n\tconst boundingClientRect = el.getBoundingClientRect();\n\n\treturn {\n\t\ttop: boundingClientRect.top + window.scrollY,\n\t\tleft: boundingClientRect.left + window.scrollX,\n\t};\n}\n\n/**\n * Получить значение css свойства элемента\n * @param {Element} el\n * @param {string} property - имя свойства\n * @return {string} - значение css стиля\n */\nfunction css (el: Element, property: string): string {\n\treturn window.getComputedStyle(el).getPropertyValue(property);\n}\n\n/**\n * Обернуть элемент и вернуть только что созданный элемент\n * @param {Element} el - элемент, который требуется обернуть\n * @param {string} tagName - имя тега элемента, в который треубется обернуть элемент\n * @returns {Element}\n */\nfunction wrap (el: Element, tagName: string): Element {\n\tconst elWrapper = document.createElement(tagName);\n\tel.after(elWrapper);\n\n\telWrapper.append(el);\n\n\treturn elWrapper;\n}\n\n/**\n * Найти и вернуть первый видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisible (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).find(isVisible) || null;\n}\n\n/**\n * Найти и вернуть последний видимый элемент\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element|null}\n */\nfunction querySelectorVisibleLast (el: Element, selectors: string): Element | null {\n\treturn querySelectorAllArray(el, selectors).findLast(isVisible) || null;\n}\n\n/**\n * Найти видимые элементы\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]} - обратите внимание, возвращается не NodeList[], а Element[]\n */\nfunction querySelectorAllVisible (el: Element, selectors: string): Element[] {\n\treturn querySelectorAllArray(el, selectors).filter(isVisible);\n}\n\n/**\n * Найти элементы и вернуть в виде массива\n * @param {?Document|Element} el - корневой элемент поиска\n * @param selectors - см. параметр selectors в Document.querySelectorAll()\n * @returns {Element[]}\n */\nfunction querySelectorAllArray (el: Element, selectors: string): Element[] {\n\tif (!el) {\n\t\treturn [];\n\t}\n\n\treturn [...el.querySelectorAll(selectors)];\n}\n\n/**\n * Хранилище данных элемента\n * @param {Element} el\n * @param {string} contextName - контекст, обычно используется имя компонента\n * @param {?object | null} contextData - установить объект с данными, предыдущие данные будут заменены, установите null для удаления данных\n * @returns {?object} - вернет объект контекста или undefined, если данные контекста не найдены\n */\nfunction storage (\n\tel?: Element & { topData?: any },\n\tcontextName: string = 'common', contextData: object | null | undefined = undefined,\n): object | undefined {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tif (!el.topData) {\n\t\tel.topData = {};\n\t}\n\n\tif (contextData) {\n\t\tel.topData[contextName] = contextData;\n\t}\n\n\tif (contextData === null) {\n\t\tdelete el.topData[contextName];\n\t}\n\n\treturn el.topData[contextName];\n}\n\n/**\n * Очистить хранилище элемента\n */\nfunction storageClear (el?: Element & { topData?: any }) {\n\tif (!el) {\n\t\treturn;\n\t}\n\n\tdelete el.topData;\n}\n\nexport default {\n\tgenEl,\n\tisVisible,\n\toffset,\n\tcss,\n\twrap,\n\tquerySelectorVisible,\n\tquerySelectorVisibleLast,\n\tquerySelectorAllVisible,\n\tquerySelectorAllArray,\n\tstorage,\n\tstorageClear,\n};\n"],"names":[],"mappings":"AAWA,SAAS,MAAO,SAAiB,UAAe,cAAkC;AAC3E,QAAA,KAAU,SAAS,cAAc,OAAO;AAE9C,aAAW,QAAQ,OAAO;AACzB,QAAI,KAAK,QAAQ,IAAI,MAAM,GAAG;AAE1B,SAAA,IAAI,IAAI,MAAM,IAAI;AAAA,IAAA,OACf;AACN,SAAG,aAAa,MAAM,MAAM,IAAI,CAAC;AAAA,IAClC;AAAA,EACD;AAEa,eAAA,QAAQ,CAAC,eAAe;AAChC,QAAA,OAAQ,eAAgB,UAAU;AAClC,SAAA,mBAAmB,aAAa,UAAU;AAAA,IAAA,OACvC;AACN,SAAG,OAAO,UAAU;AAAA,IACrB;AAAA,EAAA,CACA;AAEM,SAAA;AACR;AAOA,SAAS,UAAW,IAAc;AACjC,MAAI,CAAC,IAAI;AACD,WAAA;AAAA,EACR;AAEM,QAAA,qBAAqB,GAAG;AAC9B,SAAO,CAAC,EAAE,mBAAmB,SAAS,mBAAmB;AAC1D;AAOA,SAAS,OAAQ,IAA4C;AACtD,QAAA,qBAAqB,GAAG;AAEvB,SAAA;AAAA,IACN,KAAK,mBAAmB,MAAM,OAAO;AAAA,IACrC,MAAM,mBAAmB,OAAO,OAAO;AAAA,EAAA;AAEzC;AAQA,SAAS,IAAK,IAAa,UAA0B;AACpD,SAAO,OAAO,iBAAiB,EAAE,EAAE,iBAAiB,QAAQ;AAC7D;AAQA,SAAS,KAAM,IAAa,SAA0B;AAC/C,QAAA,YAAY,SAAS,cAAc,OAAO;AAChD,KAAG,MAAM,SAAS;AAElB,YAAU,OAAO,EAAE;AAEZ,SAAA;AACR;AAQA,SAAS,qBAAsB,IAAa,WAAmC;AAC9E,SAAO,sBAAsB,IAAI,SAAS,EAAE,KAAK,SAAS,KAAK;AAChE;AAQA,SAAS,yBAA0B,IAAa,WAAmC;AAClF,SAAO,sBAAsB,IAAI,SAAS,EAAE,SAAS,SAAS,KAAK;AACpE;AAQA,SAAS,wBAAyB,IAAa,WAA8B;AAC5E,SAAO,sBAAsB,IAAI,SAAS,EAAE,OAAO,SAAS;AAC7D;AAQA,SAAS,sBAAuB,IAAa,WAA8B;AAC1E,MAAI,CAAC,IAAI;AACR,WAAO;EACR;AAEA,SAAO,CAAC,GAAG,GAAG,iBAAiB,SAAS,CAAC;AAC1C;AASA,SAAS,QACR,IACA,cAAsB,UAAU,cAAyC,QACpD;AACrB,MAAI,CAAC,IAAI;AACR;AAAA,EACD;AAEI,MAAA,CAAC,GAAG,SAAS;AAChB,OAAG,UAAU;EACd;AAEA,MAAI,aAAa;AACb,OAAA,QAAQ,WAAW,IAAI;AAAA,EAC3B;AAEA,MAAI,gBAAgB,MAAM;AAClB,WAAA,GAAG,QAAQ,WAAW;AAAA,EAC9B;AAEO,SAAA,GAAG,QAAQ,WAAW;AAC9B;AAKA,SAAS,aAAc,IAAkC;AACxD,MAAI,CAAC,IAAI;AACR;AAAA,EACD;AAEA,SAAO,GAAG;AACX;AAEA,MAAe,MAAA;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;"}
@@ -1,2 +0,0 @@
1
- var g=Object.defineProperty;var v=(s,t,n)=>t in s?g(s,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[t]=n;var a=(s,t,n)=>(v(s,typeof t!="symbol"?t+"":t,n),n);define(["exports","vue","../utils/device.amd"],function(s,t,n){"use strict";let m;const c=new Map,d={width:window.innerWidth,height:window.innerHeight};function f(o){c.set(o,o)}function b(o){c.delete(o)}function z(o){clearTimeout(m),m=setTimeout(function(){o.topEvent={widthDiff:d.width-window.innerWidth,hightDiff:d.height-window.innerHeight},d.width=window.innerWidth,d.height=window.innerHeight,c.forEach(e=>e(o))},100)}window.addEventListener("resize",z);const M={addOnReize:f,removeOnResize:b},u={widthForMobile:900},R={isMobile:!1,isMobileUA:!1,isRetina:!1,isApp:!1,isLandscape:!0,isPortrait:!1,size:0},h=window,i=class i{static appendStyle(e,w){let l="all";w==="m"&&(l="(max-width: "+this.options.widthForMobile+"px)"),w==="pc"&&(l="(min-width: "+this.options.widthForMobile+"px)");const p=document.createElement("style");p.innerHTML=e,p.media=l,document.head.append(p)}static install(e,w){i.defineOptions(w),e.provide("top-core",i)}static defineOptions(e){e.widthForMobile&&(this.options.widthForMobile=e.widthForMobile),i.setState()}static setState(){i.matchMediaIsMobile=window.matchMedia(`(max-width: ${i.options.widthForMobile}px)`),i.state.isMobileUA=n.isMobile(),i.state.isRetina=n.isRetina(),i.state.isApp=n.isApp(),i.setStateByWindowSize(),M.addOnReize(i.onResize),i.onResize(),i.saveToCookie()}static onResize(){i.setStateByWindowSize(),document.documentElement.style.setProperty("--100vh",window.innerHeight+"px")}static setStateByWindowSize(){var e;i.state.isMobile=!!((e=i.matchMediaIsMobile)!=null&&e.matches),i.state.isLandscape=window.innerWidth>window.innerHeight,i.state.isPortrait=!i.state.isLandscape,i.state.size=window.innerWidth>window.innerHeight?window.innerWidth:window.innerHeight,i.saveToCookie()}static saveToCookie(){const e=[1,window.innerWidth,window.innerHeight,window.devicePixelRatio,Number(i.state.isMobile),Number(i.state.isRetina)];document.cookie="device="+e.join(",")+"; path=/;"}};a(i,"page",(h==null?void 0:h.page)||{}),a(i,"options",u),a(i,"state",t.reactive({...R})),a(i,"matchMediaIsMobile");let r=i;s.Core=r,s.Events=M});
2
- //# sourceMappingURL=core-97b070be.amd.js.map