@milaboratories/uikit 2.3.13 → 2.3.15
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.
- package/.turbo/turbo-build.log +53 -40
- package/.turbo/turbo-type-check.log +1 -1
- package/CHANGELOG.md +17 -0
- package/dist/components/DataTable/TableComponent.vue.js +23 -23
- package/dist/components/PlAccordion/{ExpandTransition.vue2.js → ExpandTransition.vue.js} +1 -1
- package/dist/components/PlAccordion/ExpandTransition.vue.js.map +1 -0
- package/dist/components/PlAccordion/ExpandTransition.vue3.js +1 -1
- package/dist/components/PlAccordion/PlAccordionSection.vue2.js +1 -1
- package/dist/components/PlAutocomplete/PlAutocomplete.vue.js +1 -1
- package/dist/components/PlBtnGhost/PlBtnGhost.vue.js +1 -1
- package/dist/components/PlConfirmDialog.vue.d.ts +22 -0
- package/dist/components/PlConfirmDialog.vue.d.ts.map +1 -0
- package/dist/components/PlConfirmDialog.vue.js +63 -0
- package/dist/components/PlConfirmDialog.vue.js.map +1 -0
- package/dist/components/PlConfirmDialog.vue2.js +5 -0
- package/dist/components/PlConfirmDialog.vue2.js.map +1 -0
- package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts +8 -4
- package/dist/components/PlDialogModal/PlDialogModal.vue.d.ts.map +1 -1
- package/dist/components/PlDialogModal/PlDialogModal.vue.js +38 -38
- package/dist/components/PlDialogModal/PlDialogModal.vue.js.map +1 -1
- package/dist/components/PlDropdown/PlDropdown.vue.js +1 -1
- package/dist/components/PlDropdownLegacy/PlDropdownLegacy.vue.js +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts +1 -1
- package/dist/components/PlDropdownLine/PlDropdownLine.vue.d.ts.map +1 -1
- package/dist/components/PlDropdownMulti/PlDropdownMulti.vue.js +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.d.ts +1 -1
- package/dist/components/PlDropdownRef/PlDropdownRef.vue.d.ts.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts +4 -0
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.d.ts.map +1 -1
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.js +47 -43
- package/dist/components/PlEditableTitle/PlEditableTitle.vue.js.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue.d.ts.map +1 -1
- package/dist/components/PlElementList/PlElementList.vue2.js +20 -16
- package/dist/components/PlElementList/PlElementList.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue.d.ts.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue2.js +10 -9
- package/dist/components/PlElementList/PlElementListItem.vue2.js.map +1 -1
- package/dist/components/PlElementList/PlElementListItem.vue3.js +29 -29
- package/dist/components/PlElementList/utils.d.ts.map +1 -1
- package/dist/components/PlElementList/utils.js +4 -3
- package/dist/components/PlElementList/utils.js.map +1 -1
- package/dist/components/PlFileInput/PlFileInput.vue.js +1 -1
- package/dist/components/PlSidebar/PlSidebarGroup.vue.d.ts +20 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue.d.ts.map +1 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue.js +10 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue.js.map +1 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js +21 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue2.js.map +1 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue3.js +11 -0
- package/dist/components/PlSidebar/PlSidebarGroup.vue3.js.map +1 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts +30 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue.d.ts.map +1 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue.js +10 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue.js.map +1 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js +39 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue2.js.map +1 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue3.js +17 -0
- package/dist/components/PlSidebar/PlSidebarItem.vue3.js.map +1 -0
- package/dist/components/PlSidebar/index.d.ts +3 -0
- package/dist/components/PlSidebar/index.d.ts.map +1 -0
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts +22 -0
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.d.ts.map +1 -0
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js +150 -0
- package/dist/components/PlSlideModal/PlPureSlideModal.vue.js.map +1 -0
- package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js +5 -0
- package/dist/components/PlSlideModal/PlPureSlideModal.vue2.js.map +1 -0
- package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts +3 -42
- package/dist/components/PlSlideModal/PlSlideModal.vue.d.ts.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue.js +7 -162
- package/dist/components/PlSlideModal/PlSlideModal.vue.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js +45 -2
- package/dist/components/PlSlideModal/PlSlideModal.vue2.js.map +1 -1
- package/dist/components/PlSlideModal/PlSlideModal.vue3.js +9 -0
- package/dist/components/PlSlideModal/PlSlideModal.vue3.js.map +1 -0
- package/dist/components/PlSlideModal/index.d.ts +1 -0
- package/dist/components/PlSlideModal/index.d.ts.map +1 -1
- package/dist/components/PlSlideModal/props.d.ts +20 -0
- package/dist/components/PlSlideModal/props.d.ts.map +1 -0
- package/dist/components/PlSlideModal/props.js +10 -0
- package/dist/components/PlSlideModal/props.js.map +1 -0
- package/dist/components/PlTextArea/PlTextArea.vue.js +1 -1
- package/dist/components/PlTextField/PlTextField.vue.js +1 -1
- package/dist/composition/useConfirm.d.ts +8 -0
- package/dist/composition/useConfirm.d.ts.map +1 -0
- package/dist/composition/useConfirm.js +23 -0
- package/dist/composition/useConfirm.js.map +1 -0
- package/dist/generated/components/svg/images/{SvgRequired.vue.js → SvgRequired.vue2.js} +1 -1
- package/dist/generated/components/svg/images/SvgRequired.vue2.js.map +1 -0
- package/dist/index.d.ts +49 -47
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +202 -194
- package/dist/index.js.map +1 -1
- package/dist/lib/model/common/dist/index.js +10 -10
- package/dist/node_modules/.pnpm/@vueuse_core@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/core/index.js +1 -1
- package/dist/node_modules/.pnpm/@vueuse_shared@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/shared/index.js +3 -3
- package/dist/sdk/model/dist/index.js +113 -113
- package/dist/sdk/model/dist/index.js.map +1 -1
- package/package.json +4 -3
- package/src/assets/variables.scss +4 -1
- package/src/components/PlBtnGhost/pl-btn-ghost.scss +0 -7
- package/src/components/PlConfirmDialog.vue +55 -0
- package/src/components/PlDialogModal/PlDialogModal.vue +6 -2
- package/src/components/PlEditableTitle/PlEditableTitle.vue +13 -2
- package/src/components/PlElementList/PlElementList.vue +14 -6
- package/src/components/PlElementList/PlElementListItem.vue +6 -4
- package/src/components/PlElementList/utils.ts +2 -0
- package/src/components/PlSidebar/PlSidebarGroup.vue +35 -0
- package/src/components/PlSidebar/PlSidebarItem.vue +59 -0
- package/src/components/PlSidebar/index.ts +2 -0
- package/src/components/PlSlideModal/PlPureSlideModal.vue +57 -0
- package/src/components/PlSlideModal/PlSlideModal.vue +31 -75
- package/src/components/PlSlideModal/index.ts +1 -0
- package/src/components/PlSlideModal/pl-slide-modal.scss +5 -4
- package/src/components/PlSlideModal/props.ts +25 -0
- package/src/composition/useConfirm.ts +35 -0
- package/src/index.ts +51 -47
- package/dist/components/PlAccordion/ExpandTransition.vue2.js.map +0 -1
- package/dist/generated/components/svg/images/SvgRequired.vue.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpandTransition.vue.js","sources":["../../../src/components/PlAccordion/ExpandTransition.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nconst onStart = (el: Element) => {\n el.classList.add('expand-collapse-fix');\n (el as HTMLElement).style.setProperty('--component-height', el.scrollHeight + 'px');\n};\n\nconst onAfter = (el: Element) => {\n (el as HTMLElement).style.removeProperty('--component-height');\n el.classList.remove('expand-collapse-fix');\n};\n</script>\n\n<template>\n <Transition name=\"expand-collapse\" @enter=\"onStart\" @leave=\"onStart\" @after-enter=\"onAfter\" @after-leave=\"onAfter\">\n <slot/>\n </Transition>\n</template>\n\n<style>\n.expand-collapse-fix {\n overflow: hidden;\n}\n\n.expand-collapse-enter-active,\n.expand-collapse-leave-active {\n transition:\n height 0.2s ease-in-out,\n opacity 0.2s ease-in-out;\n height: var(--component-height);\n}\n\n.expand-collapse-enter-from,\n.expand-collapse-leave-to {\n opacity: 0.5;\n height: 0;\n}\n</style>\n"],"names":["onStart","el","onAfter"],"mappings":";;;;AACM,UAAAA,IAAU,CAACC,MAAgB;AAC5B,MAAAA,EAAA,UAAU,IAAI,qBAAqB,GACrCA,EAAmB,MAAM,YAAY,sBAAsBA,EAAG,eAAe,IAAI;AAAA,IACpF,GAEMC,IAAU,CAACD,MAAgB;AAC9B,MAAAA,EAAmB,MAAM,eAAe,oBAAoB,GAC1DA,EAAA,UAAU,OAAO,qBAAqB;AAAA,IAC3C;;;;;;;;;;;;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var e=document.createElement("style");e.appendChild(document.createTextNode(".expand-collapse-fix{overflow:hidden}.expand-collapse-enter-active,.expand-collapse-leave-active{transition:height .2s ease-in-out,opacity .2s ease-in-out;height:var(--component-height)}.expand-collapse-enter-from,.expand-collapse-leave-to{opacity:.5;height:0}")),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
-
import o from "./ExpandTransition.
|
|
2
|
+
import o from "./ExpandTransition.vue.js";
|
|
3
3
|
|
|
4
4
|
export {
|
|
5
5
|
o as default
|
|
@@ -3,7 +3,7 @@ import { defineComponent as M, mergeModels as V, inject as i, toRef as m, useMod
|
|
|
3
3
|
import { uniqueId as B } from "../../lib/util/helpers/dist/index.js";
|
|
4
4
|
import N from "../PlIcon16/PlIcon16.vue.js";
|
|
5
5
|
import P from "../PlSectionSeparator/PlSectionSeparator.vue.js";
|
|
6
|
-
import _ from "./ExpandTransition.
|
|
6
|
+
import _ from "./ExpandTransition.vue.js";
|
|
7
7
|
|
|
8
8
|
const b = { class: "pl-accordion-section" }, E = /* @__PURE__ */ M({
|
|
9
9
|
__name: "PlAccordionSection",
|
|
@@ -15,7 +15,7 @@ import Oe from "../PlIcon16/PlIcon16.vue.js";
|
|
|
15
15
|
import xe from "../PlIcon24/PlIcon24.vue.js";
|
|
16
16
|
import Ee from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
|
|
17
17
|
import { useWatchFetch as H } from "../../composition/useWatchFetch.js";
|
|
18
|
-
import Ve from "../../generated/components/svg/images/SvgRequired.
|
|
18
|
+
import Ve from "../../generated/components/svg/images/SvgRequired.vue2.js";
|
|
19
19
|
import { getErrorMessage as Ae } from "../../helpers/error.js";
|
|
20
20
|
import { debouncedRef as Ce } from "../../node_modules/.pnpm/@vueuse_shared@13.3.0_vue@3.5.13_typescript@5.6.3_/node_modules/@vueuse/shared/index.js";
|
|
21
21
|
const De = ["tabindex"], Re = { class: "pl-autocomplete__container" }, Fe = { class: "pl-autocomplete__field" }, Me = ["disabled", "placeholder"], $e = {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".pl-btn-ghost{--font-size: 14px;--border-radius: 6px;--button-height: 40px;--focus-shadow: 0 0 0 0 transparent;--btn-disabled-bg: var(--color-dis-01);--color-text: var(--txt-00);--shape-shadow: 0 0 0 0 transparent;--append-shadow: 0 0 0 0 transparent;--drop-shadow: 0 0 0 0 transparent;--active-shadow: 0 0 0 0 transparent;--main-padding: 0 12px;text-transform:capitalize;position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:space-between;align-items:center;white-space:nowrap;gap:8px;padding:var(--main-padding);color:var(--color-text);font-weight:600;font-size:var(--font-size);font-family:var(--font-family-base);line-height:16px;height:var(--button-height);min-height:var(--button-height);border-radius:var(--border-radius);outline:none;-webkit-user-select:none;user-select:none;transition:box-shadow .05s ease-in-out;box-shadow:var(--focus-shadow),var(--append-shadow),var(--shape-shadow),var(--active-shadow),var(--drop-shadow)}.pl-btn-ghost.justifyCenter{justify-content:center}.pl-btn-ghost.round{border-radius:50%;width:var(--button-height);min-width:var(--button-height);padding:0;justify-content:center}.pl-btn-ghost.small{--button-height: 32px;--main-padding: 0 8px}.pl-btn-ghost.medium{--main-padding: 0 16px}.pl-btn-ghost.large{--button-height: 56px;--border-radius: 8px;--font-size: 16px;--main-padding: 0 18px}.pl-btn-ghost.large .mask{--mask-size: 24px}.pl-btn-ghost:disabled{--color-text: var(--dis-00);--icon-color: var(--dis-00)}.pl-btn-ghost:disabled *{color:var(--color-text)}.pl-btn-ghost:not([disabled]){cursor:pointer}.pl-btn-ghost:not([disabled]).hover{background:var(--color-btn-hover)}.pl-btn-ghost:not([disabled]):hover{background:var(--color-btn-hover)}.pl-btn-ghost:focus-visible{--focus-shadow: inset 0 0 0 2px var(--border-color-focus)}.pl-btn-ghost .icon{display:block;width:16px;height:16px}.pl-btn-ghost.loading{box-shadow:none!important}.pl-btn-ghost.loading .mask-loading{display:block;animation:spin 4s linear infinite}.pl-btn-ghost.reverse{flex-direction:row-reverse}.pl-btn-ghost>span{display:inline-flex}.pl-btn-ghost{--color-text: var(--txt-01);--color-btn-hover: var(--btn-sec-hover-grey);--btn-min-width: auto;gap:10px;background:transparent;border:none;width:fit-content;min-width:var(--btn-min-width)}
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var t=document.createElement("style");t.appendChild(document.createTextNode(".pl-btn-ghost{--font-size: 14px;--border-radius: 6px;--button-height: 40px;--focus-shadow: 0 0 0 0 transparent;--btn-disabled-bg: var(--color-dis-01);--color-text: var(--txt-00);--shape-shadow: 0 0 0 0 transparent;--append-shadow: 0 0 0 0 transparent;--drop-shadow: 0 0 0 0 transparent;--active-shadow: 0 0 0 0 transparent;--main-padding: 0 12px;text-transform:capitalize;position:relative;overflow:hidden;display:flex;flex-direction:row;justify-content:space-between;align-items:center;white-space:nowrap;gap:8px;padding:var(--main-padding);color:var(--color-text);font-weight:600;font-size:var(--font-size);font-family:var(--font-family-base);line-height:16px;height:var(--button-height);min-height:var(--button-height);border-radius:var(--border-radius);outline:none;-webkit-user-select:none;user-select:none;transition:box-shadow .05s ease-in-out;box-shadow:var(--focus-shadow),var(--append-shadow),var(--shape-shadow),var(--active-shadow),var(--drop-shadow)}.pl-btn-ghost.justifyCenter{justify-content:center}.pl-btn-ghost.round{border-radius:50%;width:var(--button-height);min-width:var(--button-height);padding:0;justify-content:center}.pl-btn-ghost.small{--button-height: 32px;--main-padding: 0 8px}.pl-btn-ghost.medium{--main-padding: 0 16px}.pl-btn-ghost.large{--button-height: 56px;--border-radius: 8px;--font-size: 16px;--main-padding: 0 18px}.pl-btn-ghost.large .mask{--mask-size: 24px}.pl-btn-ghost:disabled{--color-text: var(--dis-00);--icon-color: var(--dis-00)}.pl-btn-ghost:disabled *{color:var(--color-text)}.pl-btn-ghost:not([disabled]){cursor:pointer}.pl-btn-ghost:not([disabled]).hover{background:var(--color-btn-hover)}.pl-btn-ghost:not([disabled]):hover{background:var(--color-btn-hover)}.pl-btn-ghost:focus-visible{--focus-shadow: inset 0 0 0 2px var(--border-color-focus)}.pl-btn-ghost .icon{display:block;width:16px;height:16px}.pl-btn-ghost.loading{box-shadow:none!important}.pl-btn-ghost.loading .mask-loading{display:block;animation:spin 4s linear infinite}.pl-btn-ghost.reverse{flex-direction:row-reverse}.pl-btn-ghost>span{display:inline-flex}.pl-btn-ghost{--color-text: var(--txt-01);--color-btn-hover: var(--btn-sec-hover-grey);--btn-min-width: auto;gap:10px;background:transparent;border:none;width:fit-content;min-width:var(--btn-min-width)}.pl-btn-ghost:disabled{--color-text: var(--btn-disabled-bg);--icon-color: var(--dis-01);box-shadow:none!important;cursor:auto}.pl-btn-ghost.loading{--color-text: var(--btn-disabled-bg)}")),document.head.appendChild(t)}}catch(o){console.error("vite-plugin-css-injected-by-js",o)}})();
|
|
2
2
|
import { defineComponent as y, computed as a, ref as c, useSlots as z, createElementBlock as r, openBlock as o, mergeProps as B, createCommentVNode as i, renderSlot as s, unref as n, createBlock as d } from "vue";
|
|
3
3
|
|
|
4
4
|
import u from "../PlIcon24/PlIcon24.vue.js";
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
opened?: boolean;
|
|
3
|
+
title: string;
|
|
4
|
+
message: string;
|
|
5
|
+
confirmLabel: string;
|
|
6
|
+
cancelLabel: string;
|
|
7
|
+
onConfirm?: () => void;
|
|
8
|
+
onCancel?: () => void;
|
|
9
|
+
};
|
|
10
|
+
declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
|
|
11
|
+
cancel: () => any;
|
|
12
|
+
confirm: () => any;
|
|
13
|
+
}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
14
|
+
onCancel?: (() => any) | undefined;
|
|
15
|
+
onConfirm?: (() => any) | undefined;
|
|
16
|
+
}>, {
|
|
17
|
+
onCancel: () => void;
|
|
18
|
+
opened: boolean;
|
|
19
|
+
onConfirm: () => void;
|
|
20
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
|
|
21
|
+
export default _default;
|
|
22
|
+
//# sourceMappingURL=PlConfirmDialog.vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlConfirmDialog.vue.d.ts","sourceRoot":"","sources":["../../src/components/PlConfirmDialog.vue"],"names":[],"mappings":"AA6DA,KAAK,WAAW,GAAG;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;;;;;;;;cADW,MAAM,IAAI;YANZ,OAAO;eAKJ,MAAM,IAAI;;AA+I1B,wBASG"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { defineComponent as C, createBlock as _, openBlock as b, unref as i, withModifiers as m, withCtx as n, createVNode as f, createTextVNode as l, toDisplayString as a } from "vue";
|
|
2
|
+
import k from "./PlBtnPrimary/PlBtnPrimary.vue.js";
|
|
3
|
+
import V from "./PlBtnSecondary/PlBtnSecondary.vue.js";
|
|
4
|
+
import g from "./PlDialogModal/PlDialogModal.vue.js";
|
|
5
|
+
const v = /* @__PURE__ */ C({
|
|
6
|
+
__name: "PlConfirmDialog",
|
|
7
|
+
props: {
|
|
8
|
+
opened: { type: Boolean, default: !0 },
|
|
9
|
+
title: {},
|
|
10
|
+
message: {},
|
|
11
|
+
confirmLabel: {},
|
|
12
|
+
cancelLabel: {},
|
|
13
|
+
onConfirm: { type: Function, default: void 0 },
|
|
14
|
+
onCancel: { type: Function, default: void 0 }
|
|
15
|
+
},
|
|
16
|
+
emits: ["confirm", "cancel"],
|
|
17
|
+
setup(r, { emit: s }) {
|
|
18
|
+
const e = r, c = s, d = () => {
|
|
19
|
+
var o;
|
|
20
|
+
c("confirm"), (o = e.onConfirm) == null || o.call(e);
|
|
21
|
+
}, u = () => {
|
|
22
|
+
var o;
|
|
23
|
+
c("cancel"), (o = e.onCancel) == null || o.call(e);
|
|
24
|
+
};
|
|
25
|
+
return (o, t) => (b(), _(i(g), {
|
|
26
|
+
modelValue: e.opened,
|
|
27
|
+
"onUpdate:modelValue": t[0] || (t[0] = (p) => e.opened = p),
|
|
28
|
+
closable: !1,
|
|
29
|
+
onClick: t[1] || (t[1] = m(() => {
|
|
30
|
+
}, ["stop"]))
|
|
31
|
+
}, {
|
|
32
|
+
title: n(() => [
|
|
33
|
+
l(a(o.title), 1)
|
|
34
|
+
]),
|
|
35
|
+
default: n(() => [
|
|
36
|
+
l(a(o.message), 1)
|
|
37
|
+
]),
|
|
38
|
+
actions: n(() => [
|
|
39
|
+
f(i(k), {
|
|
40
|
+
onClick: m(d, ["stop"])
|
|
41
|
+
}, {
|
|
42
|
+
default: n(() => [
|
|
43
|
+
l(a(e.confirmLabel), 1)
|
|
44
|
+
]),
|
|
45
|
+
_: 1
|
|
46
|
+
}),
|
|
47
|
+
f(i(V), {
|
|
48
|
+
onClick: m(u, ["stop"])
|
|
49
|
+
}, {
|
|
50
|
+
default: n(() => [
|
|
51
|
+
l(a(e.cancelLabel), 1)
|
|
52
|
+
]),
|
|
53
|
+
_: 1
|
|
54
|
+
})
|
|
55
|
+
]),
|
|
56
|
+
_: 1
|
|
57
|
+
}, 8, ["modelValue"]));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
export {
|
|
61
|
+
v as default
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=PlConfirmDialog.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlConfirmDialog.vue.js","sources":["../../src/components/PlConfirmDialog.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { PlBtnPrimary } from './PlBtnPrimary';\nimport { PlBtnSecondary } from './PlBtnSecondary';\nimport { PlDialogModal } from './PlDialogModal';\n\nconst props = withDefaults(\n defineProps<{\n opened?: boolean;\n title: string;\n message: string;\n confirmLabel: string;\n cancelLabel: string;\n onConfirm?: () => void;\n onCancel?: () => void;\n }>(), {\n opened: true,\n onCancel: undefined,\n onConfirm: undefined,\n },\n);\n\nconst emits = defineEmits<{\n confirm: [];\n cancel: [];\n}>();\n\nconst handleConfirm = () => {\n emits('confirm');\n props.onConfirm?.();\n};\n\nconst handleCancel = () => {\n emits('cancel');\n props.onCancel?.();\n};\n</script>\n\n<template>\n <PlDialogModal v-model=\"props.opened\" :closable=\"false\" @click.stop>\n <template #title>\n {{ title }}\n </template>\n <template #default>\n {{ message }}\n </template>\n <template #actions>\n <PlBtnPrimary @click.stop=\"handleConfirm\">\n {{ props.confirmLabel }}\n </PlBtnPrimary>\n <PlBtnSecondary @click.stop=\"handleCancel\">\n {{ props.cancelLabel }}\n </PlBtnSecondary>\n </template>\n </PlDialogModal>\n</template>\n"],"names":["props","__props","emits","__emit","handleConfirm","_a","handleCancel"],"mappings":";;;;;;;;;;;;;;;;;AAKA,UAAMA,IAAQC,GAgBRC,IAAQC,GAKRC,IAAgB,MAAM;;AAC1B,MAAAF,EAAM,SAAS,IACfG,IAAAL,EAAM,cAAN,QAAAK,EAAA,KAAAL;AAAA,IACF,GAEMM,IAAe,MAAM;;AACzB,MAAAJ,EAAM,QAAQ,IACdG,IAAAL,EAAM,aAAN,QAAAK,EAAA,KAAAL;AAAA,IACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PlConfirmDialog.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -104,10 +104,14 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
104
104
|
actionsHasTopBorder: boolean;
|
|
105
105
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
106
106
|
modal: HTMLDivElement;
|
|
107
|
-
}, any>, {
|
|
108
|
-
title
|
|
109
|
-
default
|
|
110
|
-
actions
|
|
107
|
+
}, any>, Readonly<{
|
|
108
|
+
title?: () => unknown;
|
|
109
|
+
default?: () => unknown;
|
|
110
|
+
actions?: () => unknown;
|
|
111
|
+
}> & {
|
|
112
|
+
title?: () => unknown;
|
|
113
|
+
default?: () => unknown;
|
|
114
|
+
actions?: () => unknown;
|
|
111
115
|
}>;
|
|
112
116
|
export default _default;
|
|
113
117
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDialogModal.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDialogModal/PlDialogModal.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlDialogModal.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDialogModal/PlDialogModal.vue"],"names":[],"mappings":"AA6JA,OAAO,wBAAwB,CAAC;AAGhC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;;IAapC;;OAEG;gBACS,OAAO;IACnB;;OAEG;YACK,MAAM;IACd;;OAEG;aACM,MAAM;IACf;;OAEG;gBACS,MAAM;IAClB;;OAEG;gBACS,MAAM;IAClB;;OAEG;eACQ,OAAO;IAClB;;OAEG;uBACgB,OAAO;IAC1B;;OAEG;yBACkB,OAAO;IAC5B;;OAEG;0BACmB,OAAO;IAC7B;;OAEG;0BACmB,OAAO;IAC7B;;OAEG;WACI,IAAI,GAAG,SAAS;;;;IA3CvB;;OAEG;gBACS,OAAO;IACnB;;OAEG;YACK,MAAM;IACd;;OAEG;aACM,MAAM;IACf;;OAEG;gBACS,MAAM;IAClB;;OAEG;gBACS,MAAM;IAClB;;OAEG;eACQ,OAAO;IAClB;;OAEG;uBACgB,OAAO;IAC1B;;OAEG;yBACkB,OAAO;IAC5B;;OAEG;0BACmB,OAAO;IAC7B;;OAEG;0BACmB,OAAO;IAC7B;;OAEG;WACI,IAAI,GAAG,SAAS;;;;;YAhCd,MAAM;WAJP,MAAM;eAYF,MAAM;eAJN,MAAM;cAQP,OAAO;sBAIC,OAAO;yBAQJ,OAAO;;;;YA3CvB,MAAM,OAAO;cACX,MAAM,OAAO;cACb,MAAM,OAAO;;YAFf,MAAM,OAAO;cACX,MAAM,OAAO;cACb,MAAM,OAAO;;AAJzB,wBAsQK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode(".pl-dialog-modal{--padding-top: 24px;--border-radius: 16px;--title-padding: 24px 24px 0 24px;min-height:400px;max-height:calc(100vh - 48px);max-width:calc(100% - 48px);min-width:448px;position:absolute;top:50%;left:50%;transform:translateY(-50%) translate(-50%);background-color:#fff;padding-top:var(--padding-top);display:flex;flex-direction:column;box-shadow:0 2px 8px #24223d1f;border-radius:var(--border-radius)}.pl-dialog-modal.has-title{--padding-top: 0}.pl-dialog-modal.has-content{--title-padding: 24px}.pl-dialog-modal__title{display:flex;align-items:center;font-family:var(--font-family-base);font-size:28px;font-style:normal;font-weight:500;line-height:32px;letter-spacing:-.56px;padding:var(--title-padding)}.pl-dialog-modal__content{flex:1;display:flex;flex-direction:column;gap:24px;padding:16px 24px 40px;min-height:0;line-height:20px;--thumb-color: var(--ic-02);overflow-y:auto}.pl-dialog-modal__content::-webkit-scrollbar{width:var(--scrollbar-width, 6px);height:5px;background-color:transparent;display:block}.pl-dialog-modal__content::-webkit-scrollbar-thumb{background:var(--thumb-color);border-radius:5px}.pl-dialog-modal__content::-webkit-scrollbar-thumb:hover{--thumb-color: var(--border-color-focus)}.pl-dialog-modal__content.no-content-gutters{padding:0}.pl-dialog-modal__content.no-top-content-gutter{padding-top:0}.pl-dialog-modal__actions{display:flex;align-items:center;gap:6px;min-height:88px;padding:0 24px}.pl-dialog-modal__actions button{min-width:160px}.pl-dialog-modal__actions.has-top-border{border-top:1px solid var(--border-color-div-grey)}.pl-dialog-modal .alert-error{background-color:var(--txt-error);color:#fff;font-weight:500;padding:12px;border-radius:6px}.pl-dialog-modal .alert-warning{background-color:#fee0a3;font-weight:500;padding:12px;border-radius:6px}.pl-dialog-modal__shadow{position:absolute;z-index:var(--z-dialog);top:var(--title-bar-height);left:0;right:0;bottom:0;background-color:#000000a3}.pl-dialog-modal .close-modal-btn{position:absolute;top:4px;right:4px}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
|
|
2
|
-
import { defineComponent as
|
|
3
|
-
import { useEventListener as
|
|
2
|
+
import { defineComponent as B, useSlots as H, ref as _, computed as v, createBlock as p, openBlock as t, Teleport as V, createVNode as w, Transition as b, withCtx as x, createElementBlock as u, createCommentVNode as l, createElementVNode as c, mergeProps as T, withModifiers as $, renderSlot as r, normalizeClass as f } from "vue";
|
|
3
|
+
import { useEventListener as E } from "../../composition/useEventListener.js";
|
|
4
4
|
|
|
5
|
-
import
|
|
6
|
-
const
|
|
5
|
+
import G from "../../utils/PlCloseModalBtn.vue.js";
|
|
6
|
+
const O = {
|
|
7
7
|
key: 1,
|
|
8
8
|
class: "pl-dialog-modal__title"
|
|
9
|
-
},
|
|
9
|
+
}, z = {
|
|
10
10
|
inheritAttrs: !1
|
|
11
|
-
},
|
|
12
|
-
...
|
|
11
|
+
}, A = /* @__PURE__ */ B({
|
|
12
|
+
...z,
|
|
13
13
|
__name: "PlDialogModal",
|
|
14
14
|
props: {
|
|
15
15
|
modelValue: { type: Boolean },
|
|
@@ -25,63 +25,63 @@ const z = {
|
|
|
25
25
|
size: { default: void 0 }
|
|
26
26
|
},
|
|
27
27
|
emits: ["update:modelValue"],
|
|
28
|
-
setup(
|
|
29
|
-
const o =
|
|
30
|
-
const { width: e, height: a, minHeight:
|
|
31
|
-
return
|
|
28
|
+
setup(h, { emit: g }) {
|
|
29
|
+
const o = H(), i = g, n = h, s = _(), y = v(() => {
|
|
30
|
+
const { width: e, height: a, minHeight: m, maxHeight: C, size: d } = n;
|
|
31
|
+
return d === "small" ? {
|
|
32
32
|
width: "448px",
|
|
33
33
|
height: "440px",
|
|
34
34
|
minHeight: "auto",
|
|
35
35
|
maxHeight: "auto"
|
|
36
|
-
} :
|
|
36
|
+
} : d === "medium" ? {
|
|
37
37
|
width: "720px",
|
|
38
38
|
height: "720px",
|
|
39
39
|
minHeight: "auto",
|
|
40
40
|
maxHeight: "auto"
|
|
41
|
-
} :
|
|
41
|
+
} : d === "large" ? {
|
|
42
42
|
width: "1080px",
|
|
43
43
|
height: "880px",
|
|
44
44
|
minHeight: "auto",
|
|
45
45
|
maxHeight: "auto"
|
|
46
|
-
} : { width: e, height: a, minHeight:
|
|
46
|
+
} : { width: e, height: a, minHeight: m, maxHeight: C };
|
|
47
47
|
});
|
|
48
|
-
function
|
|
49
|
-
|
|
48
|
+
function k(e) {
|
|
49
|
+
s.value && n.closeOnOutsideClick && document.contains(e.target) && !s.value.contains(e.target) && i("update:modelValue", !1);
|
|
50
50
|
}
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
}), (e, a) => (t(),
|
|
54
|
-
b
|
|
55
|
-
default:
|
|
56
|
-
e.modelValue ? (t(),
|
|
51
|
+
return E(document.body, "keyup", (e) => {
|
|
52
|
+
n.modelValue && e.code === "Escape" && i("update:modelValue", !1);
|
|
53
|
+
}), (e, a) => (t(), p(V, { to: "body" }, [
|
|
54
|
+
w(b, { name: "dialog" }, {
|
|
55
|
+
default: x(() => [
|
|
56
|
+
e.modelValue ? (t(), u("div", {
|
|
57
57
|
key: 0,
|
|
58
58
|
class: "pl-dialog-modal__shadow",
|
|
59
|
-
onClick:
|
|
59
|
+
onClick: k
|
|
60
60
|
}, [
|
|
61
|
-
|
|
61
|
+
c("div", T(e.$attrs, {
|
|
62
62
|
ref_key: "modal",
|
|
63
|
-
ref:
|
|
64
|
-
class: ["pl-dialog-modal", { "has-title":
|
|
65
|
-
style:
|
|
63
|
+
ref: s,
|
|
64
|
+
class: ["pl-dialog-modal", { "has-title": o.title, "has-content": o.default }],
|
|
65
|
+
style: y.value
|
|
66
66
|
}), [
|
|
67
|
-
e.closable ? (t(),
|
|
67
|
+
e.closable ? (t(), p(G, {
|
|
68
68
|
key: 0,
|
|
69
69
|
class: "close-modal-btn",
|
|
70
|
-
onClick: a[0] || (a[0] =
|
|
70
|
+
onClick: a[0] || (a[0] = $((m) => i("update:modelValue", !1), ["stop"]))
|
|
71
71
|
})) : l("", !0),
|
|
72
|
-
|
|
73
|
-
|
|
72
|
+
o.title ? (t(), u("div", O, [
|
|
73
|
+
r(e.$slots, "title")
|
|
74
74
|
])) : l("", !0),
|
|
75
|
-
|
|
76
|
-
class:
|
|
75
|
+
c("div", {
|
|
76
|
+
class: f(["pl-dialog-modal__content", { "no-content-gutters": e.noContentGutters, "no-top-content-gutter": e.noTopContentGutter }])
|
|
77
77
|
}, [
|
|
78
|
-
|
|
78
|
+
r(e.$slots, "default")
|
|
79
79
|
], 2),
|
|
80
|
-
|
|
80
|
+
o.actions ? (t(), u("div", {
|
|
81
81
|
key: 2,
|
|
82
|
-
class:
|
|
82
|
+
class: f(["pl-dialog-modal__actions", { "has-top-border": e.actionsHasTopBorder }])
|
|
83
83
|
}, [
|
|
84
|
-
|
|
84
|
+
r(e.$slots, "actions")
|
|
85
85
|
], 2)) : l("", !0)
|
|
86
86
|
], 16)
|
|
87
87
|
])) : l("", !0)
|
|
@@ -92,6 +92,6 @@ const z = {
|
|
|
92
92
|
}
|
|
93
93
|
});
|
|
94
94
|
export {
|
|
95
|
-
|
|
95
|
+
A as default
|
|
96
96
|
};
|
|
97
97
|
//# sourceMappingURL=PlDialogModal.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDialogModal.vue.js","sources":["../../../src/components/PlDialogModal/PlDialogModal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { useEventListener } from '../../composition/useEventListener';\nimport './pl-dialog-modal.scss';\nimport { computed, ref
|
|
1
|
+
{"version":3,"file":"PlDialogModal.vue.js","sources":["../../../src/components/PlDialogModal/PlDialogModal.vue"],"sourcesContent":["<script lang=\"ts\">\nexport default {\n inheritAttrs: false,\n};\n</script>\n\n<script lang=\"ts\" setup>\nimport { useEventListener } from '../../composition/useEventListener';\nimport './pl-dialog-modal.scss';\nimport { computed, ref } from 'vue';\nimport PlCloseModalBtn from '../../utils/PlCloseModalBtn.vue';\nimport type { Size } from '../../types';\n\nconst slots = defineSlots<{\n title?: () => unknown;\n default?: () => unknown;\n actions?: () => unknown;\n}>();\n\nconst emit = defineEmits(['update:modelValue']);\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Determines whether the modal is open\n */\n modelValue: boolean;\n /**\n * css width (default value is `448px`)\n */\n width?: string;\n /**\n * css height (default value is `auto`)\n */\n height?: string;\n /**\n * css min-height (default value is `auto`)\n */\n minHeight?: string;\n /**\n * css min-height (default value is `auto` but recommended is 440px)\n */\n maxHeight?: string;\n /**\n * Enables a button to close the modal (default: `true`)\n */\n closable?: boolean;\n /**\n * If `true` content gutters are removed\n */\n noContentGutters?: boolean;\n /**\n * If `true` top content gutter is removed\n */\n noTopContentGutter?: boolean;\n /**\n * Actions slot has a top border (default: `true`)\n */\n actionsHasTopBorder?: boolean;\n /**\n * If `true`, the modal window closes when clicking outside the modal area (default: `true`)\n */\n closeOnOutsideClick?: boolean;\n /**\n * Predefined size (standard small | medium | large). Takes precedence over (min|max)(width|height) properties. Not defined by default.\n */\n size?: Size | undefined;\n }>(),\n {\n width: '448px',\n minHeight: 'auto',\n maxHeight: 'auto',\n height: 'auto',\n closable: true,\n noContentGutters: false,\n actionsHasTopBorder: true,\n size: undefined,\n },\n);\n\nconst modal = ref<HTMLElement>();\n\nconst style = computed(() => {\n const { width, height, minHeight, maxHeight, size } = props;\n\n if (size === 'small') {\n return {\n width: '448px',\n height: '440px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n if (size === 'medium') {\n return {\n width: '720px',\n height: '720px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n if (size === 'large') {\n return {\n width: '1080px',\n height: '880px',\n minHeight: 'auto',\n maxHeight: 'auto',\n };\n }\n\n return { width, height, minHeight, maxHeight };\n});\n\nfunction onClickShadow(ev: Event) {\n if (modal.value && props.closeOnOutsideClick && document.contains(ev.target as Node) && !modal.value.contains(ev.target as Node)) {\n emit('update:modelValue', false);\n }\n}\n\nuseEventListener(document.body, 'keyup', (ev) => {\n if (props.modelValue && ev.code === 'Escape') {\n emit('update:modelValue', false);\n }\n});\n</script>\n\n<template>\n <Teleport to=\"body\">\n <Transition name=\"dialog\">\n <div v-if=\"modelValue\" class=\"pl-dialog-modal__shadow\" @click=\"onClickShadow\">\n <div\n v-bind=\"$attrs\"\n ref=\"modal\"\n class=\"pl-dialog-modal\"\n :class=\"{ 'has-title': slots.title, 'has-content': slots.default }\"\n :style=\"style\"\n >\n <PlCloseModalBtn v-if=\"closable\" class=\"close-modal-btn\" @click.stop=\"emit('update:modelValue', false)\" />\n <div v-if=\"slots.title\" class=\"pl-dialog-modal__title\">\n <slot name=\"title\" />\n </div>\n <div class=\"pl-dialog-modal__content\" :class=\"{ 'no-content-gutters': noContentGutters, 'no-top-content-gutter': noTopContentGutter }\">\n <slot />\n </div>\n <div v-if=\"slots.actions\" class=\"pl-dialog-modal__actions\" :class=\"{ 'has-top-border': actionsHasTopBorder }\">\n <slot name=\"actions\" />\n </div>\n </div>\n </div>\n </Transition>\n </Teleport>\n</template>\n"],"names":["__default__","slots","_useSlots","emit","__emit","props","__props","modal","ref","style","computed","width","height","minHeight","maxHeight","size","onClickShadow","ev","useEventListener"],"mappings":";;;;;;;GACeA,IAAA;AAAA,EACb,cAAc;AAChB;;;;;;;;;;;;;;;;;;AAUA,UAAMC,IAAQC,EAIV,GAEEC,IAAOC,GAEPC,IAAQC,GA2DRC,IAAQC,EAAiB,GAEzBC,IAAQC,EAAS,MAAM;AAC3B,YAAM,EAAE,OAAAC,GAAO,QAAAC,GAAQ,WAAAC,GAAW,WAAAC,GAAW,MAAAC,MAASV;AAEtD,aAAIU,MAAS,UACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MACb,IAGEA,MAAS,WACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MACb,IAGEA,MAAS,UACJ;AAAA,QACL,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,WAAW;AAAA,QACX,WAAW;AAAA,MACb,IAGK,EAAE,OAAAJ,GAAO,QAAAC,GAAQ,WAAAC,GAAW,WAAAC,EAAU;AAAA,IAAA,CAC9C;AAED,aAASE,EAAcC,GAAW;AAChC,MAAIV,EAAM,SAASF,EAAM,uBAAuB,SAAS,SAASY,EAAG,MAAc,KAAK,CAACV,EAAM,MAAM,SAASU,EAAG,MAAc,KAC7Hd,EAAK,qBAAqB,EAAK;AAAA,IACjC;AAGF,WAAAe,EAAiB,SAAS,MAAM,SAAS,CAACD,MAAO;AAC/C,MAAIZ,EAAM,cAAcY,EAAG,SAAS,YAClCd,EAAK,qBAAqB,EAAK;AAAA,IACjC,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -12,7 +12,7 @@ import we from "../LongText.vue.js";
|
|
|
12
12
|
import { normalizeListOptions as _e } from "../../helpers/utils.js";
|
|
13
13
|
import ke from "../PlIcon16/PlIcon16.vue.js";
|
|
14
14
|
import ye from "../PlIcon24/PlIcon24.vue.js";
|
|
15
|
-
import ge from "../../generated/components/svg/images/SvgRequired.
|
|
15
|
+
import ge from "../../generated/components/svg/images/SvgRequired.vue2.js";
|
|
16
16
|
import { getErrorMessage as Ie } from "../../helpers/error.js";
|
|
17
17
|
import be from "./OptionList.vue.js";
|
|
18
18
|
import { useGroupBy as Ve } from "./useGroupBy.js";
|
|
@@ -14,7 +14,7 @@ import we from "../LongText.vue.js";
|
|
|
14
14
|
import ke from "../PlIcon16/PlIcon16.vue.js";
|
|
15
15
|
import ye from "../PlIcon24/PlIcon24.vue.js";
|
|
16
16
|
import { normalizeListOptions as Ie } from "../../helpers/utils.js";
|
|
17
|
-
import ge from "../../generated/components/svg/images/SvgRequired.
|
|
17
|
+
import ge from "../../generated/components/svg/images/SvgRequired.vue2.js";
|
|
18
18
|
import { getErrorMessage as Ve } from "../../helpers/error.js";
|
|
19
19
|
const be = { class: "ui-dropdown__envelope" }, Ce = ["tabindex"], Ee = { class: "ui-dropdown__container" }, Le = { class: "ui-dropdown__field" }, Se = ["disabled", "placeholder"], xe = { class: "ui-dropdown__controls" }, Ae = { key: 0 }, Oe = {
|
|
20
20
|
key: 0,
|
|
@@ -41,8 +41,8 @@ declare const __VLS_component: import('vue').DefineComponent<__VLS_Props, {}, {}
|
|
|
41
41
|
}>, {
|
|
42
42
|
mode: "list" | "tabs";
|
|
43
43
|
placeholder: string;
|
|
44
|
-
prefix: string;
|
|
45
44
|
clearable: boolean;
|
|
45
|
+
prefix: string;
|
|
46
46
|
tabsContainerStyles: string | false | import('vue').CSSProperties | StyleValue[] | null;
|
|
47
47
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
|
|
48
48
|
container: HTMLDivElement;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDropdownLine.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDropdownLine/PlDropdownLine.vue"],"names":[],"mappings":"AAkUA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAUtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AA8OJ,iBAAS,cAAc;WAsMT,OAAO,IAA6B;;;;;;;;YAbvB,GAAG;;;;;;YACH,GAAG;;;;;;;EAiB7B;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;UAzdV,MAAM,GAAG,MAAM;iBADR,MAAM;
|
|
1
|
+
{"version":3,"file":"PlDropdownLine.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDropdownLine/PlDropdownLine.vue"],"names":[],"mappings":"AAkUA,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAUtC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM9C,KAAK,WAAW,GAAG;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,UAAU,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AA8OJ,iBAAS,cAAc;WAsMT,OAAO,IAA6B;;;;;;;;YAbvB,GAAG;;;;;;YACH,GAAG;;;;;;;EAiB7B;AA4BD,KAAK,oBAAoB,GAAG,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;AAC9D,QAAA,MAAM,eAAe;;;;;UAzdV,MAAM,GAAG,MAAM;iBADR,MAAM;eAGR,OAAO;YALV,MAAM;;;;;kBAsejB,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"}
|
|
@@ -11,7 +11,7 @@ import { deepEqual as k, deepIncludes as x } from "../../helpers/objects.js";
|
|
|
11
11
|
import { normalizeListOptions as pe } from "../../helpers/utils.js";
|
|
12
12
|
import fe from "../../utils/DropdownOverlay/DropdownOverlay.vue.js";
|
|
13
13
|
import me from "../PlIcon24/PlIcon24.vue.js";
|
|
14
|
-
import ve from "../../generated/components/svg/images/SvgRequired.
|
|
14
|
+
import ve from "../../generated/components/svg/images/SvgRequired.vue2.js";
|
|
15
15
|
import { getErrorMessage as he } from "../../helpers/error.js";
|
|
16
16
|
const _e = ["tabindex"], we = { class: "pl-dropdown-multi__container" }, ye = { class: "pl-dropdown-multi__field" }, ke = ["disabled", "placeholder"], be = {
|
|
17
17
|
key: 0,
|
|
@@ -113,10 +113,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<{
|
|
|
113
113
|
required: boolean;
|
|
114
114
|
disabled: boolean;
|
|
115
115
|
helper: string;
|
|
116
|
+
loadingOptionsHelper: string;
|
|
116
117
|
placeholder: string;
|
|
117
118
|
clearable: boolean;
|
|
118
119
|
optionSize: "small" | "medium";
|
|
119
|
-
loadingOptionsHelper: string;
|
|
120
120
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>, {
|
|
121
121
|
tooltip?(_: {}): any;
|
|
122
122
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlDropdownRef.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDropdownRef/PlDropdownRef.vue"],"names":[],"mappings":"AAgHA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKvD;;GAEG;;IAcC;;OAEG;gBACS,QAAQ,GAAG,SAAS;IAChC;;OAEG;YACK,MAAM;IACd;;OAEG;cACO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf;;OAEG;2BACoB,MAAM;IAC7B;;OAEG;YACK,OAAO;IACf;;OAEG;kBACW,MAAM;IACpB;;OAEG;gBACS,OAAO;IACnB;;OAEG;eACQ,OAAO;IAClB;;OAEG;eACQ,OAAO;IAClB;;OAEG;iBACU,OAAO,GAAG,QAAQ;;;;;;;;;IA3C/B;;OAEG;gBACS,QAAQ,GAAG,SAAS;IAChC;;OAEG;YACK,MAAM;IACd;;OAEG;cACO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf;;OAEG;2BACoB,MAAM;IAC7B;;OAEG;YACK,OAAO;IACf;;OAEG;kBACW,MAAM;IACpB;;OAEG;gBACS,OAAO;IACnB;;OAEG;eACQ,OAAO;IAClB;;OAEG;eACQ,OAAO;IAClB;;OAEG;iBACU,OAAO,GAAG,QAAQ;;;;;;;;;aAhCrB,QAAQ,CAAC,SAAS,EAAE,CAAC;WAJvB,MAAM;;cA4BH,OAAO;cAIP,OAAO;YAxBT,MAAM;
|
|
1
|
+
{"version":3,"file":"PlDropdownRef.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlDropdownRef/PlDropdownRef.vue"],"names":[],"mappings":"AAgHA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAKvD;;GAEG;;IAcC;;OAEG;gBACS,QAAQ,GAAG,SAAS;IAChC;;OAEG;YACK,MAAM;IACd;;OAEG;cACO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf;;OAEG;2BACoB,MAAM;IAC7B;;OAEG;YACK,OAAO;IACf;;OAEG;kBACW,MAAM;IACpB;;OAEG;gBACS,OAAO;IACnB;;OAEG;eACQ,OAAO;IAClB;;OAEG;eACQ,OAAO;IAClB;;OAEG;iBACU,OAAO,GAAG,QAAQ;;;;;;;;;IA3C/B;;OAEG;gBACS,QAAQ,GAAG,SAAS;IAChC;;OAEG;YACK,MAAM;IACd;;OAEG;cACO,QAAQ,CAAC,SAAS,EAAE,CAAC;IAC/B;;OAEG;aACM,MAAM;IACf;;OAEG;2BACoB,MAAM;IAC7B;;OAEG;YACK,OAAO;IACf;;OAEG;kBACW,MAAM;IACpB;;OAEG;gBACS,OAAO;IACnB;;OAEG;eACQ,OAAO;IAClB;;OAEG;eACQ,OAAO;IAClB;;OAEG;iBACU,OAAO,GAAG,QAAQ;;;;;;;;;aAhCrB,QAAQ,CAAC,SAAS,EAAE,CAAC;WAJvB,MAAM;;cA4BH,OAAO;cAIP,OAAO;YAxBT,MAAM;0BAIQ,MAAM;iBAQf,MAAM;eAIR,OAAO;gBAYN,OAAO,GAAG,QAAQ;;qBAuFN,GAAG;;AA/IhC,wBA4LK;AAcL,KAAK,uBAAuB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG;IACxC,QAAO;QACN,MAAM,EAAE,CAAC,CAAC;KAEV,CAAA;CACD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlEditableTitle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PlEditableTitle.vue.d.ts","sourceRoot":"","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"names":[],"mappings":"AA2GA,KAAK,WAAW,GAAG;IACf;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AA6DJ,KAAK,iBAAiB,GAAG;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACnB,GAAG,WAAW,CAAC;;;;;;cAhFD,MAAM;iBAJH,MAAM;YAQX,MAAM;eAIH,MAAM;eAIN,MAAM;;;;AA+ItB,wBAUG"}
|
|
@@ -1,79 +1,83 @@
|
|
|
1
|
-
import { defineComponent as L, mergeModels as M, useModel as k,
|
|
2
|
-
import { useTransformedModel as
|
|
3
|
-
import
|
|
4
|
-
const S = { key: 0 }, W = ["placeholder"],
|
|
1
|
+
import { defineComponent as L, mergeModels as M, useModel as k, ref as w, computed as E, onMounted as V, createElementBlock as s, openBlock as u, normalizeStyle as b, normalizeClass as d, unref as o, createElementVNode as c, createCommentVNode as h, withDirectives as C, toDisplayString as g, withKeys as v, vModelText as T } from "vue";
|
|
2
|
+
import { useTransformedModel as B } from "../../composition/useTransformedModel.js";
|
|
3
|
+
import m from "./pl-editable-title.module.scss.js";
|
|
4
|
+
const S = { key: 0 }, W = ["placeholder"], N = /* @__PURE__ */ L({
|
|
5
5
|
__name: "PlEditableTitle",
|
|
6
6
|
props: /* @__PURE__ */ M({
|
|
7
7
|
placeholder: { default: "Title" },
|
|
8
8
|
maxWidth: { default: "80%" },
|
|
9
9
|
prefix: { default: void 0 },
|
|
10
10
|
maxLength: { default: 1e3 },
|
|
11
|
-
minLength: { default: void 0 }
|
|
11
|
+
minLength: { default: void 0 },
|
|
12
|
+
autofocus: { type: Boolean }
|
|
12
13
|
}, {
|
|
13
14
|
modelValue: {},
|
|
14
15
|
modelModifiers: {}
|
|
15
16
|
}),
|
|
16
17
|
emits: ["update:modelValue"],
|
|
17
|
-
setup(
|
|
18
|
-
const a = k(
|
|
18
|
+
setup(f) {
|
|
19
|
+
const a = k(f, "modelValue"), r = f, t = B(a, {
|
|
19
20
|
update() {
|
|
20
21
|
return !1;
|
|
21
22
|
},
|
|
22
|
-
parse: (
|
|
23
|
-
if (typeof
|
|
23
|
+
parse: (e) => {
|
|
24
|
+
if (typeof e != "string")
|
|
24
25
|
throw Error("value should be a string");
|
|
25
|
-
if (
|
|
26
|
-
throw Error(`Max title length is ${
|
|
27
|
-
if (
|
|
28
|
-
throw Error(`Min title length is ${
|
|
29
|
-
return
|
|
26
|
+
if (r.maxLength && e.length > r.maxLength)
|
|
27
|
+
throw Error(`Max title length is ${r.maxLength} characters`);
|
|
28
|
+
if (r.minLength && e.length < r.minLength)
|
|
29
|
+
throw Error(`Min title length is ${r.minLength} characters`);
|
|
30
|
+
return e.trim();
|
|
30
31
|
}
|
|
31
|
-
}),
|
|
32
|
-
maxWidth:
|
|
33
|
-
})),
|
|
34
|
-
a.value =
|
|
35
|
-
}
|
|
36
|
-
return (
|
|
37
|
-
|
|
38
|
-
|
|
32
|
+
}), i = w(), y = E(() => ({
|
|
33
|
+
maxWidth: r.maxWidth ?? "80%"
|
|
34
|
+
})), x = () => {
|
|
35
|
+
a.value = t.value && !t.error ? t.value : a.value, t.reset();
|
|
36
|
+
};
|
|
37
|
+
return V(() => {
|
|
38
|
+
var e;
|
|
39
|
+
r.autofocus && ((e = i.value) == null || e.focus());
|
|
40
|
+
}), (e, l) => (u(), s("div", {
|
|
41
|
+
class: d(["pl-editable-title", o(m).component]),
|
|
42
|
+
style: b(y.value)
|
|
39
43
|
}, [
|
|
40
|
-
|
|
41
|
-
class: d(
|
|
42
|
-
onClick:
|
|
43
|
-
var
|
|
44
|
-
return (
|
|
44
|
+
c("div", {
|
|
45
|
+
class: d(o(m).container),
|
|
46
|
+
onClick: l[3] || (l[3] = () => {
|
|
47
|
+
var n;
|
|
48
|
+
return (n = i.value) == null ? void 0 : n.focus();
|
|
45
49
|
})
|
|
46
50
|
}, [
|
|
47
|
-
|
|
48
|
-
|
|
51
|
+
e.prefix ? (u(), s("span", S, g(e.prefix.trim()) + " ", 1)) : h("", !0),
|
|
52
|
+
C(c("input", {
|
|
49
53
|
ref_key: "inputRef",
|
|
50
|
-
ref:
|
|
51
|
-
"onUpdate:modelValue":
|
|
52
|
-
placeholder:
|
|
53
|
-
onFocusout:
|
|
54
|
+
ref: i,
|
|
55
|
+
"onUpdate:modelValue": l[0] || (l[0] = (n) => o(t).value = n),
|
|
56
|
+
placeholder: e.placeholder,
|
|
57
|
+
onFocusout: x,
|
|
54
58
|
onKeydown: [
|
|
55
|
-
|
|
59
|
+
l[1] || (l[1] = v(
|
|
56
60
|
//@ts-ignore
|
|
57
|
-
(...
|
|
61
|
+
(...n) => o(t).reset && o(t).reset(...n),
|
|
58
62
|
["escape"]
|
|
59
63
|
)),
|
|
60
|
-
|
|
61
|
-
var
|
|
62
|
-
return (
|
|
64
|
+
l[2] || (l[2] = v((n) => {
|
|
65
|
+
var p;
|
|
66
|
+
return (p = n.target) == null ? void 0 : p.blur();
|
|
63
67
|
}, ["enter"]))
|
|
64
68
|
]
|
|
65
69
|
}, null, 40, W), [
|
|
66
|
-
[
|
|
70
|
+
[T, o(t).value]
|
|
67
71
|
])
|
|
68
72
|
], 2),
|
|
69
|
-
t
|
|
73
|
+
o(t).error ? (u(), s("div", {
|
|
70
74
|
key: 0,
|
|
71
|
-
class: d(
|
|
72
|
-
}, g(t
|
|
75
|
+
class: d(o(m).error)
|
|
76
|
+
}, g(o(t).error), 3)) : h("", !0)
|
|
73
77
|
], 6));
|
|
74
78
|
}
|
|
75
79
|
});
|
|
76
80
|
export {
|
|
77
|
-
|
|
81
|
+
N as default
|
|
78
82
|
};
|
|
79
83
|
//# sourceMappingURL=PlEditableTitle.vue.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlEditableTitle.vue.js","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from '../../composition/useTransformedModel';\nimport style from './pl-editable-title.module.scss';\nimport { computed, ref } from 'vue';\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n }>(),\n {\n placeholder: 'Title',\n maxWidth: '80%',\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== 'string') {\n throw Error('value should be a string');\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n return v.trim();\n },\n});\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? '80%',\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\
|
|
1
|
+
{"version":3,"file":"PlEditableTitle.vue.js","sources":["../../../src/components/PlEditableTitle/PlEditableTitle.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { useTransformedModel } from '../../composition/useTransformedModel';\nimport style from './pl-editable-title.module.scss';\nimport { computed, onMounted, ref } from 'vue';\n\nconst model = defineModel<string>();\n\nconst props = withDefaults(\n defineProps<{\n /**\n * Standard input placeholder\n */\n placeholder?: string;\n /**\n * Any css `width` value (px, %), default is 80%\n */\n maxWidth?: string;\n /**\n * Fixed non-editable prefix\n */\n prefix?: string;\n /**\n * Max title length (default is 1000)\n */\n maxLength?: number;\n /**\n * Min title length\n */\n minLength?: number;\n /**\n * If true, input will be focused on mount\n */\n autofocus?: boolean;\n }>(),\n {\n placeholder: 'Title',\n maxWidth: '80%',\n prefix: undefined,\n maxLength: 1000,\n minLength: undefined,\n },\n);\n\nconst local = useTransformedModel(model, {\n update() {\n return false;\n },\n parse: (v): string => {\n if (typeof v !== 'string') {\n throw Error('value should be a string');\n }\n\n if (props.maxLength && v.length > props.maxLength) {\n throw Error(`Max title length is ${props.maxLength} characters`);\n }\n\n if (props.minLength && v.length < props.minLength) {\n throw Error(`Min title length is ${props.minLength} characters`);\n }\n\n return v.trim();\n },\n});\n\nconst inputRef = ref<HTMLInputElement>();\n\nconst computedStyle = computed(() => ({\n maxWidth: props.maxWidth ?? '80%',\n}));\n\nconst save = () => {\n model.value = local.value && !local.error ? local.value : model.value;\n local.reset();\n};\n\nonMounted(() => {\n if (props.autofocus) {\n inputRef.value?.focus();\n }\n});\n\n</script>\n\n<template>\n <div class=\"pl-editable-title\" :class=\"style.component\" :style=\"computedStyle\">\n <div :class=\"style.container\" @click=\"() => inputRef?.focus()\">\n <span v-if=\"prefix\">{{ prefix.trim() }} </span>\n <input\n ref=\"inputRef\"\n v-model=\"local.value\"\n :placeholder=\"placeholder\"\n @focusout=\"save\"\n @keydown.escape=\"local.reset\"\n @keydown.enter=\"(ev) => (ev.target as HTMLInputElement)?.blur()\"\n />\n </div>\n <div v-if=\"local.error\" :class=\"style.error\">{{ local.error }}</div>\n </div>\n</template>\n"],"names":["model","_useModel","__props","props","local","useTransformedModel","v","inputRef","ref","computedStyle","computed","save","onMounted","_a"],"mappings":";;;;;;;;;;;;;;;;;;AAKM,UAAAA,IAAQC,EAAmBC,GAAA,YAAC,GAE5BC,IAAQD,GAoCRE,IAAQC,EAAoBL,GAAO;AAAA,MACvC,SAAS;AACA,eAAA;AAAA,MACT;AAAA,MACA,OAAO,CAACM,MAAc;AAChB,YAAA,OAAOA,KAAM;AACf,gBAAM,MAAM,0BAA0B;AAGxC,YAAIH,EAAM,aAAaG,EAAE,SAASH,EAAM;AACtC,gBAAM,MAAM,uBAAuBA,EAAM,SAAS,aAAa;AAGjE,YAAIA,EAAM,aAAaG,EAAE,SAASH,EAAM;AACtC,gBAAM,MAAM,uBAAuBA,EAAM,SAAS,aAAa;AAGjE,eAAOG,EAAE,KAAK;AAAA,MAAA;AAAA,IAChB,CACD,GAEKC,IAAWC,EAAsB,GAEjCC,IAAgBC,EAAS,OAAO;AAAA,MACpC,UAAUP,EAAM,YAAY;AAAA,IAAA,EAC5B,GAEIQ,IAAO,MAAM;AACX,MAAAX,EAAA,QAAQI,EAAM,SAAS,CAACA,EAAM,QAAQA,EAAM,QAAQJ,EAAM,OAChEI,EAAM,MAAM;AAAA,IACd;AAEA,WAAAQ,EAAU,MAAM;;AACd,MAAIT,EAAM,eACRU,IAAAN,EAAS,UAAT,QAAAM,EAAgB;AAAA,IAClB,CACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|