@topvisor/ui 0.0.41 → 0.0.43
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/.chunks/datepicker-92744062.es.js +275 -0
- package/.chunks/datepicker-92744062.es.js.map +1 -0
- package/.chunks/datepicker-a9226b0f.amd.js +234 -0
- package/.chunks/datepicker-a9226b0f.amd.js.map +1 -0
- package/.chunks/{forms-7f061546.es.js → forms-727cc6aa.es.js} +51 -47
- package/.chunks/forms-727cc6aa.es.js.map +1 -0
- package/.chunks/forms-771091d4.amd.js +3 -0
- package/.chunks/forms-771091d4.amd.js.map +1 -0
- package/.chunks/{popup-05538243.es.js → popup-a622fe31.es.js} +429 -427
- package/.chunks/popup-a622fe31.es.js.map +1 -0
- package/.chunks/popup-de28e508.amd.js +377 -0
- package/.chunks/popup-de28e508.amd.js.map +1 -0
- package/README.md +80 -80
- package/assets/core.css +1 -1
- package/assets/forms.css +1 -1
- package/build/cssModules.d.ts +13 -0
- package/build/plugin/amdFix.d.ts +8 -0
- package/build/plugin/autoloadCSS.d.ts +19 -0
- package/build/rollup.config.d.ts +15 -0
- package/common/common.d.ts +1 -0
- package/core/core.amd.js +1 -1
- package/core/core.d.ts +3 -0
- package/core/core.js +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.d.ts +1 -0
- package/forms/forms.js +1 -1
- package/forms/helpers.amd.js.map +1 -1
- package/forms/helpers.d.ts +1 -0
- package/forms/helpers.js.map +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.d.ts +1 -0
- package/formsExt/formsExt.js +1 -1
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/demo-files/demo.css +161 -161
- package/icomoon/demo-files/demo.js +30 -30
- package/icomoon/demo.html +2945 -2945
- package/icomoon/fonts/Topvisor-2.svg +232 -232
- package/icomoon/style.css +647 -647
- package/package.json +19 -19
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.d.ts +1 -0
- package/popup/popup.js +17 -17
- package/popup/popup.js.map +1 -1
- package/popup/worker.amd.js +1 -1
- package/popup/worker.amd.js.map +1 -1
- package/popup/worker.d.ts +1 -0
- package/popup/worker.js +3 -2
- package/popup/worker.js.map +1 -1
- package/src/components/common/common.d.ts +0 -0
- package/src/components/common/icon/icon.d.ts +4 -0
- package/src/components/component.d.ts +25 -0
- package/src/components/forms/avatar/avatar.d.ts +29 -0
- package/src/components/forms/avatar/avatar.stories.d.ts +59 -0
- package/src/components/forms/avatar/avatar.vue.d.ts +26 -0
- package/src/components/forms/button/button.d.ts +40 -0
- package/src/components/forms/button/button.stories.d.ts +313 -0
- package/src/components/forms/button/button.vue.d.ts +39 -0
- package/src/components/forms/checkbox/checkbox.d.ts +22 -0
- package/src/components/forms/checkbox/checkbox.stories.d.ts +176 -0
- package/src/components/forms/checkbox/checkbox.vue.d.ts +23 -0
- package/src/components/forms/controlLabel/controlLabel.d.ts +4 -0
- package/src/components/forms/controlLabel/controlLabel.stories.d.ts +97 -0
- package/src/components/forms/controlLabel/controlLabel.vue.d.ts +19 -0
- package/src/components/forms/forms.d.ts +12 -0
- package/src/components/forms/helpers.d.ts +10 -0
- package/src/components/forms/hint/hint.d.ts +8 -0
- package/src/components/forms/hint/hint.stories.d.ts +138 -0
- package/src/components/forms/hint/hint.vue.d.ts +12 -0
- package/src/components/forms/input/input.d.ts +26 -0
- package/src/components/forms/input/input.stories.d.ts +255 -0
- package/src/components/forms/input/input.vue.d.ts +40 -0
- package/src/components/forms/inputDate/datepicker.d.ts +5 -0
- package/src/components/forms/inputDate/inputDate.d.ts +3 -0
- package/src/components/forms/inputDate/inputDate.stories.d.ts +108 -0
- package/src/components/forms/inputDate/inputDate.vue.d.ts +30 -0
- package/src/components/forms/inputRange/inputRange.d.ts +2 -0
- package/src/components/forms/inputRange/inputRange.stories.d.ts +405 -0
- package/src/components/forms/inputRange/inputRange.vue.d.ts +10 -0
- package/src/components/forms/radio/radio.d.ts +14 -0
- package/src/components/forms/radio/radio.stories.d.ts +168 -0
- package/src/components/forms/radio/radio.vue.d.ts +23 -0
- package/src/components/forms/select/select.d.ts +31 -0
- package/src/components/forms/select/select.stories.d.ts +83 -0
- package/src/components/forms/select/select.vue.d.ts +30 -0
- package/src/components/forms/select/stories/exampleOptions.d.ts +4 -0
- package/src/components/forms/switcher/switcher.d.ts +21 -0
- package/src/components/forms/switcher/switcher.stories.d.ts +163 -0
- package/src/components/forms/switcher/switcher.vue.d.ts +23 -0
- package/src/components/forms/textarea/textarea.d.ts +33 -0
- package/src/components/forms/textarea/textarea.stories.d.ts +88 -0
- package/src/components/forms/textarea/textarea.vue.d.ts +33 -0
- package/src/components/formsExt/editArea/editArea.d.ts +20 -0
- package/src/components/formsExt/editArea/editArea.stories.d.ts +140 -0
- package/src/components/formsExt/editArea/editArea.vue.d.ts +38 -0
- package/src/components/formsExt/editInput/editInput.d.ts +16 -0
- package/src/components/formsExt/editInput/editInput.stories.d.ts +129 -0
- package/src/components/formsExt/editInput/editInput.vue.d.ts +23 -0
- package/src/components/formsExt/formsExt.d.ts +3 -0
- package/src/components/formsExt/radioGroup/radioGroup.d.ts +22 -0
- package/src/components/formsExt/radioGroup/radioGroup.stories.d.ts +64 -0
- package/src/components/formsExt/radioGroup/radioGroup.vue.d.ts +30 -0
- package/src/components/helpersStories.d.ts +28 -0
- package/src/components/popup/popup/listItem.vue.d.ts +36 -0
- package/src/components/popup/popup/opener.vue.d.ts +39 -0
- package/src/components/popup/popup/popup.d.ts +79 -0
- package/src/components/popup/popup/popup.stories.d.ts +742 -0
- package/src/components/popup/popup/popup.vue.d.ts +52 -0
- package/src/components/popup/popup.d.ts +3 -0
- package/src/components/popup/worker.d.ts +2 -0
- package/src/components/tabs/tabs/content.vue.d.ts +19 -0
- package/src/components/tabs/tabs/tab.vue.d.ts +19 -0
- package/src/components/tabs/tabs/tabs.d.ts +19 -0
- package/src/components/tabs/tabs/tabs.stories.d.ts +774 -0
- package/src/components/tabs/tabs/tabs.vue.d.ts +21 -0
- package/src/components/tabs/tabs.d.ts +3 -0
- package/src/core/base/Colors.stories.d.ts +19 -0
- package/src/core/base/Layout.stories.d.ts +19 -0
- package/src/core/base/Properties.stories.d.ts +19 -0
- package/src/core/core/core.d.ts +58 -0
- package/src/core/core/events.d.ts +20 -0
- package/src/core/core/options.d.ts +13 -0
- package/src/core/core/page.d.ts +10 -0
- package/src/core/core/state.d.ts +34 -0
- package/src/core/directives/tooltip.d.ts +7 -0
- package/src/core/theme/Colors.stories.d.ts +19 -0
- package/src/core/theme/Properties.stories.d.ts +19 -0
- package/src/core/utils/date.d.ts +27 -0
- package/src/core/utils/device.d.ts +13 -0
- package/src/core/utils/dom.d.ts +98 -0
- package/src/core//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272//320/235/320/260/320/261/320/276/321/200 /320/270/320/272/320/276/320/275/320/276/320/272.stories.d.ts" +6 -0
- package/src/d.d.ts +4 -0
- package/src/resources/styles/core/core.d.ts +0 -0
- package/src/resources/styles/themes/dark.d.ts +0 -0
- package/src/resources/styles/themes/light.d.ts +0 -0
- package/src/storybook/components/icomoon.d.ts +2 -0
- package/tabs/tabs.amd.js +1 -1
- package/tabs/tabs.d.ts +1 -0
- package/tabs/tabs.js +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.d.ts +3 -0
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.d.ts +3 -0
- package/utils/device.js +1 -1
- package/utils/dom.amd.js +1 -1
- package/utils/dom.d.ts +3 -0
- package/utils/dom.js +1 -1
- package/.chunks/datepicker-7f54fd80.es.js +0 -275
- package/.chunks/datepicker-7f54fd80.es.js.map +0 -1
- package/.chunks/datepicker-858c1cb6.amd.js +0 -234
- package/.chunks/datepicker-858c1cb6.amd.js.map +0 -1
- package/.chunks/forms-7f061546.es.js.map +0 -1
- package/.chunks/forms-b9e5edd2.amd.js +0 -3
- package/.chunks/forms-b9e5edd2.amd.js.map +0 -1
- package/.chunks/popup-05538243.es.js.map +0 -1
- package/.chunks/popup-a531e9ad.amd.js +0 -377
- package/.chunks/popup-a531e9ad.amd.js.map +0 -1
package/formsExt/formsExt.amd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
define(["require","exports","vue","../.chunks/forms-
|
|
1
|
+
define(["require","exports","vue","../.chunks/forms-771091d4.amd"],function(V,y,e,p){"use strict";V(["../core/core.amd"],c=>{const m=["../assets/formsExt.css"].map(a=>V.toUrl(a));c.Page.addCss(m)});const b={key:0,class:"top-editArea_title"},f={class:"top-editArea_footer"},h=e.defineComponent({__name:"editArea",props:{modelValue:{},title:{},cancelText:{default:"Отмена"},submitText:{default:"Отправить"},attachToKeyboard:{type:Boolean},name:{},placeholder:{},rows:{},minHeight:{},expandable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},isError:{type:Boolean},hint:{}},emits:["update:modelValue","cancel"],setup(c,{emit:m}){const a=c,d=m,n=e.ref(""),r=e.ref(a.modelValue);e.watch(e.toRef(a,"modelValue"),()=>{r.value=a.modelValue});const o=e.computed(()=>r.value!==a.modelValue),s=t=>{d("update:modelValue",t)},l=()=>{d("cancel"),r.value=a.modelValue};return(t,i)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-editArea":!0,"top-editArea-attachedToKeyboard":t.attachToKeyboard})},[t.title?(e.openBlock(),e.createElementBlock("div",b,e.toDisplayString(t.title),1)):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass({"top-editArea_form":!0,"top-error":t.isError,"top-focus":n.value=="focus"})},[e.createVNode(p.Textarea,{modelValue:r.value,"onUpdate:modelValue":i[0]||(i[0]=u=>r.value=u),name:t.name,placeholder:t.placeholder,rows:t.rows,minHeight:t.minHeight,expandable:t.expandable,disabled:t.disabled,readonly:t.readonly,isError:t.isError,hint:t.hint,class:"top-editArea_element",onFocus:i[1]||(i[1]=u=>n.value="focus"),onBlur:i[2]||(i[2]=u=>n.value=""),onKeyup:[e.withKeys(l,["esc"]),i[3]||(i[3]=e.withKeys(e.withModifiers(u=>s(r.value),["ctrl"]),["enter"]))]},null,8,["modelValue","name","placeholder","rows","minHeight","expandable","disabled","readonly","isError","hint","onKeyup"]),e.createElementVNode("div",f,[o.value&&(!t.attachToKeyboard||t.modelValue)?(e.openBlock(),e.createBlock(p.Button,{key:0,class:"top-editArea_button",color:"theme",icon:t.attachToKeyboard?"":"",onClick:l},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.attachToKeyboard?"":t.cancelText),1)]),_:1},8,["icon"])):e.createCommentVNode("",!0),e.createVNode(p.Button,{class:"top-editArea_button",icon:t.attachToKeyboard?"":"",onClick:i[4]||(i[4]=u=>s(r.value))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.attachToKeyboard?"":t.submitText),1)]),_:1},8,["icon"])])],2)],2))}}),B={$style:{"top-editArea":"top-editArea","top-editArea_title":"top-editArea_title","top-editArea_form":"top-editArea_form","top-textarea":"top-textarea","top-editArea_element":"top-editArea_element","top-textarea_textarea":"top-textarea_textarea","top-editArea_footer":"top-editArea_footer","top-editArea-attachedToKeyboard":"top-editArea-attachedToKeyboard"}},k=p._export_sfc(h,[["__cssModules",B]]),_={class:"top-editInput"},A=e.defineComponent({__name:"editInput",props:{modelValue:{},input:{},button:{}},emits:["update:modelValue"],setup(c,{emit:m}){const a=c,d=e.ref(a.modelValue);e.watch(e.toRef(a.modelValue),()=>{d.value=a.modelValue});const n=m,r=()=>{n("update:modelValue",d.value)};return(o,s)=>(e.openBlock(),e.createElementBlock("div",_,[e.createVNode(p.Input,e.mergeProps(o.input,{onKeydownCapture:s[0]||(s[0]=e.withKeys(e.withModifiers(l=>d.value=o.modelValue,["stop"]),["esc"])),onKeydown:e.withKeys(e.withModifiers(r,["stop"]),["enter"]),modelValue:d.value,"onUpdate:modelValue":s[1]||(s[1]=l=>d.value=l)}),null,16,["onKeydown","modelValue"]),d.value!==o.modelValue?(e.openBlock(),e.createBlock(p.Button,e.mergeProps({key:0,icon:"",styling:"soft"},o.button,{onClick:r}),{default:e.withCtx(()=>[e.renderSlot(o.$slots,"default")]),_:3},16)):e.createCommentVNode("",!0)]))}}),C={$style:{"top-editInput":"top-editInput","top-input":"top-input"}},w=p._export_sfc(A,[["__cssModules",C]]),$=["data-top-icon","onClick"],g={key:0,class:"top-radioGroup_circle"},E=["value","disabled"],K=e.defineComponent({__name:"radioGroup",props:{modelValue:{},radiosProps:{},showIndicator:{type:Boolean},size:{default:"s"},isError:{type:Boolean}},emits:["update:modelValue"],setup(c,{emit:m}){const a=c,d=m,n=e.computed({get(){return a.modelValue},set(o){d("update:modelValue",o)}}),r="radioGroup-"+Math.random();return(o,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"top-radioGroup":!0,"top-scrollBarXHidding":!0,["top-size_"+o.size]:!!o.size,"top-error":o.isError})},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.radiosProps,l=>(e.openBlock(),e.createElementBlock("label",{class:e.normalizeClass({"top-radioGroup_item-selected":l.value===n.value,"top-radioGroup_item":!0,"top-forms-focusable":!0,"top-disabled":l.disabled}),"data-top-icon":l.icon,onClick:t=>n.value=l.value},[e.createTextVNode(e.toDisplayString(l.title)+" ",1),o.showIndicator?(e.openBlock(),e.createElementBlock("span",g)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":s[0]||(s[0]=t=>n.value=t),name:r,type:"radio",class:e.normalizeClass({"top-unvisible":!0}),value:l.value,disabled:l.disabled},null,8,E),[[e.vModelRadio,n.value]])],10,$))),256))],2))}}),T={$style:{"top-scrollBarXHidding":"top-scrollBarXHidding","top-radioGroup":"top-radioGroup","top-radioGroup_item":"top-radioGroup_item","top-radioGroup_item-selected":"top-radioGroup_item-selected","top-radioGroup_circle":"top-radioGroup_circle","top-disabled":"top-disabled","top-error":"top-error"}},G=p._export_sfc(K,[["__cssModules",T]]);y.EditArea=k,y.EditInput=w,y.RadioGroup=G,Object.defineProperty(y,Symbol.toStringTag,{value:"Module"})});
|
|
2
2
|
//# sourceMappingURL=formsExt.amd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formsExt.amd.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/radioGroup/radioGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, toRef, watch, computed } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Props, Emits } from './editArea';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcancelText: 'Отмена',\n\tsubmitText: 'Отправить',\n\texpandable: true,\n});\n\nconst emit = defineEmits<Emits>();\n\nconst state = ref('');\n\n/**\n * Локальное значение modelValue, будет проброшено вверх только в случае отправки формы\n */\nconst localValue = ref(props.modelValue);\n\nwatch(toRef(props, 'modelValue'), () => {\n\tlocalValue.value = props.modelValue;\n});\n\nconst isChanged = computed(() => localValue.value !== props.modelValue);\n\nconst submit = (value: string) => {\n\temit('update:modelValue', value);\n};\n\nconst cancel = () => {\n\temit('cancel');\n\n\t// сброс введенного значения\n\tlocalValue.value = props.modelValue;\n};\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-editArea': true,\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tv-if=\"title\"\n\t\t\tclass=\"top-editArea_title\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div\n\t\t\t:class=\"{\n\t\t\t\t'top-editArea_form': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': state == 'focus',\n\t\t\t}\"\n\t\t>\n\t\t\t<Textarea\n\t\t\t\tv-model=\"localValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:rows=\"rows\"\n\t\t\t\t:minHeight=\"minHeight\"\n\t\t\t\t:expandable=\"expandable\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:isError=\"isError\"\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-editArea_element\"\n\t\t\t\t@focus=\"state = 'focus'\"\n\t\t\t\t@blur=\"state = ''\"\n\t\t\t\t@keyup.esc=\"cancel\"\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\n\t\t\t/>\n\n\t\t\t<div class=\"top-editArea_footer\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"isChanged && (!attachToKeyboard || modelValue)\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t{{ attachToKeyboard ? '' : cancelText }}\n\t\t\t\t</Button>\n\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style module>\n.top-editArea {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_title {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tbackground: var(--top-forms-background-color);\n\toutline-color: var(--color-theme-75);\n\toutline-offset: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.top-editArea_form:hover {\n\tbackground: var(--top-forms-background-color-hover);\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\tborder: none;\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tgap: var(--top-forms-padding);\n}\n\n/* attachedToKeyboard */\n.top-editArea-attachedToKeyboard {\n\tbackground: var(--top-forms-background-color);\n\tmargin-bottom: env(keyboard-inset-height, 0);\n\tposition: fixed;\n\tbottom: 0;\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_form {\n\tborder-radius: 0;\n\tborder: none;\n\tborder-top: 1px solid var(--top-forms-border-color);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_title {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\tpadding: var(--top-forms-padding);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\n\tborder-radius: 100%;\n}\n</style>","<script setup lang=\"ts\">\nimport { ref, toRef, watch } from 'vue';\nimport type { Props, Emits } from './editInput';\nimport Input from '@/components/forms/input/input.vue';\nimport Button from '@/components/forms/button/button.vue';\n\nconst props = defineProps<Props>();\n\nconst intermediateValue = ref(props.modelValue);\n\nwatch(toRef(props.modelValue), () => {\n\tintermediateValue.value = props.modelValue;\n});\n\nconst emit = defineEmits<Emits>();\n\nconst submit = () => {\n\temit('update:modelValue', intermediateValue.value);\n};\n</script>\n\n<template>\n\t<div class=\"top-editInput\">\n\t\t<Input\n\t\t\t:=\"input\"\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\n\t\t\t@keydown.enter.stop=\"submit\"\n\t\t\tv-model=\"intermediateValue\"\n\t\t/>\n\n\t\t<Button\n\t\t\tv-if=\"intermediateValue !== modelValue\"\n\t\t\ticon=\"\"\n\t\t\tstyling=\"soft\"\n\t\t\t:=\"button\"\n\t\t\t@click=\"submit\"\n\t\t>\n\t\t\t<!-- @slot Слот Button -->\n\t\t\t<slot></slot>\n\t\t</Button>\n\t</div>\n</template>\n\n<style module>\n.top-editInput {\n\twidth: 220px;\n\tflex-grow: 1;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tgap: var(--top-gap-1);\n}\n\n.top-editInput .top-input {\n\twidth: unset;\n\tflex-grow: 1;\n}\n</style>","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props, Emits } from './radioGroup';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsize: 's',\n});\n\nconst emit = defineEmits<Emits>();\n\nconst localValue = computed({\n\tget() {\n\t\treturn props.modelValue;\n\t},\n\n\tset(value) {\n\t\temit('update:modelValue', value);\n\t},\n});\n\nconst uid = 'radioGroup-' + Math.random();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-radioGroup']: true,\n\t\t\t['top-scrollBarXHidding']: true,\n\t\t\t['top-size_' + size]: !!size,\n\t\t\t['top-error']: isError,\n\t\t}\"\n\t>\n\t\t<label\n\t\t\tv-for=\"item of radiosProps\"\n\t\t\t:class=\"{\n\t\t\t\t['top-radioGroup_item-selected']: item.value === localValue,\n\t\t\t\t['top-radioGroup_item']: true,\n\t\t\t\t['top-forms-focusable']: true,\n\t\t\t\t['top-disabled']: item.disabled,\n\t\t\t}\"\n\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t@click=\"localValue = item.value\"\n\t\t>\n\t\t\t{{ item.title }}\n\n\t\t\t<span\n\t\t\t\tv-if=\"showIndicator\"\n\t\t\t\tclass=\"top-radioGroup_circle\"\n\t\t\t></span>\n\n\t\t\t<!-- Для нативной навигации -->\n\t\t\t<input\n\t\t\t\tv-model=\"localValue\"\n\t\t\t\t:name=\"uid\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-unvisible']: true,\n\t\t\t\t}\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t/>\n\t\t</label>\n\t</div>\n</template>\n\n<style module>\n@import \"./styles/top-scrollBar.css\";\n\n.top-radioGroup {\n\tuser-select: none;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tbackground-color: var(--color-theme-50);\n\theight: var(--top-forms-base-height);\n\tpadding: 2px;\n\tgap: 2px;\n\tdisplay: flex;\n\talign-items: flex-start;\n}\n\n.top-radioGroup_item {\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\theight: calc(var(--top-forms-base-height) - 4px);\n\tpadding: 0 16px;\n\tfont-weight: 600;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-grow: 1;\n\tgap: 4px;\n}\n\n.top-radioGroup_item:hover {\n\tbackground-color: var(--color-theme-25);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n/* selected */\n.top-radioGroup_item-selected {\n\tpointer-events: none;\n\tbackground-color: var(--color-bg-3);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n/* circle */\n.top-radioGroup_circle {\n\tcontent: \"\";\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--color-line-3-opacity);\n\tborder-radius: 50%;\n\tpadding: 3px;\n\tmargin-left: auto;\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\n}\n\n.top-radioGroup_item:hover .top-radioGroup_circle:before {\n\tborder-color: var(--color-primary);\n}\n\n/* circle selected */\n.top-radioGroup_item-selected .top-radioGroup_circle {\n\tborder-color: var(--color-primary);\n\tborder-width: 5px;\n}\n\n.top-radioGroup_item-selected:hover .top-radioGroup_circle {\n\tborder-color: var(--color-primary-2);\n}\n\n/* top-disabled */\n.top-radioGroup_item.top-disabled {\n\t--top-icon-color: var(--color-text-3);\n\n\tcolor: var(--color-text-3);\n}\n\n.top-radioGroup_item.top-disabled .top-radioGroup_circle {\n\tborder-color: var(--color-theme-400);\n\tbackground-color: var(--color-theme-50);\n}\n\n/* top-error */\n.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle {\n\tborder-color: var(--color-negative);\n}\n</style>"],"names":["props","__props","emit","__emit","state","vue","localValue","isChanged","submit","value","intermediateValue"],"mappings":"6oBAQA,MAAAA,EAAAC,EAMAC,EAAAC,EAEAC,EAAAC,EAAA,IAAA,EAAA,6DAQCC,EAAA,MAAAN,EAAA,UAAyB,CAAA,EAG1B,MAAAO,EAAAF,EAAA,SAAA,IAAAC,EAAA,QAAAN,EAAA,UAAA,EAEAQ,EAAAC,GAAA,CACCP,EAAA,oBAAAO,CAAA,CAA+B,SAI/BP,EAAA,QAAA,EAGAI,EAAA,MAAAN,EAAA,UAAyB,qmEC/B1B,MAAAA,EAAAC,2DAKCS,EAAA,MAAAV,EAAA,UAAgC,CAAA,EAGjC,MAAAE,EAAAC,uCAGkD,q+BCblD,MAAAH,EAAAC,EAIAC,EAAAC,EAEAG,EAAAD,EAAA,SAAA,CAA4B,KAAA,CAE1B,OAAAL,EAAA,mBAIAE,EAAA,oBAAAO,CAAA,EACD,CAAA"}
|
|
1
|
+
{"version":3,"file":"formsExt.amd.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/radioGroup/radioGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, toRef, watch, computed } from 'vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\nimport type { Props, Emits } from './editArea';\r\nimport Textarea from '@/components/forms/textarea/textarea.vue';\r\n\r\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcancelText: 'Отмена',\r\n\tsubmitText: 'Отправить',\r\n\texpandable: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst state = ref('');\r\n\r\n/**\r\n * Локальное значение modelValue, будет проброшено вверх только в случае отправки формы\r\n */\r\nconst localValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props, 'modelValue'), () => {\r\n\tlocalValue.value = props.modelValue;\r\n});\r\n\r\nconst isChanged = computed(() => localValue.value !== props.modelValue);\r\n\r\nconst submit = (value: string) => {\r\n\temit('update:modelValue', value);\r\n};\r\n\r\nconst cancel = () => {\r\n\temit('cancel');\r\n\r\n\t// сброс введенного значения\r\n\tlocalValue.value = props.modelValue;\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t'top-editArea': true,\r\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-editArea_title\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\t:class=\"{\r\n\t\t\t\t'top-editArea_form': true,\r\n\t\t\t\t'top-error': isError,\r\n\t\t\t\t'top-focus': state == 'focus',\r\n\t\t\t}\"\r\n\t\t>\r\n\t\t\t<Textarea\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"name\"\r\n\t\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t\t:rows=\"rows\"\r\n\t\t\t\t:minHeight=\"minHeight\"\r\n\t\t\t\t:expandable=\"expandable\"\r\n\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t:readonly=\"readonly\"\r\n\t\t\t\t:isError=\"isError\"\r\n\t\t\t\t:hint=\"hint\"\r\n\t\t\t\tclass=\"top-editArea_element\"\r\n\t\t\t\t@focus=\"state = 'focus'\"\r\n\t\t\t\t@blur=\"state = ''\"\r\n\t\t\t\t@keyup.esc=\"cancel\"\r\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"top-editArea_footer\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isChanged && (!attachToKeyboard || modelValue)\"\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"cancel\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : cancelText }}\r\n\t\t\t\t</Button>\r\n\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"submit(localValue)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editArea {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 6px;\r\n}\r\n\r\n.top-editArea_title {\r\n\tfont-size: 12px;\r\n}\r\n\r\n.top-editArea_form {\r\n\tbackground: var(--top-forms-background-color);\r\n\toutline-color: var(--color-theme-75);\r\n\toutline-offset: 0;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n}\r\n\r\n.top-editArea_form:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n/* textarea в EditArea */\r\n.top-textarea {\r\n\twidth: 100%;\r\n}\r\n\r\n.top-editArea_element.top-textarea_textarea {\r\n\tborder: none;\r\n\toutline: none;\r\n\tanimation: none;\r\n}\r\n\r\n/* footer */\r\n.top-editArea_footer {\r\n\tpadding: var(--top-forms-padding);\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tgap: var(--top-forms-padding);\r\n}\r\n\r\n/* attachedToKeyboard */\r\n.top-editArea-attachedToKeyboard {\r\n\tbackground: var(--top-forms-background-color);\r\n\tmargin-bottom: env(keyboard-inset-height, 0);\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\tgap: 0;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_form {\r\n\tborder-radius: 0;\r\n\tborder: none;\r\n\tborder-top: 1px solid var(--top-forms-border-color);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_title {\r\n\tborder-top: 1px solid var(--color-line-2-opacity);\r\n\tpadding: var(--top-forms-padding);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\r\n\tborder-radius: 100%;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { ref, toRef, watch } from 'vue';\r\nimport type { Props, Emits } from './editInput';\r\nimport Input from '@/components/forms/input/input.vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\n\r\nconst props = defineProps<Props>();\r\n\r\nconst intermediateValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props.modelValue), () => {\r\n\tintermediateValue.value = props.modelValue;\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst submit = () => {\r\n\temit('update:modelValue', intermediateValue.value);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-editInput\">\r\n\t\t<Input\r\n\t\t\t:=\"input\"\r\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\r\n\t\t\t@keydown.enter.stop=\"submit\"\r\n\t\t\tv-model=\"intermediateValue\"\r\n\t\t/>\r\n\r\n\t\t<Button\r\n\t\t\tv-if=\"intermediateValue !== modelValue\"\r\n\t\t\ticon=\"\"\r\n\t\t\tstyling=\"soft\"\r\n\t\t\t:=\"button\"\r\n\t\t\t@click=\"submit\"\r\n\t\t>\r\n\t\t\t<!-- @slot Слот Button -->\r\n\t\t\t<slot></slot>\r\n\t\t</Button>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editInput {\r\n\twidth: 220px;\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-editInput .top-input {\r\n\twidth: unset;\r\n\tflex-grow: 1;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props, Emits } from './radioGroup';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\nconst uid = 'radioGroup-' + Math.random();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t['top-radioGroup']: true,\r\n\t\t\t['top-scrollBarXHidding']: true,\r\n\t\t\t['top-size_' + size]: !!size,\r\n\t\t\t['top-error']: isError,\r\n\t\t}\"\r\n\t>\r\n\t\t<label\r\n\t\t\tv-for=\"item of radiosProps\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-radioGroup_item-selected']: item.value === localValue,\r\n\t\t\t\t['top-radioGroup_item']: true,\r\n\t\t\t\t['top-forms-focusable']: true,\r\n\t\t\t\t['top-disabled']: item.disabled,\r\n\t\t\t}\"\r\n\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t@click=\"localValue = item.value\"\r\n\t\t>\r\n\t\t\t{{ item.title }}\r\n\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"showIndicator\"\r\n\t\t\t\tclass=\"top-radioGroup_circle\"\r\n\t\t\t></span>\r\n\r\n\t\t\t<!-- Для нативной навигации -->\r\n\t\t\t<input\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"uid\"\r\n\t\t\t\ttype=\"radio\"\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-unvisible']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t/>\r\n\t\t</label>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n@import \"./styles/top-scrollBar.css\";\r\n\r\n.top-radioGroup {\r\n\tuser-select: none;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 8px;\r\n\tbackground-color: var(--color-theme-50);\r\n\theight: var(--top-forms-base-height);\r\n\tpadding: 2px;\r\n\tgap: 2px;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n}\r\n\r\n.top-radioGroup_item {\r\n\tcursor: pointer;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 6px;\r\n\theight: calc(var(--top-forms-base-height) - 4px);\r\n\tpadding: 0 16px;\r\n\tfont-weight: 600;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-grow: 1;\r\n\tgap: 4px;\r\n}\r\n\r\n.top-radioGroup_item:hover {\r\n\tbackground-color: var(--color-theme-25);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* selected */\r\n.top-radioGroup_item-selected {\r\n\tpointer-events: none;\r\n\tbackground-color: var(--color-bg-3);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* circle */\r\n.top-radioGroup_circle {\r\n\tcontent: \"\";\r\n\tbox-sizing: border-box;\r\n\tborder: 1px solid var(--color-line-3-opacity);\r\n\tborder-radius: 50%;\r\n\tpadding: 3px;\r\n\tmargin-left: auto;\r\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\r\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\r\n}\r\n\r\n.top-radioGroup_item:hover .top-radioGroup_circle:before {\r\n\tborder-color: var(--color-primary);\r\n}\r\n\r\n/* circle selected */\r\n.top-radioGroup_item-selected .top-radioGroup_circle {\r\n\tborder-color: var(--color-primary);\r\n\tborder-width: 5px;\r\n}\r\n\r\n.top-radioGroup_item-selected:hover .top-radioGroup_circle {\r\n\tborder-color: var(--color-primary-2);\r\n}\r\n\r\n/* top-disabled */\r\n.top-radioGroup_item.top-disabled {\r\n\t--top-icon-color: var(--color-text-3);\r\n\r\n\tcolor: var(--color-text-3);\r\n}\r\n\r\n.top-radioGroup_item.top-disabled .top-radioGroup_circle {\r\n\tborder-color: var(--color-theme-400);\r\n\tbackground-color: var(--color-theme-50);\r\n}\r\n\r\n/* top-error */\r\n.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle {\r\n\tborder-color: var(--color-negative);\r\n}\r\n</style>"],"names":["props","__props","emit","__emit","state","vue","localValue","isChanged","submit","value","intermediateValue"],"mappings":"6oBAQA,MAAAA,EAAAC,EAMAC,EAAAC,EAEAC,EAAAC,EAAA,IAAA,EAAA,6DAQCC,EAAA,MAAAN,EAAA,UAAyB,CAAA,EAG1B,MAAAO,EAAAF,EAAA,SAAA,IAAAC,EAAA,QAAAN,EAAA,UAAA,EAEAQ,EAAAC,GAAA,CACCP,EAAA,oBAAAO,CAAA,CAA+B,SAI/BP,EAAA,QAAA,EAGAI,EAAA,MAAAN,EAAA,UAAyB,qmEC/B1B,MAAAA,EAAAC,2DAKCS,EAAA,MAAAV,EAAA,UAAgC,CAAA,EAGjC,MAAAE,EAAAC,uCAGkD,q+BCblD,MAAAH,EAAAC,EAIAC,EAAAC,EAEAG,EAAAD,EAAA,SAAA,CAA4B,KAAA,CAE1B,OAAAL,EAAA,mBAIAE,EAAA,oBAAAO,CAAA,EACD,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '../src/components/formsExt/formsExt'
|
package/formsExt/formsExt.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent as G, ref as f, watch as w, toRef as k, computed as C, openBlock as n, createElementBlock as m, normalizeClass as v, toDisplayString as y, createCommentVNode as b, createElementVNode as h, createVNode as A, withKeys as V, withModifiers as _, createBlock as E, withCtx as $, createTextVNode as T, mergeProps as g, renderSlot as I, Fragment as M, renderList as H, withDirectives as z, vModelRadio as N } from "vue";
|
|
2
|
-
import { T as P, B, _ as K, I as R } from "../.chunks/forms-
|
|
2
|
+
import { T as P, B, _ as K, I as R } from "../.chunks/forms-727cc6aa.es.js";
|
|
3
3
|
import("../core/core.js").then((u) => {
|
|
4
4
|
const p = ["../assets/formsExt.css"].map((t) => import.meta.resolve(t));
|
|
5
5
|
u.default.Page.addCss(p);
|
package/formsExt/formsExt.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formsExt.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/radioGroup/radioGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { ref, toRef, watch, computed } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Props, Emits } from './editArea';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\n\nconst props = withDefaults(defineProps<Props>(), {\n\tcancelText: 'Отмена',\n\tsubmitText: 'Отправить',\n\texpandable: true,\n});\n\nconst emit = defineEmits<Emits>();\n\nconst state = ref('');\n\n/**\n * Локальное значение modelValue, будет проброшено вверх только в случае отправки формы\n */\nconst localValue = ref(props.modelValue);\n\nwatch(toRef(props, 'modelValue'), () => {\n\tlocalValue.value = props.modelValue;\n});\n\nconst isChanged = computed(() => localValue.value !== props.modelValue);\n\nconst submit = (value: string) => {\n\temit('update:modelValue', value);\n};\n\nconst cancel = () => {\n\temit('cancel');\n\n\t// сброс введенного значения\n\tlocalValue.value = props.modelValue;\n};\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t'top-editArea': true,\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\n\t\t}\"\n\t>\n\t\t<div\n\t\t\tv-if=\"title\"\n\t\t\tclass=\"top-editArea_title\"\n\t\t>\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div\n\t\t\t:class=\"{\n\t\t\t\t'top-editArea_form': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': state == 'focus',\n\t\t\t}\"\n\t\t>\n\t\t\t<Textarea\n\t\t\t\tv-model=\"localValue\"\n\t\t\t\t:name=\"name\"\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:rows=\"rows\"\n\t\t\t\t:minHeight=\"minHeight\"\n\t\t\t\t:expandable=\"expandable\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t:readonly=\"readonly\"\n\t\t\t\t:isError=\"isError\"\n\t\t\t\t:hint=\"hint\"\n\t\t\t\tclass=\"top-editArea_element\"\n\t\t\t\t@focus=\"state = 'focus'\"\n\t\t\t\t@blur=\"state = ''\"\n\t\t\t\t@keyup.esc=\"cancel\"\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\n\t\t\t/>\n\n\t\t\t<div class=\"top-editArea_footer\">\n\t\t\t\t<Button\n\t\t\t\t\tv-if=\"isChanged && (!attachToKeyboard || modelValue)\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t{{ attachToKeyboard ? '' : cancelText }}\n\t\t\t\t</Button>\n\n\t\t\t\t<Button\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style module>\n.top-editArea {\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_title {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tbackground: var(--top-forms-background-color);\n\toutline-color: var(--color-theme-75);\n\toutline-offset: 0;\n\tdisplay: flex;\n\tflex-direction: column;\n}\n\n.top-editArea_form:hover {\n\tbackground: var(--top-forms-background-color-hover);\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\tborder: none;\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tjustify-content: flex-end;\n\tgap: var(--top-forms-padding);\n}\n\n/* attachedToKeyboard */\n.top-editArea-attachedToKeyboard {\n\tbackground: var(--top-forms-background-color);\n\tmargin-bottom: env(keyboard-inset-height, 0);\n\tposition: fixed;\n\tbottom: 0;\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_form {\n\tborder-radius: 0;\n\tborder: none;\n\tborder-top: 1px solid var(--top-forms-border-color);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_title {\n\tborder-top: 1px solid var(--color-line-2-opacity);\n\tpadding: var(--top-forms-padding);\n}\n\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\n\tborder-radius: 100%;\n}\n</style>","<script setup lang=\"ts\">\nimport { ref, toRef, watch } from 'vue';\nimport type { Props, Emits } from './editInput';\nimport Input from '@/components/forms/input/input.vue';\nimport Button from '@/components/forms/button/button.vue';\n\nconst props = defineProps<Props>();\n\nconst intermediateValue = ref(props.modelValue);\n\nwatch(toRef(props.modelValue), () => {\n\tintermediateValue.value = props.modelValue;\n});\n\nconst emit = defineEmits<Emits>();\n\nconst submit = () => {\n\temit('update:modelValue', intermediateValue.value);\n};\n</script>\n\n<template>\n\t<div class=\"top-editInput\">\n\t\t<Input\n\t\t\t:=\"input\"\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\n\t\t\t@keydown.enter.stop=\"submit\"\n\t\t\tv-model=\"intermediateValue\"\n\t\t/>\n\n\t\t<Button\n\t\t\tv-if=\"intermediateValue !== modelValue\"\n\t\t\ticon=\"\"\n\t\t\tstyling=\"soft\"\n\t\t\t:=\"button\"\n\t\t\t@click=\"submit\"\n\t\t>\n\t\t\t<!-- @slot Слот Button -->\n\t\t\t<slot></slot>\n\t\t</Button>\n\t</div>\n</template>\n\n<style module>\n.top-editInput {\n\twidth: 220px;\n\tflex-grow: 1;\n\tdisplay: flex;\n\talign-items: flex-end;\n\tgap: var(--top-gap-1);\n}\n\n.top-editInput .top-input {\n\twidth: unset;\n\tflex-grow: 1;\n}\n</style>","<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport type { Props, Emits } from './radioGroup';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsize: 's',\n});\n\nconst emit = defineEmits<Emits>();\n\nconst localValue = computed({\n\tget() {\n\t\treturn props.modelValue;\n\t},\n\n\tset(value) {\n\t\temit('update:modelValue', value);\n\t},\n});\n\nconst uid = 'radioGroup-' + Math.random();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-radioGroup']: true,\n\t\t\t['top-scrollBarXHidding']: true,\n\t\t\t['top-size_' + size]: !!size,\n\t\t\t['top-error']: isError,\n\t\t}\"\n\t>\n\t\t<label\n\t\t\tv-for=\"item of radiosProps\"\n\t\t\t:class=\"{\n\t\t\t\t['top-radioGroup_item-selected']: item.value === localValue,\n\t\t\t\t['top-radioGroup_item']: true,\n\t\t\t\t['top-forms-focusable']: true,\n\t\t\t\t['top-disabled']: item.disabled,\n\t\t\t}\"\n\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t@click=\"localValue = item.value\"\n\t\t>\n\t\t\t{{ item.title }}\n\n\t\t\t<span\n\t\t\t\tv-if=\"showIndicator\"\n\t\t\t\tclass=\"top-radioGroup_circle\"\n\t\t\t></span>\n\n\t\t\t<!-- Для нативной навигации -->\n\t\t\t<input\n\t\t\t\tv-model=\"localValue\"\n\t\t\t\t:name=\"uid\"\n\t\t\t\ttype=\"radio\"\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-unvisible']: true,\n\t\t\t\t}\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t/>\n\t\t</label>\n\t</div>\n</template>\n\n<style module>\n@import \"./styles/top-scrollBar.css\";\n\n.top-radioGroup {\n\tuser-select: none;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tbackground-color: var(--color-theme-50);\n\theight: var(--top-forms-base-height);\n\tpadding: 2px;\n\tgap: 2px;\n\tdisplay: flex;\n\talign-items: flex-start;\n}\n\n.top-radioGroup_item {\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\theight: calc(var(--top-forms-base-height) - 4px);\n\tpadding: 0 16px;\n\tfont-weight: 600;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-grow: 1;\n\tgap: 4px;\n}\n\n.top-radioGroup_item:hover {\n\tbackground-color: var(--color-theme-25);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n/* selected */\n.top-radioGroup_item-selected {\n\tpointer-events: none;\n\tbackground-color: var(--color-bg-3);\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\n}\n\n/* circle */\n.top-radioGroup_circle {\n\tcontent: \"\";\n\tbox-sizing: border-box;\n\tborder: 1px solid var(--color-line-3-opacity);\n\tborder-radius: 50%;\n\tpadding: 3px;\n\tmargin-left: auto;\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\n}\n\n.top-radioGroup_item:hover .top-radioGroup_circle:before {\n\tborder-color: var(--color-primary);\n}\n\n/* circle selected */\n.top-radioGroup_item-selected .top-radioGroup_circle {\n\tborder-color: var(--color-primary);\n\tborder-width: 5px;\n}\n\n.top-radioGroup_item-selected:hover .top-radioGroup_circle {\n\tborder-color: var(--color-primary-2);\n}\n\n/* top-disabled */\n.top-radioGroup_item.top-disabled {\n\t--top-icon-color: var(--color-text-3);\n\n\tcolor: var(--color-text-3);\n}\n\n.top-radioGroup_item.top-disabled .top-radioGroup_circle {\n\tborder-color: var(--color-theme-400);\n\tbackground-color: var(--color-theme-50);\n}\n\n/* top-error */\n.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle {\n\tborder-color: var(--color-negative);\n}\n</style>"],"names":["props","__props","emit","__emit","state","ref","localValue","watch","toRef","isChanged","computed","submit","value","cancel","intermediateValue","uid"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAAA,IAAAC,GAMAC,IAAAC,GAEAC,IAAAC,EAAA,EAAA,GAKAC,IAAAD,EAAAL,EAAA,UAAA;AAEA,IAAAO,EAAAC,EAAAR,GAAA,YAAA,GAAA,MAAA;AACC,MAAAM,EAAA,QAAAN,EAAA;AAAA,IAAyB,CAAA;AAG1B,UAAAS,IAAAC,EAAA,MAAAJ,EAAA,UAAAN,EAAA,UAAA,GAEAW,IAAA,CAAAC,MAAA;AACC,MAAAV,EAAA,qBAAAU,CAAA;AAAA,IAA+B,GAGhCC,IAAA,MAAA;AACC,MAAAX,EAAA,QAAA,GAGAI,EAAA,QAAAN,EAAA;AAAA,IAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/B1B,UAAAA,IAAAC,GAEAa,IAAAT,EAAAL,EAAA,UAAA;AAEA,IAAAO,EAAAC,EAAAR,EAAA,UAAA,GAAA,MAAA;AACC,MAAAc,EAAA,QAAAd,EAAA;AAAA,IAAgC,CAAA;AAGjC,UAAAE,IAAAC,GAEAQ,IAAA,MAAA;AACC,MAAAT,EAAA,qBAAAY,EAAA,KAAA;AAAA,IAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACblD,UAAAd,IAAAC,GAIAC,IAAAC,GAEAG,IAAAI,EAAA;AAAA,MAA4B,MAAA;AAE1B,eAAAV,EAAA;AAAA,MAAa;AAAA,MACd,IAAAY,GAAA;AAGC,QAAAV,EAAA,qBAAAU,CAAA;AAAA,MAA+B;AAAA,IAChC,CAAA,GAGDG,IAAA,gBAAA,KAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"formsExt.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/radioGroup/radioGroup.vue"],"sourcesContent":["<script setup lang=\"ts\">\r\nimport { ref, toRef, watch, computed } from 'vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\nimport type { Props, Emits } from './editArea';\r\nimport Textarea from '@/components/forms/textarea/textarea.vue';\r\n\r\n// TODO: добавить переменную top-forms-fixed-height и использовать ее при добавлении отступов у страницы\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tcancelText: 'Отмена',\r\n\tsubmitText: 'Отправить',\r\n\texpandable: true,\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst state = ref('');\r\n\r\n/**\r\n * Локальное значение modelValue, будет проброшено вверх только в случае отправки формы\r\n */\r\nconst localValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props, 'modelValue'), () => {\r\n\tlocalValue.value = props.modelValue;\r\n});\r\n\r\nconst isChanged = computed(() => localValue.value !== props.modelValue);\r\n\r\nconst submit = (value: string) => {\r\n\temit('update:modelValue', value);\r\n};\r\n\r\nconst cancel = () => {\r\n\temit('cancel');\r\n\r\n\t// сброс введенного значения\r\n\tlocalValue.value = props.modelValue;\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t'top-editArea': true,\r\n\t\t\t'top-editArea-attachedToKeyboard': attachToKeyboard,\r\n\t\t}\"\r\n\t>\r\n\t\t<div\r\n\t\t\tv-if=\"title\"\r\n\t\t\tclass=\"top-editArea_title\"\r\n\t\t>\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\t:class=\"{\r\n\t\t\t\t'top-editArea_form': true,\r\n\t\t\t\t'top-error': isError,\r\n\t\t\t\t'top-focus': state == 'focus',\r\n\t\t\t}\"\r\n\t\t>\r\n\t\t\t<Textarea\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"name\"\r\n\t\t\t\t:placeholder=\"placeholder\"\r\n\t\t\t\t:rows=\"rows\"\r\n\t\t\t\t:minHeight=\"minHeight\"\r\n\t\t\t\t:expandable=\"expandable\"\r\n\t\t\t\t:disabled=\"disabled\"\r\n\t\t\t\t:readonly=\"readonly\"\r\n\t\t\t\t:isError=\"isError\"\r\n\t\t\t\t:hint=\"hint\"\r\n\t\t\t\tclass=\"top-editArea_element\"\r\n\t\t\t\t@focus=\"state = 'focus'\"\r\n\t\t\t\t@blur=\"state = ''\"\r\n\t\t\t\t@keyup.esc=\"cancel\"\r\n\t\t\t\t@keyup.ctrl.enter=\"submit(localValue)\"\r\n\t\t\t/>\r\n\r\n\t\t\t<div class=\"top-editArea_footer\">\r\n\t\t\t\t<Button\r\n\t\t\t\t\tv-if=\"isChanged && (!attachToKeyboard || modelValue)\"\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\tcolor=\"theme\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"cancel\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : cancelText }}\r\n\t\t\t\t</Button>\r\n\r\n\t\t\t\t<Button\r\n\t\t\t\t\tclass=\"top-editArea_button\"\r\n\t\t\t\t\t:icon=\"attachToKeyboard ? '': ''\"\r\n\t\t\t\t\t@click=\"submit(localValue)\"\r\n\t\t\t\t>\r\n\t\t\t\t\t{{ attachToKeyboard ? '' : submitText }}\r\n\t\t\t\t</Button>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editArea {\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: 6px;\r\n}\r\n\r\n.top-editArea_title {\r\n\tfont-size: 12px;\r\n}\r\n\r\n.top-editArea_form {\r\n\tbackground: var(--top-forms-background-color);\r\n\toutline-color: var(--color-theme-75);\r\n\toutline-offset: 0;\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n}\r\n\r\n.top-editArea_form:hover {\r\n\tbackground: var(--top-forms-background-color-hover);\r\n}\r\n\r\n/* textarea в EditArea */\r\n.top-textarea {\r\n\twidth: 100%;\r\n}\r\n\r\n.top-editArea_element.top-textarea_textarea {\r\n\tborder: none;\r\n\toutline: none;\r\n\tanimation: none;\r\n}\r\n\r\n/* footer */\r\n.top-editArea_footer {\r\n\tpadding: var(--top-forms-padding);\r\n\tdisplay: flex;\r\n\tjustify-content: flex-end;\r\n\tgap: var(--top-forms-padding);\r\n}\r\n\r\n/* attachedToKeyboard */\r\n.top-editArea-attachedToKeyboard {\r\n\tbackground: var(--top-forms-background-color);\r\n\tmargin-bottom: env(keyboard-inset-height, 0);\r\n\tposition: fixed;\r\n\tbottom: 0;\r\n\tright: 0;\r\n\tleft: 0;\r\n\tz-index: 2;\r\n\tgap: 0;\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_form {\r\n\tborder-radius: 0;\r\n\tborder: none;\r\n\tborder-top: 1px solid var(--top-forms-border-color);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_title {\r\n\tborder-top: 1px solid var(--color-line-2-opacity);\r\n\tpadding: var(--top-forms-padding);\r\n}\r\n\r\n.top-editArea-attachedToKeyboard .top-editArea_footer > [data-top-icon] {\r\n\tborder-radius: 100%;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { ref, toRef, watch } from 'vue';\r\nimport type { Props, Emits } from './editInput';\r\nimport Input from '@/components/forms/input/input.vue';\r\nimport Button from '@/components/forms/button/button.vue';\r\n\r\nconst props = defineProps<Props>();\r\n\r\nconst intermediateValue = ref(props.modelValue);\r\n\r\nwatch(toRef(props.modelValue), () => {\r\n\tintermediateValue.value = props.modelValue;\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst submit = () => {\r\n\temit('update:modelValue', intermediateValue.value);\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div class=\"top-editInput\">\r\n\t\t<Input\r\n\t\t\t:=\"input\"\r\n\t\t\t@keydown.esc.capture.stop=\"intermediateValue = modelValue\"\r\n\t\t\t@keydown.enter.stop=\"submit\"\r\n\t\t\tv-model=\"intermediateValue\"\r\n\t\t/>\r\n\r\n\t\t<Button\r\n\t\t\tv-if=\"intermediateValue !== modelValue\"\r\n\t\t\ticon=\"\"\r\n\t\t\tstyling=\"soft\"\r\n\t\t\t:=\"button\"\r\n\t\t\t@click=\"submit\"\r\n\t\t>\r\n\t\t\t<!-- @slot Слот Button -->\r\n\t\t\t<slot></slot>\r\n\t\t</Button>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n.top-editInput {\r\n\twidth: 220px;\r\n\tflex-grow: 1;\r\n\tdisplay: flex;\r\n\talign-items: flex-end;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-editInput .top-input {\r\n\twidth: unset;\r\n\tflex-grow: 1;\r\n}\r\n</style>","<script setup lang=\"ts\">\r\nimport { computed } from 'vue';\r\nimport type { Props, Emits } from './radioGroup';\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst emit = defineEmits<Emits>();\r\n\r\nconst localValue = computed({\r\n\tget() {\r\n\t\treturn props.modelValue;\r\n\t},\r\n\r\n\tset(value) {\r\n\t\temit('update:modelValue', value);\r\n\t},\r\n});\r\n\r\nconst uid = 'radioGroup-' + Math.random();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t['top-radioGroup']: true,\r\n\t\t\t['top-scrollBarXHidding']: true,\r\n\t\t\t['top-size_' + size]: !!size,\r\n\t\t\t['top-error']: isError,\r\n\t\t}\"\r\n\t>\r\n\t\t<label\r\n\t\t\tv-for=\"item of radiosProps\"\r\n\t\t\t:class=\"{\r\n\t\t\t\t['top-radioGroup_item-selected']: item.value === localValue,\r\n\t\t\t\t['top-radioGroup_item']: true,\r\n\t\t\t\t['top-forms-focusable']: true,\r\n\t\t\t\t['top-disabled']: item.disabled,\r\n\t\t\t}\"\r\n\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t@click=\"localValue = item.value\"\r\n\t\t>\r\n\t\t\t{{ item.title }}\r\n\r\n\t\t\t<span\r\n\t\t\t\tv-if=\"showIndicator\"\r\n\t\t\t\tclass=\"top-radioGroup_circle\"\r\n\t\t\t></span>\r\n\r\n\t\t\t<!-- Для нативной навигации -->\r\n\t\t\t<input\r\n\t\t\t\tv-model=\"localValue\"\r\n\t\t\t\t:name=\"uid\"\r\n\t\t\t\ttype=\"radio\"\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-unvisible']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t/>\r\n\t\t</label>\r\n\t</div>\r\n</template>\r\n\r\n<style module>\r\n@import \"./styles/top-scrollBar.css\";\r\n\r\n.top-radioGroup {\r\n\tuser-select: none;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 8px;\r\n\tbackground-color: var(--color-theme-50);\r\n\theight: var(--top-forms-base-height);\r\n\tpadding: 2px;\r\n\tgap: 2px;\r\n\tdisplay: flex;\r\n\talign-items: flex-start;\r\n}\r\n\r\n.top-radioGroup_item {\r\n\tcursor: pointer;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 6px;\r\n\theight: calc(var(--top-forms-base-height) - 4px);\r\n\tpadding: 0 16px;\r\n\tfont-weight: 600;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-grow: 1;\r\n\tgap: 4px;\r\n}\r\n\r\n.top-radioGroup_item:hover {\r\n\tbackground-color: var(--color-theme-25);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* selected */\r\n.top-radioGroup_item-selected {\r\n\tpointer-events: none;\r\n\tbackground-color: var(--color-bg-3);\r\n\tbox-shadow: 0px 4px 32px 0px rgba(4, 9, 84, 0.10), 0px 0px 4px 0px rgba(4, 9, 84, 0.08);\r\n}\r\n\r\n/* circle */\r\n.top-radioGroup_circle {\r\n\tcontent: \"\";\r\n\tbox-sizing: border-box;\r\n\tborder: 1px solid var(--color-line-3-opacity);\r\n\tborder-radius: 50%;\r\n\tpadding: 3px;\r\n\tmargin-left: auto;\r\n\twidth: calc(var(--top-forms-option-height) - 3px * 2);\r\n\theight: calc(var(--top-forms-option-height) - 3px * 2);\r\n}\r\n\r\n.top-radioGroup_item:hover .top-radioGroup_circle:before {\r\n\tborder-color: var(--color-primary);\r\n}\r\n\r\n/* circle selected */\r\n.top-radioGroup_item-selected .top-radioGroup_circle {\r\n\tborder-color: var(--color-primary);\r\n\tborder-width: 5px;\r\n}\r\n\r\n.top-radioGroup_item-selected:hover .top-radioGroup_circle {\r\n\tborder-color: var(--color-primary-2);\r\n}\r\n\r\n/* top-disabled */\r\n.top-radioGroup_item.top-disabled {\r\n\t--top-icon-color: var(--color-text-3);\r\n\r\n\tcolor: var(--color-text-3);\r\n}\r\n\r\n.top-radioGroup_item.top-disabled .top-radioGroup_circle {\r\n\tborder-color: var(--color-theme-400);\r\n\tbackground-color: var(--color-theme-50);\r\n}\r\n\r\n/* top-error */\r\n.top-radioGroup.top-error .top-radioGroup_item:not(.top-disabled) .top-radioGroup_circle {\r\n\tborder-color: var(--color-negative);\r\n}\r\n</style>"],"names":["props","__props","emit","__emit","state","ref","localValue","watch","toRef","isChanged","computed","submit","value","cancel","intermediateValue","uid"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,UAAAA,IAAAC,GAMAC,IAAAC,GAEAC,IAAAC,EAAA,EAAA,GAKAC,IAAAD,EAAAL,EAAA,UAAA;AAEA,IAAAO,EAAAC,EAAAR,GAAA,YAAA,GAAA,MAAA;AACC,MAAAM,EAAA,QAAAN,EAAA;AAAA,IAAyB,CAAA;AAG1B,UAAAS,IAAAC,EAAA,MAAAJ,EAAA,UAAAN,EAAA,UAAA,GAEAW,IAAA,CAAAC,MAAA;AACC,MAAAV,EAAA,qBAAAU,CAAA;AAAA,IAA+B,GAGhCC,IAAA,MAAA;AACC,MAAAX,EAAA,QAAA,GAGAI,EAAA,QAAAN,EAAA;AAAA,IAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/B1B,UAAAA,IAAAC,GAEAa,IAAAT,EAAAL,EAAA,UAAA;AAEA,IAAAO,EAAAC,EAAAR,EAAA,UAAA,GAAA,MAAA;AACC,MAAAc,EAAA,QAAAd,EAAA;AAAA,IAAgC,CAAA;AAGjC,UAAAE,IAAAC,GAEAQ,IAAA,MAAA;AACC,MAAAT,EAAA,qBAAAY,EAAA,KAAA;AAAA,IAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACblD,UAAAd,IAAAC,GAIAC,IAAAC,GAEAG,IAAAI,EAAA;AAAA,MAA4B,MAAA;AAE1B,eAAAV,EAAA;AAAA,MAAa;AAAA,MACd,IAAAY,GAAA;AAGC,QAAAV,EAAA,qBAAAU,CAAA;AAAA,MAA+B;AAAA,IAChC,CAAA,GAGDG,IAAA,gBAAA,KAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,161 +1,161 @@
|
|
|
1
|
-
body {
|
|
2
|
-
padding: 0;
|
|
3
|
-
margin: 0;
|
|
4
|
-
font-family: sans-serif;
|
|
5
|
-
font-size: 1em;
|
|
6
|
-
line-height: 1.5;
|
|
7
|
-
color: #555;
|
|
8
|
-
background: #fff;
|
|
9
|
-
}
|
|
10
|
-
h1 {
|
|
11
|
-
font-size: 1.5em;
|
|
12
|
-
font-weight: normal;
|
|
13
|
-
}
|
|
14
|
-
small {
|
|
15
|
-
font-size: .66666667em;
|
|
16
|
-
}
|
|
17
|
-
a {
|
|
18
|
-
color: #e74c3c;
|
|
19
|
-
text-decoration: none;
|
|
20
|
-
}
|
|
21
|
-
a:hover, a:focus {
|
|
22
|
-
box-shadow: 0 1px #e74c3c;
|
|
23
|
-
}
|
|
24
|
-
.bshadow0, input {
|
|
25
|
-
box-shadow: inset 0 -2px #e7e7e7;
|
|
26
|
-
}
|
|
27
|
-
input:hover {
|
|
28
|
-
box-shadow: inset 0 -2px #ccc;
|
|
29
|
-
}
|
|
30
|
-
input, fieldset {
|
|
31
|
-
font-family: sans-serif;
|
|
32
|
-
font-size: 1em;
|
|
33
|
-
margin: 0;
|
|
34
|
-
padding: 0;
|
|
35
|
-
border: 0;
|
|
36
|
-
}
|
|
37
|
-
input {
|
|
38
|
-
color: inherit;
|
|
39
|
-
line-height: 1.5;
|
|
40
|
-
height: 1.5em;
|
|
41
|
-
padding: .25em 0;
|
|
42
|
-
}
|
|
43
|
-
input:focus {
|
|
44
|
-
outline: none;
|
|
45
|
-
box-shadow: inset 0 -2px #449fdb;
|
|
46
|
-
}
|
|
47
|
-
.glyph {
|
|
48
|
-
font-size: 16px;
|
|
49
|
-
width: 15em;
|
|
50
|
-
padding-bottom: 1em;
|
|
51
|
-
margin-right: 4em;
|
|
52
|
-
margin-bottom: 1em;
|
|
53
|
-
float: left;
|
|
54
|
-
overflow: hidden;
|
|
55
|
-
}
|
|
56
|
-
.liga {
|
|
57
|
-
width: 80%;
|
|
58
|
-
width: calc(100% - 2.5em);
|
|
59
|
-
}
|
|
60
|
-
.talign-right {
|
|
61
|
-
text-align: right;
|
|
62
|
-
}
|
|
63
|
-
.talign-center {
|
|
64
|
-
text-align: center;
|
|
65
|
-
}
|
|
66
|
-
.bgc1 {
|
|
67
|
-
background: #f1f1f1;
|
|
68
|
-
}
|
|
69
|
-
.fgc1 {
|
|
70
|
-
color: #999;
|
|
71
|
-
}
|
|
72
|
-
.fgc0 {
|
|
73
|
-
color: #000;
|
|
74
|
-
}
|
|
75
|
-
p {
|
|
76
|
-
margin-top: 1em;
|
|
77
|
-
margin-bottom: 1em;
|
|
78
|
-
}
|
|
79
|
-
.mvm {
|
|
80
|
-
margin-top: .75em;
|
|
81
|
-
margin-bottom: .75em;
|
|
82
|
-
}
|
|
83
|
-
.mtn {
|
|
84
|
-
margin-top: 0;
|
|
85
|
-
}
|
|
86
|
-
.mtl, .mal {
|
|
87
|
-
margin-top: 1.5em;
|
|
88
|
-
}
|
|
89
|
-
.mbl, .mal {
|
|
90
|
-
margin-bottom: 1.5em;
|
|
91
|
-
}
|
|
92
|
-
.mal, .mhl {
|
|
93
|
-
margin-left: 1.5em;
|
|
94
|
-
margin-right: 1.5em;
|
|
95
|
-
}
|
|
96
|
-
.mhmm {
|
|
97
|
-
margin-left: 1em;
|
|
98
|
-
margin-right: 1em;
|
|
99
|
-
}
|
|
100
|
-
.mls {
|
|
101
|
-
margin-left: .25em;
|
|
102
|
-
}
|
|
103
|
-
.ptl {
|
|
104
|
-
padding-top: 1.5em;
|
|
105
|
-
}
|
|
106
|
-
.pbs, .pvs {
|
|
107
|
-
padding-bottom: .25em;
|
|
108
|
-
}
|
|
109
|
-
.pvs, .pts {
|
|
110
|
-
padding-top: .25em;
|
|
111
|
-
}
|
|
112
|
-
.unit {
|
|
113
|
-
float: left;
|
|
114
|
-
}
|
|
115
|
-
.unitRight {
|
|
116
|
-
float: right;
|
|
117
|
-
}
|
|
118
|
-
.size1of2 {
|
|
119
|
-
width: 50%;
|
|
120
|
-
}
|
|
121
|
-
.size1of1 {
|
|
122
|
-
width: 100%;
|
|
123
|
-
}
|
|
124
|
-
.clearfix:before, .clearfix:after {
|
|
125
|
-
content: " ";
|
|
126
|
-
display: table;
|
|
127
|
-
}
|
|
128
|
-
.clearfix:after {
|
|
129
|
-
clear: both;
|
|
130
|
-
}
|
|
131
|
-
.hidden-true {
|
|
132
|
-
display: none;
|
|
133
|
-
}
|
|
134
|
-
.textbox0 {
|
|
135
|
-
width: 3em;
|
|
136
|
-
background: #f1f1f1;
|
|
137
|
-
padding: .25em .5em;
|
|
138
|
-
line-height: 1.5;
|
|
139
|
-
height: 1.5em;
|
|
140
|
-
}
|
|
141
|
-
#testDrive {
|
|
142
|
-
display: block;
|
|
143
|
-
padding-top: 24px;
|
|
144
|
-
line-height: 1.5;
|
|
145
|
-
}
|
|
146
|
-
.fs0 {
|
|
147
|
-
font-size: 16px;
|
|
148
|
-
}
|
|
149
|
-
.fs1 {
|
|
150
|
-
font-size: 32px;
|
|
151
|
-
}
|
|
152
|
-
.fs2 {
|
|
153
|
-
font-size: 14px;
|
|
154
|
-
}
|
|
155
|
-
.fs3 {
|
|
156
|
-
font-size: 14px;
|
|
157
|
-
}
|
|
158
|
-
.fs4 {
|
|
159
|
-
font-size: 8px;
|
|
160
|
-
}
|
|
161
|
-
|
|
1
|
+
body {
|
|
2
|
+
padding: 0;
|
|
3
|
+
margin: 0;
|
|
4
|
+
font-family: sans-serif;
|
|
5
|
+
font-size: 1em;
|
|
6
|
+
line-height: 1.5;
|
|
7
|
+
color: #555;
|
|
8
|
+
background: #fff;
|
|
9
|
+
}
|
|
10
|
+
h1 {
|
|
11
|
+
font-size: 1.5em;
|
|
12
|
+
font-weight: normal;
|
|
13
|
+
}
|
|
14
|
+
small {
|
|
15
|
+
font-size: .66666667em;
|
|
16
|
+
}
|
|
17
|
+
a {
|
|
18
|
+
color: #e74c3c;
|
|
19
|
+
text-decoration: none;
|
|
20
|
+
}
|
|
21
|
+
a:hover, a:focus {
|
|
22
|
+
box-shadow: 0 1px #e74c3c;
|
|
23
|
+
}
|
|
24
|
+
.bshadow0, input {
|
|
25
|
+
box-shadow: inset 0 -2px #e7e7e7;
|
|
26
|
+
}
|
|
27
|
+
input:hover {
|
|
28
|
+
box-shadow: inset 0 -2px #ccc;
|
|
29
|
+
}
|
|
30
|
+
input, fieldset {
|
|
31
|
+
font-family: sans-serif;
|
|
32
|
+
font-size: 1em;
|
|
33
|
+
margin: 0;
|
|
34
|
+
padding: 0;
|
|
35
|
+
border: 0;
|
|
36
|
+
}
|
|
37
|
+
input {
|
|
38
|
+
color: inherit;
|
|
39
|
+
line-height: 1.5;
|
|
40
|
+
height: 1.5em;
|
|
41
|
+
padding: .25em 0;
|
|
42
|
+
}
|
|
43
|
+
input:focus {
|
|
44
|
+
outline: none;
|
|
45
|
+
box-shadow: inset 0 -2px #449fdb;
|
|
46
|
+
}
|
|
47
|
+
.glyph {
|
|
48
|
+
font-size: 16px;
|
|
49
|
+
width: 15em;
|
|
50
|
+
padding-bottom: 1em;
|
|
51
|
+
margin-right: 4em;
|
|
52
|
+
margin-bottom: 1em;
|
|
53
|
+
float: left;
|
|
54
|
+
overflow: hidden;
|
|
55
|
+
}
|
|
56
|
+
.liga {
|
|
57
|
+
width: 80%;
|
|
58
|
+
width: calc(100% - 2.5em);
|
|
59
|
+
}
|
|
60
|
+
.talign-right {
|
|
61
|
+
text-align: right;
|
|
62
|
+
}
|
|
63
|
+
.talign-center {
|
|
64
|
+
text-align: center;
|
|
65
|
+
}
|
|
66
|
+
.bgc1 {
|
|
67
|
+
background: #f1f1f1;
|
|
68
|
+
}
|
|
69
|
+
.fgc1 {
|
|
70
|
+
color: #999;
|
|
71
|
+
}
|
|
72
|
+
.fgc0 {
|
|
73
|
+
color: #000;
|
|
74
|
+
}
|
|
75
|
+
p {
|
|
76
|
+
margin-top: 1em;
|
|
77
|
+
margin-bottom: 1em;
|
|
78
|
+
}
|
|
79
|
+
.mvm {
|
|
80
|
+
margin-top: .75em;
|
|
81
|
+
margin-bottom: .75em;
|
|
82
|
+
}
|
|
83
|
+
.mtn {
|
|
84
|
+
margin-top: 0;
|
|
85
|
+
}
|
|
86
|
+
.mtl, .mal {
|
|
87
|
+
margin-top: 1.5em;
|
|
88
|
+
}
|
|
89
|
+
.mbl, .mal {
|
|
90
|
+
margin-bottom: 1.5em;
|
|
91
|
+
}
|
|
92
|
+
.mal, .mhl {
|
|
93
|
+
margin-left: 1.5em;
|
|
94
|
+
margin-right: 1.5em;
|
|
95
|
+
}
|
|
96
|
+
.mhmm {
|
|
97
|
+
margin-left: 1em;
|
|
98
|
+
margin-right: 1em;
|
|
99
|
+
}
|
|
100
|
+
.mls {
|
|
101
|
+
margin-left: .25em;
|
|
102
|
+
}
|
|
103
|
+
.ptl {
|
|
104
|
+
padding-top: 1.5em;
|
|
105
|
+
}
|
|
106
|
+
.pbs, .pvs {
|
|
107
|
+
padding-bottom: .25em;
|
|
108
|
+
}
|
|
109
|
+
.pvs, .pts {
|
|
110
|
+
padding-top: .25em;
|
|
111
|
+
}
|
|
112
|
+
.unit {
|
|
113
|
+
float: left;
|
|
114
|
+
}
|
|
115
|
+
.unitRight {
|
|
116
|
+
float: right;
|
|
117
|
+
}
|
|
118
|
+
.size1of2 {
|
|
119
|
+
width: 50%;
|
|
120
|
+
}
|
|
121
|
+
.size1of1 {
|
|
122
|
+
width: 100%;
|
|
123
|
+
}
|
|
124
|
+
.clearfix:before, .clearfix:after {
|
|
125
|
+
content: " ";
|
|
126
|
+
display: table;
|
|
127
|
+
}
|
|
128
|
+
.clearfix:after {
|
|
129
|
+
clear: both;
|
|
130
|
+
}
|
|
131
|
+
.hidden-true {
|
|
132
|
+
display: none;
|
|
133
|
+
}
|
|
134
|
+
.textbox0 {
|
|
135
|
+
width: 3em;
|
|
136
|
+
background: #f1f1f1;
|
|
137
|
+
padding: .25em .5em;
|
|
138
|
+
line-height: 1.5;
|
|
139
|
+
height: 1.5em;
|
|
140
|
+
}
|
|
141
|
+
#testDrive {
|
|
142
|
+
display: block;
|
|
143
|
+
padding-top: 24px;
|
|
144
|
+
line-height: 1.5;
|
|
145
|
+
}
|
|
146
|
+
.fs0 {
|
|
147
|
+
font-size: 16px;
|
|
148
|
+
}
|
|
149
|
+
.fs1 {
|
|
150
|
+
font-size: 32px;
|
|
151
|
+
}
|
|
152
|
+
.fs2 {
|
|
153
|
+
font-size: 14px;
|
|
154
|
+
}
|
|
155
|
+
.fs3 {
|
|
156
|
+
font-size: 14px;
|
|
157
|
+
}
|
|
158
|
+
.fs4 {
|
|
159
|
+
font-size: 8px;
|
|
160
|
+
}
|
|
161
|
+
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
if (!('boxShadow' in document.body.style)) {
|
|
2
|
-
document.body.setAttribute('class', 'noBoxShadow');
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
document.body.addEventListener("click", function(e) {
|
|
6
|
-
var target = e.target;
|
|
7
|
-
if (target.tagName === "INPUT" &&
|
|
8
|
-
target.getAttribute('class').indexOf('liga') === -1) {
|
|
9
|
-
target.select();
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
(function() {
|
|
14
|
-
var fontSize = document.getElementById('fontSize'),
|
|
15
|
-
testDrive = document.getElementById('testDrive'),
|
|
16
|
-
testText = document.getElementById('testText');
|
|
17
|
-
function updateTest() {
|
|
18
|
-
testDrive.innerHTML = testText.value || String.fromCharCode(160);
|
|
19
|
-
if (window.icomoonLiga) {
|
|
20
|
-
window.icomoonLiga(testDrive);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
function updateSize() {
|
|
24
|
-
testDrive.style.fontSize = fontSize.value + 'px';
|
|
25
|
-
}
|
|
26
|
-
fontSize.addEventListener('change', updateSize, false);
|
|
27
|
-
testText.addEventListener('input', updateTest, false);
|
|
28
|
-
testText.addEventListener('change', updateTest, false);
|
|
29
|
-
updateSize();
|
|
30
|
-
}());
|
|
1
|
+
if (!('boxShadow' in document.body.style)) {
|
|
2
|
+
document.body.setAttribute('class', 'noBoxShadow');
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
document.body.addEventListener("click", function(e) {
|
|
6
|
+
var target = e.target;
|
|
7
|
+
if (target.tagName === "INPUT" &&
|
|
8
|
+
target.getAttribute('class').indexOf('liga') === -1) {
|
|
9
|
+
target.select();
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
|
|
13
|
+
(function() {
|
|
14
|
+
var fontSize = document.getElementById('fontSize'),
|
|
15
|
+
testDrive = document.getElementById('testDrive'),
|
|
16
|
+
testText = document.getElementById('testText');
|
|
17
|
+
function updateTest() {
|
|
18
|
+
testDrive.innerHTML = testText.value || String.fromCharCode(160);
|
|
19
|
+
if (window.icomoonLiga) {
|
|
20
|
+
window.icomoonLiga(testDrive);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function updateSize() {
|
|
24
|
+
testDrive.style.fontSize = fontSize.value + 'px';
|
|
25
|
+
}
|
|
26
|
+
fontSize.addEventListener('change', updateSize, false);
|
|
27
|
+
testText.addEventListener('input', updateTest, false);
|
|
28
|
+
testText.addEventListener('change', updateTest, false);
|
|
29
|
+
updateSize();
|
|
30
|
+
}());
|