@milaboratories/uikit 2.10.26 → 2.10.27

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 (73) hide show
  1. package/.turbo/turbo-build.log +47 -48
  2. package/.turbo/turbo-formatter$colon$check.log +2 -2
  3. package/.turbo/turbo-linter$colon$check.log +2 -2
  4. package/.turbo/turbo-types$colon$check.log +1 -1
  5. package/CHANGELOG.md +6 -0
  6. package/dist/components/DataTable/TableComponent.vue.js +15 -16
  7. package/dist/components/DataTable/TableComponent.vue.js.map +1 -1
  8. package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +33 -33
  9. package/dist/components/PlAutocompleteMulti/PlAutocompleteMulti.vue.js +17 -17
  10. package/dist/components/PlBtnGroup/PlBtnGroup.vue.js +17 -17
  11. package/dist/components/PlCheckboxGroup/PlCheckboxGroup.vue.js +12 -12
  12. package/dist/components/PlChip/PlChip.vue.js +8 -8
  13. package/dist/components/PlDropdown/PlDropdown.vue.js +27 -27
  14. package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +39 -39
  15. package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +20 -20
  16. package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts +3 -1
  17. package/dist/components/PlFileDialog/PlFileDialog.vue.d.ts.map +1 -1
  18. package/dist/components/PlFileDialog/Remote.vue.d.ts +3 -1
  19. package/dist/components/PlFileDialog/Remote.vue.d.ts.map +1 -1
  20. package/dist/components/PlFileDialog/Remote.vue.js +80 -76
  21. package/dist/components/PlFileDialog/Remote.vue.js.map +1 -1
  22. package/dist/components/PlFileDialog/Shortcuts.vue.d.ts +4 -1
  23. package/dist/components/PlFileDialog/Shortcuts.vue.d.ts.map +1 -1
  24. package/dist/components/PlFileDialog/Shortcuts.vue2.js +18 -14
  25. package/dist/components/PlFileDialog/Shortcuts.vue2.js.map +1 -1
  26. package/dist/components/PlFileInput/PlFileInput.vue.js +17 -17
  27. package/dist/components/PlLogView/PlLogView.vue.js +22 -22
  28. package/dist/components/PlNumberField/PlNumberField.vue.js +8 -8
  29. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +2 -3
  30. package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -1
  31. package/dist/components/PlTabs/Tab.vue.d.ts +42 -12
  32. package/dist/components/PlTabs/Tab.vue.d.ts.map +1 -1
  33. package/dist/components/PlTabs/Tab.vue.js +6 -6
  34. package/dist/components/PlTextArea/PlTextArea.vue.js +22 -22
  35. package/dist/components/PlTextField/PlTextField.vue.js +14 -14
  36. package/dist/components/PlTooltip/PlTooltip.vue.d.ts +30 -3
  37. package/dist/components/PlTooltip/PlTooltip.vue.d.ts.map +1 -1
  38. package/dist/components/PlTooltip/PlTooltip.vue.js +7 -110
  39. package/dist/components/PlTooltip/PlTooltip.vue.js.map +1 -1
  40. package/dist/components/PlTooltip/PlTooltip.vue2.js +132 -2
  41. package/dist/components/PlTooltip/PlTooltip.vue2.js.map +1 -1
  42. package/dist/components/PlTooltip/PlTooltip.vue3.js +26 -0
  43. package/dist/components/PlTooltip/PlTooltip.vue3.js.map +1 -0
  44. package/dist/components/Slider.vue.d.ts +1 -1
  45. package/dist/components/Slider.vue.d.ts.map +1 -1
  46. package/dist/components/Slider.vue.js +21 -21
  47. package/dist/components/SliderRange.vue.d.ts +1 -1
  48. package/dist/components/SliderRange.vue.d.ts.map +1 -1
  49. package/dist/components/SliderRange.vue.js +31 -31
  50. package/dist/components/SliderRangeTriple.vue.d.ts +1 -1
  51. package/dist/components/SliderRangeTriple.vue.d.ts.map +1 -1
  52. package/dist/components/SliderRangeTriple.vue.js +23 -23
  53. package/dist/index.js +1 -1
  54. package/dist/utils/DoubleContour.vue2.js +23 -0
  55. package/dist/utils/DoubleContour.vue2.js.map +1 -0
  56. package/package.json +4 -4
  57. package/src/assets/base.scss +4 -1
  58. package/src/assets/mixins.scss +1 -2
  59. package/src/assets/utils.scss +1 -1
  60. package/src/components/PlFileDialog/Remote.vue +5 -3
  61. package/src/components/PlFileDialog/Shortcuts.vue +5 -1
  62. package/src/components/PlTooltip/PlTooltip.vue +227 -32
  63. package/dist/components/PlTooltip/Beak.vue.d.ts +0 -3
  64. package/dist/components/PlTooltip/Beak.vue.d.ts.map +0 -1
  65. package/dist/components/PlTooltip/Beak.vue.js +0 -23
  66. package/dist/components/PlTooltip/Beak.vue.js.map +0 -1
  67. package/dist/components/PlTooltip/useTooltipPosition.d.ts +0 -12
  68. package/dist/components/PlTooltip/useTooltipPosition.d.ts.map +0 -1
  69. package/dist/components/PlTooltip/useTooltipPosition.js +0 -18
  70. package/dist/components/PlTooltip/useTooltipPosition.js.map +0 -1
  71. package/src/components/PlTooltip/Beak.vue +0 -12
  72. package/src/components/PlTooltip/pl-tooltip.scss +0 -117
  73. package/src/components/PlTooltip/useTooltipPosition.ts +0 -59
@@ -11,7 +11,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
11
11
  /**
12
12
  * Tooltip position
13
13
  */
14
- position?: "top-left" | "left" | "right" | "top" | "southwest";
14
+ position?: "top" | "left" | "bottom" | "right" | "top-left";
15
15
  /**
16
16
  * external prop to hide tooltips
17
17
  */
@@ -20,6 +20,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
20
20
  * The gap in pixels between the tooltip and the target element
21
21
  */
22
22
  gap?: number;
23
+ /**
24
+ * The minimum offset in pixels from the edge of the screen to the tooltip
25
+ */
26
+ offsetToTheEdge?: number;
23
27
  /**
24
28
  * base html element for tooltip
25
29
  */
@@ -28,6 +32,14 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
28
32
  * Max width (css value) of the tooltip container (default is 300px)
29
33
  */
30
34
  maxWidth?: string;
35
+ /**
36
+ * The container to insert the tooltip to (body by default)
37
+ */
38
+ container?: "body" | HTMLElement;
39
+ /**
40
+ * Whether the tooltip is shown on hover (default is true); otherwise, it is shown when hide is set to false
41
+ */
42
+ hoverable?: boolean;
31
43
  }, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
32
44
  "tooltip:close": (...args: any[]) => void;
33
45
  }, string, import('vue').PublicProps, Readonly<{
@@ -42,7 +54,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
42
54
  /**
43
55
  * Tooltip position
44
56
  */
45
- position?: "top-left" | "left" | "right" | "top" | "southwest";
57
+ position?: "top" | "left" | "bottom" | "right" | "top-left";
46
58
  /**
47
59
  * external prop to hide tooltips
48
60
  */
@@ -51,6 +63,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
51
63
  * The gap in pixels between the tooltip and the target element
52
64
  */
53
65
  gap?: number;
66
+ /**
67
+ * The minimum offset in pixels from the edge of the screen to the tooltip
68
+ */
69
+ offsetToTheEdge?: number;
54
70
  /**
55
71
  * base html element for tooltip
56
72
  */
@@ -59,15 +75,26 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
59
75
  * Max width (css value) of the tooltip container (default is 300px)
60
76
  */
61
77
  maxWidth?: string;
78
+ /**
79
+ * The container to insert the tooltip to (body by default)
80
+ */
81
+ container?: "body" | HTMLElement;
82
+ /**
83
+ * Whether the tooltip is shown on hover (default is true); otherwise, it is shown when hide is set to false
84
+ */
85
+ hoverable?: boolean;
62
86
  }> & Readonly<{
63
87
  "onTooltip:close"?: ((...args: any[]) => any) | undefined;
64
88
  }>, {
65
89
  gap: number;
90
+ container: "body" | HTMLElement;
66
91
  openDelay: number;
67
92
  closeDelay: number;
68
- position: "top-left" | "left" | "right" | "top" | "southwest";
93
+ position: "top" | "left" | "bottom" | "right" | "top-left";
94
+ offsetToTheEdge: number;
69
95
  element: "div" | "span" | "a" | "p" | "h1" | "h2" | "h3";
70
96
  maxWidth: string;
97
+ hoverable: boolean;
71
98
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
72
99
  rootRef: unknown;
73
100
  tooltip: HTMLDivElement;
@@ -1 +1 @@
1
- {"version":3,"file":"PlTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlTooltip/PlTooltip.vue"],"names":[],"mappings":"AAuLA,OAAO,mBAAmB,CAAC;AAS3B,kCAAkC;;IAO9B;;OAEG;gBACS,MAAM;IAClB;;OAEG;iBACU,MAAM;IACnB;;OAEG;eACQ,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW;IAC9D;;OAEG;WACI,OAAO;IACd;;OAEG;UACG,MAAM;IACZ;;OAEG;cACO,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IACzD;;OAEG;eACQ,MAAM;;;;IA3BjB;;OAEG;gBACS,MAAM;IAClB;;OAEG;iBACU,MAAM;IACnB;;OAEG;eACQ,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW;IAC9D;;OAEG;WACI,OAAO;IACd;;OAEG;UACG,MAAM;IACZ;;OAEG;cACO,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IACzD;;OAEG;eACQ,MAAM;;;;SARX,MAAM;eAhBA,MAAM;gBAIL,MAAM;cAIR,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW;aAYpD,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;cAI9C,MAAM;;;;;qBA4MS,GAAG;qBACH,GAAG;;AA9OjC,wBAmSK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"PlTooltip.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlTooltip/PlTooltip.vue"],"names":[],"mappings":"AAiYA,kCAAkC;;IAO9B;;OAEG;gBACS,MAAM;IAClB;;OAEG;iBACU,MAAM;IACnB;;OAEG;eACQ,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU;IAC3D;;OAEG;WACI,OAAO;IACd;;OAEG;UACG,MAAM;IAEZ;;OAEG;sBACe,MAAM;IACxB;;OAEG;cACO,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IACzD;;OAEG;eACQ,MAAM;IACjB;;OAEG;gBACS,MAAM,GAAG,WAAW;IAChC;;OAEG;gBACS,OAAO;;;;IAxCnB;;OAEG;gBACS,MAAM;IAClB;;OAEG;iBACU,MAAM;IACnB;;OAEG;eACQ,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU;IAC3D;;OAEG;WACI,OAAO;IACd;;OAEG;UACG,MAAM;IAEZ;;OAEG;sBACe,MAAM;IACxB;;OAEG;cACO,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;IACzD;;OAEG;eACQ,MAAM;IACjB;;OAEG;gBACS,MAAM,GAAG,WAAW;IAChC;;OAEG;gBACS,OAAO;;;;SArBb,MAAM;eAiBA,MAAM,GAAG,WAAW;eAjCpB,MAAM;gBAIL,MAAM;cAIR,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU;qBAazC,MAAM;aAId,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI;cAI9C,MAAM;eAQL,OAAO;;;;;qBAgOO,GAAG;qBACH,GAAG;;AA/QjC,wBAkUK;AAgEL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,113 +1,10 @@
1
- import { defineComponent as $, reactive as b, watch as u, ref as y, toRef as x, computed as N, onUnmounted as P, createBlock as v, openBlock as p, resolveDynamicComponent as R, mergeProps as V, withCtx as k, renderSlot as h, createCommentVNode as w, Teleport as g, createVNode as C, Transition as j, createElementBlock as z, withModifiers as A, normalizeStyle as T, unref as W, createElementVNode as M, normalizeClass as q } from "vue";
2
- /* empty css */
3
- import { useTooltipPosition as F } from "./useTooltipPosition.js";
4
- import { throttle as K, delay as L, timeout as U } from "../../helpers/utils.js";
5
- import { useClickOutside as G } from "../../composition/useClickOutside.js";
6
- import H from "./Beak.vue.js";
7
- import { tMap as m } from "./global.js";
8
- const I = {
9
- name: "PlTooltip"
10
- }, te = /* @__PURE__ */ $({
11
- ...I,
12
- props: {
13
- openDelay: { default: 100 },
14
- closeDelay: { default: 1e3 },
15
- position: { default: "top" },
16
- hide: { type: Boolean },
17
- gap: { default: 8 },
18
- element: { default: "div" },
19
- maxWidth: { default: "300px" }
20
- },
21
- emits: ["tooltip:close"],
22
- setup(i, { emit: B }) {
23
- const D = B, s = Symbol(), t = i, e = b({
24
- open: !1,
25
- over: !1,
26
- tooltipOpen: !1,
27
- key: Symbol()
28
- });
29
- m.set(s, () => l()), u(
30
- () => e.open,
31
- (o) => {
32
- requestAnimationFrame(() => {
33
- e.tooltipOpen = o;
34
- });
35
- }
36
- );
37
- let f = () => {
38
- };
39
- const O = K(() => window.dispatchEvent(new CustomEvent("adjust")), 1e3), S = () => {
40
- e.open = !0;
41
- for (const [o, n] of m.entries())
42
- o !== s && n();
43
- }, l = () => {
44
- e.open = !1, D("tooltip:close");
45
- }, r = async () => {
46
- t.hide || (O(), e.over = !0, f(), await L(t.openDelay ?? 100), e.over && S());
47
- }, c = () => {
48
- e.over = !1, f = U(() => {
49
- e.over || l();
50
- }, t.closeDelay);
51
- };
52
- u(
53
- () => t.hide,
54
- (o) => {
55
- o && l();
56
- }
57
- );
58
- const a = y(), d = y(), E = F(a, x(t));
59
- G([a, d], () => l());
60
- const _ = N(() => ({
61
- "--pl-tooltip-max-width": t.maxWidth
62
- }));
63
- return P(() => {
64
- m.delete(s);
65
- }), (o, n) => (p(), v(R(i.element), V(o.$attrs, {
66
- ref_key: "rootRef",
67
- ref: a,
68
- onClick: r,
69
- onMouseover: r,
70
- onMouseleave: c
71
- }), {
72
- default: k(() => [
73
- h(o.$slots, "default"),
74
- o.$slots.tooltip && e.open ? (p(), v(g, {
75
- key: 0,
76
- to: "body"
77
- }, [
78
- C(j, { name: "tooltip-transition" }, {
79
- default: k(() => [
80
- e.tooltipOpen ? (p(), z("div", {
81
- key: 0,
82
- class: "pl-tooltip__container",
83
- style: T(W(E)),
84
- onClick: n[0] || (n[0] = A(() => {
85
- }, ["stop"]))
86
- }, [
87
- M("div", {
88
- ref_key: "tooltip",
89
- ref: d,
90
- class: q(["pl-tooltip", i.position]),
91
- style: T(_.value),
92
- onMouseover: r,
93
- onMouseleave: c
94
- }, [
95
- M("div", null, [
96
- h(o.$slots, "tooltip")
97
- ]),
98
- C(H)
99
- ], 38)
100
- ], 4)) : w("", !0)
101
- ]),
102
- _: 3
103
- })
104
- ])) : w("", !0)
105
- ]),
106
- _: 3
107
- }, 16));
108
- }
109
- });
1
+ import o from "./PlTooltip.vue2.js";
2
+ import s from "./PlTooltip.vue3.js";
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const r = {
5
+ $style: s
6
+ }, c = /* @__PURE__ */ t(o, [["__cssModules", r]]);
110
7
  export {
111
- te as default
8
+ c as default
112
9
  };
113
10
  //# sourceMappingURL=PlTooltip.vue.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlTooltip.vue.js","sources":["../../../src/components/PlTooltip/PlTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Simple tooltip on mouseover */\nexport default {\n name: \"PlTooltip\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport \"./pl-tooltip.scss\";\nimport { computed, onUnmounted, reactive, ref, toRef, watch } from \"vue\";\nimport { useTooltipPosition } from \"./useTooltipPosition\";\nimport * as utils from \"../../helpers/utils\";\nimport { useClickOutside } from \"../../composition/useClickOutside\";\nimport Beak from \"./Beak.vue\";\nimport { tMap } from \"./global\";\n\nconst emit = defineEmits([\"tooltip:close\"]);\n\nconst tKey = Symbol();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * delay in milliseconds before the tooltip opens\n */\n openDelay?: number;\n /**\n * delay in milliseconds before the tooltip disappears\n */\n closeDelay?: number;\n /**\n * Tooltip position\n */\n position?: \"top-left\" | \"left\" | \"right\" | \"top\" | \"southwest\";\n /**\n * external prop to hide tooltips\n */\n hide?: boolean;\n /**\n * The gap in pixels between the tooltip and the target element\n */\n gap?: number;\n /**\n * base html element for tooltip\n */\n element?: \"div\" | \"span\" | \"a\" | \"p\" | \"h1\" | \"h2\" | \"h3\";\n /**\n * Max width (css value) of the tooltip container (default is 300px)\n */\n maxWidth?: string;\n }>(),\n {\n openDelay: 100,\n closeDelay: 1000,\n gap: 8,\n position: \"top\",\n element: \"div\",\n maxWidth: \"300px\",\n },\n);\n\nconst data = reactive({\n open: false,\n over: false,\n tooltipOpen: false,\n key: Symbol(),\n});\n\ntMap.set(tKey, () => closeTooltip());\n\n// Hook to avoid the need to immediately teleport into the body (better performance)\nwatch(\n () => data.open,\n (v) => {\n requestAnimationFrame(() => {\n data.tooltipOpen = v;\n });\n },\n);\n\nlet clearTimeout = () => {};\n\nconst dispatchAdjust = utils.throttle(() => window.dispatchEvent(new CustomEvent(\"adjust\")), 1000);\n\nconst showTooltip = () => {\n data.open = true;\n\n for (const [k, f] of tMap.entries()) {\n if (k !== tKey) {\n f();\n }\n }\n};\n\nconst closeTooltip = () => {\n data.open = false;\n emit(\"tooltip:close\");\n};\n\nconst onOver = async () => {\n if (props.hide) {\n return;\n }\n\n dispatchAdjust();\n\n data.over = true;\n\n clearTimeout();\n\n await utils.delay(props.openDelay ?? 100);\n\n if (data.over) {\n showTooltip();\n }\n};\n\nconst onLeave = () => {\n data.over = false;\n clearTimeout = utils.timeout(() => {\n if (!data.over) {\n closeTooltip();\n }\n }, props.closeDelay);\n};\n\nwatch(\n () => props.hide,\n (hide) => {\n if (hide) {\n closeTooltip();\n }\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst tooltip = ref<HTMLElement | undefined>();\n\nconst style = useTooltipPosition(rootRef, toRef(props));\n\nuseClickOutside([rootRef, tooltip], () => closeTooltip());\n\nconst tooltipStyle = computed(() => ({\n \"--pl-tooltip-max-width\": props.maxWidth,\n}));\n\nonUnmounted(() => {\n tMap.delete(tKey);\n});\n</script>\n\n<template>\n <component\n :is=\"element\"\n v-bind=\"$attrs\"\n ref=\"rootRef\"\n @click=\"onOver\"\n @mouseover=\"onOver\"\n @mouseleave=\"onLeave\"\n >\n <slot />\n <Teleport v-if=\"$slots['tooltip'] && data.open\" to=\"body\">\n <Transition name=\"tooltip-transition\">\n <div v-if=\"data.tooltipOpen\" class=\"pl-tooltip__container\" :style=\"style\" @click.stop>\n <div\n ref=\"tooltip\"\n class=\"pl-tooltip\"\n :style=\"tooltipStyle\"\n :class=\"position\"\n @mouseover=\"onOver\"\n @mouseleave=\"onLeave\"\n >\n <!-- should be one line -->\n <div><slot name=\"tooltip\" /></div>\n <Beak />\n </div>\n </div>\n </Transition>\n </Teleport>\n </component>\n</template>\n"],"names":["__default__","emit","__emit","tKey","props","__props","data","reactive","tMap","closeTooltip","watch","v","clearTimeout","dispatchAdjust","utils.throttle","showTooltip","k","f","onOver","utils.delay","onLeave","utils.timeout","hide","rootRef","ref","tooltip","style","useTooltipPosition","toRef","useClickOutside","tooltipStyle","computed","onUnmounted","_openBlock","_createBlock","_resolveDynamicComponent","_mergeProps","$attrs","_renderSlot","_ctx","$slots","_Teleport","_createVNode","_Transition","_createElementBlock","_unref","_createElementVNode","_normalizeClass","Beak"],"mappings":"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"}
1
+ {"version":3,"file":"PlTooltip.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
@@ -1,5 +1,135 @@
1
- import f from "./PlTooltip.vue.js";
1
+ import { defineComponent as B, useCssVars as M, reactive as D, watch as h, ref as T, onUnmounted as N, createBlock as $, openBlock as k, resolveDynamicComponent as O, mergeProps as E, withCtx as C, renderSlot as b, createVNode as S, Transition as V, createCommentVNode as W, Teleport as q, createElementVNode as i, normalizeStyle as z, normalizeClass as a, withModifiers as A } from "vue";
2
+ import { delay as L, timeout as P } from "../../helpers/utils.js";
3
+ import { useClickOutside as R } from "../../composition/useClickOutside.js";
4
+ import { tMap as f } from "./global.js";
5
+ import { uniqueId as F } from "@milaboratories/helpers";
6
+ const I = {
7
+ name: "PlTooltip"
8
+ }, J = /* @__PURE__ */ B({
9
+ ...I,
10
+ props: {
11
+ openDelay: { default: 100 },
12
+ closeDelay: { default: 1e3 },
13
+ position: { default: "top" },
14
+ hide: { type: Boolean },
15
+ gap: { default: 8 },
16
+ offsetToTheEdge: { default: 8 },
17
+ element: { default: "div" },
18
+ maxWidth: { default: "300px" },
19
+ container: { default: "body" },
20
+ hoverable: { type: Boolean, default: !0 }
21
+ },
22
+ emits: ["tooltip:close"],
23
+ setup(l, { emit: g }) {
24
+ M((e) => ({
25
+ v0a45635a: v
26
+ }));
27
+ const w = g, r = Symbol(), o = l, t = D({
28
+ open: !1,
29
+ over: !1,
30
+ tooltipOpen: !1,
31
+ key: Symbol()
32
+ });
33
+ f.set(r, () => s()), h(
34
+ () => t.open,
35
+ (e) => {
36
+ requestAnimationFrame(() => {
37
+ t.tooltipOpen = e;
38
+ });
39
+ }
40
+ );
41
+ let d = () => {
42
+ };
43
+ const m = () => {
44
+ t.open = !0;
45
+ for (const [e, n] of f.entries())
46
+ e !== r && n();
47
+ }, s = () => {
48
+ t.open = !1, w("tooltip:close");
49
+ }, p = async () => {
50
+ o.hide || !o.hoverable || (t.over = !0, d(), await L(o.openDelay ?? 100), t.over && m());
51
+ }, u = () => {
52
+ o.hoverable && (t.over = !1, d = P(() => {
53
+ t.over || s();
54
+ }, o.closeDelay));
55
+ };
56
+ h(
57
+ () => o.hide,
58
+ (e) => {
59
+ e ? s() : o.hoverable || m();
60
+ }
61
+ );
62
+ const c = T(), y = T();
63
+ R([c, y], () => s()), N(() => {
64
+ f.delete(r);
65
+ });
66
+ const v = `--anchor-${F()}`;
67
+ return (e, n) => (k(), $(O(l.element), E({
68
+ class: e.$style.plTooltipAnchorWrapper
69
+ }, e.$attrs, {
70
+ ref_key: "rootRef",
71
+ ref: c,
72
+ onClick: p,
73
+ onMouseover: p,
74
+ onMouseleave: u
75
+ }), {
76
+ default: C(() => [
77
+ b(e.$slots, "default"),
78
+ S(V, { name: "pl-tooltip-fade" }, {
79
+ default: C(() => [
80
+ e.$slots.tooltip && t.tooltipOpen ? (k(), $(q, {
81
+ key: 0,
82
+ to: l.container
83
+ }, [
84
+ i("div", {
85
+ class: a([
86
+ e.$style.plTooltipContainer,
87
+ {
88
+ [e.$style.top]: o.position === "top",
89
+ [e.$style.bottom]: o.position === "bottom",
90
+ [e.$style.left]: o.position === "left",
91
+ [e.$style.right]: o.position === "right",
92
+ [e.$style.topLeft]: o.position === "top-left"
93
+ }
94
+ ]),
95
+ style: z({
96
+ "--anchorName": v,
97
+ "--gap": l.gap + "px",
98
+ "--offsetToTheEdge": l.offsetToTheEdge + "px",
99
+ "--pl-tooltip-max-width": l.maxWidth
100
+ })
101
+ }, [
102
+ i("div", {
103
+ class: a(e.$style.plTooltipBox),
104
+ onClick: n[0] || (n[0] = A(() => {
105
+ }, ["stop"]))
106
+ }, [
107
+ i("div", {
108
+ ref_key: "tooltip",
109
+ ref: y,
110
+ class: a([e.$style.plTooltipContent, l.position]),
111
+ onMouseover: p,
112
+ onMouseleave: u
113
+ }, [
114
+ i("div", null, [
115
+ b(e.$slots, "tooltip")
116
+ ])
117
+ ], 34)
118
+ ], 2),
119
+ i("div", {
120
+ class: a(e.$style.plTooltipBeak)
121
+ }, null, 2)
122
+ ], 6)
123
+ ], 8, ["to"])) : W("", !0)
124
+ ]),
125
+ _: 3
126
+ })
127
+ ]),
128
+ _: 3
129
+ }, 16, ["class"]));
130
+ }
131
+ });
2
132
  export {
3
- f as default
133
+ J as default
4
134
  };
5
135
  //# sourceMappingURL=PlTooltip.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PlTooltip.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
1
+ {"version":3,"file":"PlTooltip.vue2.js","sources":["../../../src/components/PlTooltip/PlTooltip.vue"],"sourcesContent":["<script lang=\"ts\">\n/** Simple tooltip on mouseover */\nexport default {\n name: \"PlTooltip\",\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { onUnmounted, reactive, ref, watch } from \"vue\";\nimport * as utils from \"../../helpers/utils\";\nimport { useClickOutside } from \"../../composition/useClickOutside\";\nimport { tMap } from \"./global\";\nimport { uniqueId } from \"@milaboratories/helpers\";\n\nconst emit = defineEmits([\"tooltip:close\"]);\n\nconst tKey = Symbol();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * delay in milliseconds before the tooltip opens\n */\n openDelay?: number;\n /**\n * delay in milliseconds before the tooltip disappears\n */\n closeDelay?: number;\n /**\n * Tooltip position\n */\n position?: \"top\" | \"left\" | \"bottom\" | \"right\" | \"top-left\";\n /**\n * external prop to hide tooltips\n */\n hide?: boolean;\n /**\n * The gap in pixels between the tooltip and the target element\n */\n gap?: number;\n\n /**\n * The minimum offset in pixels from the edge of the screen to the tooltip\n */\n offsetToTheEdge?: number;\n /**\n * base html element for tooltip\n */\n element?: \"div\" | \"span\" | \"a\" | \"p\" | \"h1\" | \"h2\" | \"h3\";\n /**\n * Max width (css value) of the tooltip container (default is 300px)\n */\n maxWidth?: string;\n /**\n * The container to insert the tooltip to (body by default)\n */\n container?: \"body\" | HTMLElement;\n /**\n * Whether the tooltip is shown on hover (default is true); otherwise, it is shown when hide is set to false\n */\n hoverable?: boolean;\n }>(),\n {\n openDelay: 100,\n closeDelay: 1000,\n gap: 8,\n offsetToTheEdge: 8,\n position: \"top\",\n element: \"div\",\n maxWidth: \"300px\",\n container: \"body\",\n hoverable: true,\n },\n);\n\nconst data = reactive({\n open: false,\n over: false,\n tooltipOpen: false,\n key: Symbol(),\n});\n\ntMap.set(tKey, () => closeTooltip());\n\n// Hook to avoid the need to immediately teleport into the body (better performance)\nwatch(\n () => data.open,\n (v) => {\n requestAnimationFrame(() => {\n data.tooltipOpen = v;\n });\n },\n);\n\nlet clearTimeout = () => {};\n\nconst showTooltip = () => {\n data.open = true;\n\n for (const [k, f] of tMap.entries()) {\n if (k !== tKey) {\n f();\n }\n }\n};\n\nconst closeTooltip = () => {\n data.open = false;\n emit(\"tooltip:close\");\n};\n\nconst onOver = async () => {\n if (props.hide || !props.hoverable) {\n return;\n }\n\n data.over = true;\n\n clearTimeout();\n\n await utils.delay(props.openDelay ?? 100);\n\n if (data.over) {\n showTooltip();\n }\n};\n\nconst onLeave = () => {\n if (!props.hoverable) {\n return;\n }\n\n data.over = false;\n clearTimeout = utils.timeout(() => {\n if (!data.over) {\n closeTooltip();\n }\n }, props.closeDelay);\n};\n\nwatch(\n () => props.hide,\n (hide) => {\n if (hide) {\n closeTooltip();\n } else if (!props.hoverable) {\n showTooltip();\n }\n },\n);\n\nconst rootRef = ref<HTMLElement | undefined>();\nconst tooltip = ref<HTMLElement | undefined>();\n\nuseClickOutside([rootRef, tooltip], () => closeTooltip());\n\nonUnmounted(() => {\n tMap.delete(tKey);\n});\nconst anchorName = `--anchor-${uniqueId()}`;\n</script>\n\n<template>\n <component\n :class=\"$style.plTooltipAnchorWrapper\"\n :is=\"element\"\n v-bind=\"$attrs\"\n ref=\"rootRef\"\n @click=\"onOver\"\n @mouseover=\"onOver\"\n @mouseleave=\"onLeave\"\n >\n <!-- anchor element here -->\n <slot />\n <Transition name=\"pl-tooltip-fade\">\n <Teleport v-if=\"$slots['tooltip'] && data.tooltipOpen\" :to=\"container\">\n <div\n :class=\"[\n $style.plTooltipContainer,\n {\n [$style.top]: props.position === 'top',\n [$style.bottom]: props.position === 'bottom',\n [$style.left]: props.position === 'left',\n [$style.right]: props.position === 'right',\n [$style.topLeft]: props.position === 'top-left',\n },\n ]\"\n :style=\"{\n '--anchorName': anchorName,\n '--gap': gap + 'px',\n '--offsetToTheEdge': offsetToTheEdge + 'px',\n '--pl-tooltip-max-width': maxWidth,\n }\"\n >\n <div :class=\"$style.plTooltipBox\" @click.stop>\n <div\n ref=\"tooltip\"\n :class=\"[$style.plTooltipContent, position]\"\n @mouseover=\"onOver\"\n @mouseleave=\"onLeave\"\n >\n <!-- should be one line -->\n <div><slot name=\"tooltip\" /></div>\n </div>\n </div>\n <div :class=\"$style.plTooltipBeak\" />\n </div>\n </Teleport>\n </Transition>\n </component>\n</template>\n\n<style module>\n.plTooltipAnchorWrapper {\n display: inline-block;\n}\n/* just to set anchor-name for the anchor */\n.plTooltipAnchorWrapper > :first-child {\n --anchorName: v-bind(\"anchorName\");\n anchor-name: var(--anchorName);\n}\n\n.plTooltipAnchorWrapper:global(.info) {\n --anchorName: v-bind(\"anchorName\");\n anchor-name: var(--anchorName);\n}\n\n.plTooltipContainer {\n --pl-tooltip-max-width: 300px;\n --gap: 8px;\n --tailWidth: 8px;\n --tailHeight: calc(var(--gap) + 2px);\n\n --tailClipTop: polygon(\n 0 0,\n 100% 0,\n 100% calc(100% - var(--gap)),\n 50% calc(100% - 3px),\n 0 calc(100% - var(--gap))\n );\n --tailClipBottom: polygon(0 100%, 100% 100%, 100% var(--gap), 50% 3px, 0 var(--gap));\n --tailClipLeft: polygon(0 0, 0 100%, 2px 100%, calc(100% - 3px) 50%, 2px 0);\n --tailClipRight: polygon(100% 0, 100% 100%, calc(100% - 2px) 100%, 3px 50%, calc(100% - 2px) 0);\n\n z-index: var(--z-tooltip);\n}\n\n.plTooltipContent {\n display: inline-block;\n padding: 8px 12px 9px 12px;\n background: var(--tooltip-bg);\n border-radius: 6px;\n width: max-content;\n word-break: normal;\n max-width: var(--pl-tooltip-max-width);\n color: #fff;\n}\n\n.plTooltipBox {\n position: absolute;\n position-anchor: var(--anchorName);\n z-index: 1;\n}\n\n.plTooltipBeak {\n position: absolute;\n position-anchor: var(--anchorName);\n z-index: 0;\n background: var(--tooltip-bg);\n width: var(--tailWidth);\n height: var(--tailHeight);\n}\n\n/* top */\n.plTooltipContainer.top .plTooltipBox {\n position-area: top;\n bottom: var(--gap);\n left: var(--offsetToTheEdge);\n right: var(--offsetToTheEdge);\n}\n.plTooltipContainer.top .plTooltipBeak {\n position-area: top;\n bottom: 0;\n left: calc(anchor(var(--anchorName) center) - var(--tailWidth) / 2);\n clip-path: var(--tailClipTop);\n}\n\n/* bottom */\n.plTooltipContainer.bottom .plTooltipBox {\n position-area: bottom;\n top: var(--gap);\n left: var(--offsetToTheEdge);\n right: var(--offsetToTheEdge);\n}\n.plTooltipContainer.bottom .plTooltipBeak {\n position-area: bottom;\n top: 0;\n left: calc(anchor(var(--anchorName) center) - var(--tailWidth) / 2);\n clip-path: var(--tailClipBottom);\n}\n\n/* left */\n.plTooltipContainer.left .plTooltipBox {\n position-area: left;\n right: var(--gap);\n top: var(--offsetToTheEdge);\n bottom: var(--offsetToTheEdge);\n}\n\n.plTooltipContainer.left .plTooltipBeak {\n position-area: left;\n right: 0;\n top: calc(anchor(var(--anchorName) center) - var(--tailWidth) / 2);\n width: var(--tailHeight);\n height: var(--tailWidth);\n clip-path: var(--tailClipLeft);\n}\n\n/* right */\n.plTooltipContainer.right .plTooltipBox {\n position-area: right;\n left: var(--gap);\n top: var(--offsetToTheEdge);\n bottom: var(--offsetToTheEdge);\n}\n\n.plTooltipContainer.right .plTooltipBeak {\n position-area: right;\n left: 0;\n top: calc(anchor(var(--anchorName) center) - var(--tailWidth) / 2);\n width: var(--tailHeight);\n height: var(--tailWidth);\n clip-path: var(--tailClipRight);\n}\n\n/* top left */\n.plTooltipContainer.topLeft .plTooltipBox {\n position-area: top;\n bottom: var(--gap);\n left: anchor(var(--anchorName) left);\n}\n.plTooltipContainer.topLeft .plTooltipBeak {\n position-area: top;\n bottom: 0;\n left: calc(anchor(var(--anchorName) center) - var(--tailWidth) / 2);\n clip-path: var(--tailClipTop);\n}\n\n:global(.pl-tooltip-fade-leave-active),\n:global(.pl-tooltip-fade-enter-active) {\n z-index: var(--z-tooltip);\n transition: opacity 0.2s ease-in-out;\n}\n:global(.pl-tooltip-fade-enter-from),\n:global(.pl-tooltip-fade-leave-to) {\n opacity: 0;\n}\n\n.plTooltipContent a {\n color: var(--tooltip-link-color);\n}\n\n.plTooltipContent p {\n margin-bottom: 8px;\n}\n\n.plTooltipContent ul,\n.plTooltipContent li {\n margin-left: 6px;\n padding-left: 6px;\n}\n\n.plTooltipContent li {\n margin-bottom: 4px;\n}\n</style>\n"],"names":["__default__","emit","__emit","tKey","props","__props","data","reactive","tMap","closeTooltip","watch","v","clearTimeout","showTooltip","k","f","onOver","utils.delay","onLeave","utils.timeout","hide","rootRef","ref","tooltip","useClickOutside","onUnmounted","anchorName","uniqueId","_createBlock","_resolveDynamicComponent","_mergeProps","$style","$attrs","_renderSlot","_ctx","_createVNode","_Transition","$slots","_Teleport","_createElementVNode","_normalizeClass","_normalizeStyle"],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ const o = "_plTooltipAnchorWrapper_nqgdz_2", t = "_plTooltipContainer_nqgdz_16", p = "_plTooltipContent_nqgdz_36", n = "_plTooltipBox_nqgdz_47", l = "_plTooltipBeak_nqgdz_53", _ = "_top_nqgdz_63", e = "_bottom_nqgdz_77", i = "_left_nqgdz_91", r = "_right_nqgdz_108", T = "_topLeft_nqgdz_125", c = {
2
+ plTooltipAnchorWrapper: o,
3
+ plTooltipContainer: t,
4
+ plTooltipContent: p,
5
+ plTooltipBox: n,
6
+ plTooltipBeak: l,
7
+ top: _,
8
+ bottom: e,
9
+ left: i,
10
+ right: r,
11
+ topLeft: T
12
+ };
13
+ export {
14
+ e as bottom,
15
+ c as default,
16
+ i as left,
17
+ o as plTooltipAnchorWrapper,
18
+ l as plTooltipBeak,
19
+ n as plTooltipBox,
20
+ t as plTooltipContainer,
21
+ p as plTooltipContent,
22
+ r as right,
23
+ _ as top,
24
+ T as topLeft
25
+ };
26
+ //# sourceMappingURL=PlTooltip.vue3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PlTooltip.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
@@ -31,8 +31,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
31
31
  }>, {
32
32
  label: string;
33
33
  error: undefined;
34
- disabled: boolean;
35
34
  mode: SliderMode;
35
+ disabled: boolean;
36
36
  min: number;
37
37
  step: number;
38
38
  helper: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.vue.d.ts","sourceRoot":"","sources":["../../src/components/Slider.vue"],"names":[],"mappings":"AAwNA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAsIJ,iBAAS,cAAc;WAkIT,OAAO,IAA6B;;yBAZrB,GAAG;;;;;;;EAiB/B;AAqBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;WA1ST,MAAM;;cAMH,OAAO;UAHX,UAAU;SANX,MAAM;UAEL,MAAM;YAEJ,MAAM;aAGL,MAAM;iBACF,OAAO;;;;kBA+SvB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"Slider.vue.d.ts","sourceRoot":"","sources":["../../src/components/Slider.vue"],"names":[],"mappings":"AAwNA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQ3C,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAsIJ,iBAAS,cAAc;WAkIT,OAAO,IAA6B;;yBAZrB,GAAG;;;;;;;EAiB/B;AAqBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;WA1ST,MAAM;;UAGP,UAAU;cAGN,OAAO;SATZ,MAAM;UAEL,MAAM;YAEJ,MAAM;aAGL,MAAM;iBACF,OAAO;;;;kBA+SvB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
@@ -1,10 +1,10 @@
1
- import { defineComponent as z, useSlots as F, reactive as I, computed as r, ref as v, watch as K, createElementBlock as i, openBlock as s, normalizeClass as R, createElementVNode as l, createCommentVNode as a, createBlock as P, toDisplayString as m, unref as _, withCtx as U, renderSlot as O, normalizeStyle as h, Fragment as j, renderList as q } from "vue";
2
- import { useMouseCapture as G } from "../composition/useMouseCapture.js";
3
- import { tapIf as H } from "../helpers/functions.js";
1
+ import { defineComponent as P, useSlots as z, reactive as F, computed as r, ref as v, watch as I, createElementBlock as i, openBlock as s, normalizeClass as R, createElementVNode as l, createCommentVNode as a, createBlock as K, toDisplayString as m, unref as p, withCtx as U, renderSlot as O, normalizeStyle as h, Fragment as T, renderList as j } from "vue";
2
+ import { useMouseCapture as q } from "../composition/useMouseCapture.js";
3
+ import { tapIf as G } from "../helpers/functions.js";
4
4
  import { clamp as b } from "../helpers/math.js";
5
- import J from "./PlTooltip/PlTooltip.vue.js";
6
- import { useSliderBreakpoints as Q } from "../composition/useSliderBreakpoints.js";
7
- import { getErrorMessage as T } from "../helpers/error.js";
5
+ import H from "./PlTooltip/PlTooltip.vue.js";
6
+ import { useSliderBreakpoints as J } from "../composition/useSliderBreakpoints.js";
7
+ import { getErrorMessage as Q } from "../helpers/error.js";
8
8
  const W = { class: "ui-slider__wrapper" }, X = { class: "ui-slider__label-section" }, Y = {
9
9
  key: 0,
10
10
  class: "text-s"
@@ -14,7 +14,7 @@ const W = { class: "ui-slider__wrapper" }, X = { class: "ui-slider__label-sectio
14
14
  }, ee = { class: "ui-slider__base" }, te = { class: "ui-slider__container" }, le = { class: "ui-slider__container ui-slider__container-thumb" }, oe = { class: "ui-slider__input-wrapper d-flex" }, se = ["value"], re = {
15
15
  key: 0,
16
16
  class: "ui-slider__error"
17
- }, _e = /* @__PURE__ */ z({
17
+ }, pe = /* @__PURE__ */ P({
18
18
  __name: "Slider",
19
19
  props: {
20
20
  modelValue: {},
@@ -31,37 +31,37 @@ const W = { class: "ui-slider__wrapper" }, X = { class: "ui-slider__label-sectio
31
31
  },
32
32
  emits: ["update:modelValue"],
33
33
  setup(n, { emit: A }) {
34
- const B = F(), V = A, e = n, d = I({
34
+ const B = z(), V = A, e = n, d = F({
35
35
  deltaValue: 0
36
36
  }), y = r(() => e.max - e.min), x = r(() => b((e.modelValue ?? 0) + d.deltaValue, e.min, e.max)), c = v(e.modelValue), g = r(() => {
37
37
  const t = e.modelValue;
38
- return Number.isFinite(t) ? t < e.min ? `Min value: ${e.min}` : t > e.max ? `Max value: ${e.max}` : T(e.error) : "Not a number";
39
- }), C = r(() => e), $ = Q(C), k = r(() => (x.value - e.min) / y.value), N = r(() => ({
38
+ return Number.isFinite(t) ? t < e.min ? `Min value: ${e.min}` : t > e.max ? `Max value: ${e.max}` : Q(e.error) : "Not a number";
39
+ }), C = r(() => e), N = J(C), k = r(() => (x.value - e.min) / y.value), $ = r(() => ({
40
40
  right: Math.ceil((1 - k.value) * 100) + "%"
41
41
  })), E = r(() => ({
42
42
  right: `calc(${Math.ceil((1 - k.value) * 100)}%) `
43
43
  })), w = v(), S = v();
44
- K(
44
+ I(
45
45
  () => e.modelValue,
46
46
  (t) => {
47
47
  c.value = t;
48
48
  }
49
49
  );
50
- function p(t) {
50
+ function _(t) {
51
51
  const o = b(t, e.min, e.max);
52
52
  return Math.round((o + Number.EPSILON) * (1 / e.step)) / (1 / e.step);
53
53
  }
54
- G(S, (t) => {
54
+ q(S, (t) => {
55
55
  var o;
56
- H((o = _(w)) == null ? void 0 : o.getBoundingClientRect(), (u) => {
56
+ G((o = p(w)) == null ? void 0 : o.getBoundingClientRect(), (u) => {
57
57
  const { dx: f } = t;
58
- d.deltaValue = f / u.width * y.value, c.value = p(
58
+ d.deltaValue = f / u.width * y.value, c.value = _(
59
59
  b((e.modelValue ?? 0) + d.deltaValue, e.min, e.max)
60
- ), t.stop && (V("update:modelValue", p(x.value)), d.deltaValue = 0);
60
+ ), t.stop && (V("update:modelValue", _(x.value)), d.deltaValue = 0);
61
61
  });
62
62
  });
63
63
  function M(t) {
64
- V("update:modelValue", p(t));
64
+ V("update:modelValue", _(t));
65
65
  }
66
66
  function D(t) {
67
67
  M(+t.target.value);
@@ -81,7 +81,7 @@ const W = { class: "ui-slider__wrapper" }, X = { class: "ui-slider__label-sectio
81
81
  l("div", X, [
82
82
  n.label ? (s(), i("label", Y, [
83
83
  l("span", null, m(n.label), 1),
84
- _(B).tooltip ? (s(), P(_(J), {
84
+ p(B).tooltip ? (s(), K(p(H), {
85
85
  key: 0,
86
86
  class: "info",
87
87
  position: "top"
@@ -103,12 +103,12 @@ const W = { class: "ui-slider__wrapper" }, X = { class: "ui-slider__label-sectio
103
103
  }, [
104
104
  l("div", {
105
105
  class: "ui-slider__progress",
106
- style: h(N.value)
106
+ style: h($.value)
107
107
  }, null, 4)
108
108
  ], 512)
109
109
  ]),
110
110
  l("div", le, [
111
- e.breakpoints ? (s(!0), i(j, { key: 0 }, q(_($), (u, f) => (s(), i("div", {
111
+ e.breakpoints ? (s(!0), i(T, { key: 0 }, j(p(N), (u, f) => (s(), i("div", {
112
112
  key: f,
113
113
  style: h({ right: `${u}%` }),
114
114
  class: "ui-slider__thumb-step"
@@ -140,6 +140,6 @@ const W = { class: "ui-slider__wrapper" }, X = { class: "ui-slider__label-sectio
140
140
  }
141
141
  });
142
142
  export {
143
- _e as default
143
+ pe as default
144
144
  };
145
145
  //# sourceMappingURL=Slider.vue.js.map
@@ -32,8 +32,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
32
32
  }>, {
33
33
  label: string;
34
34
  error: undefined;
35
- disabled: boolean;
36
35
  mode: SliderMode;
36
+ disabled: boolean;
37
37
  min: number;
38
38
  step: number;
39
39
  helper: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SliderRange.vue.d.ts","sourceRoot":"","sources":["../../src/components/SliderRange.vue"],"names":[],"mappings":"AAgRA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3C,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAmLJ,iBAAS,cAAc;WA6JT,OAAO,IAA6B;;yBAbrB,GAAG;;;;;;;;EAkB/B;AAyBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;WAtXT,MAAM;;cAMH,OAAO;UAHX,UAAU;SANX,MAAM;UAEL,MAAM;YAEJ,MAAM;aAGL,MAAM;iBACF,OAAO;;;;;OA0XvB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
1
+ {"version":3,"file":"SliderRange.vue.d.ts","sourceRoot":"","sources":["../../src/components/SliderRange.vue"],"names":[],"mappings":"AAgRA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAS3C,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAmLJ,iBAAS,cAAc;WA6JT,OAAO,IAA6B;;yBAbrB,GAAG;;;;;;;;EAkB/B;AAyBD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;WAtXT,MAAM;;UAGP,UAAU;cAGN,OAAO;SATZ,MAAM;UAEL,MAAM;YAEJ,MAAM;aAGL,MAAM;iBACF,OAAO;;;;;OA0XvB,CAAC;wBACkB,uBAAuB,CAAC,OAAO,eAAe,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAAnG,wBAAoG;AAapG,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}