@topvisor/ui 1.4.1-projectSelector.0 → 1.4.1-projectSelector.2
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/{core-BgoBbm_5.es.js → core-BE_-rKvW.es.js} +4 -4
- package/.chunks/core-BE_-rKvW.es.js.map +1 -0
- package/.chunks/{core-D1KnwO7l.amd.js → core-DJS4o9Vt.amd.js} +2 -2
- package/.chunks/core-DJS4o9Vt.amd.js.map +1 -0
- package/.chunks/{datepicker-BPTUHd97.es.js → datepicker-C0jmLfiX.es.js} +2 -2
- package/.chunks/datepicker-C0jmLfiX.es.js.map +1 -0
- package/.chunks/{datepicker-O_SK-Dz4.amd.js → datepicker-ppUhXCHG.amd.js} +2 -2
- package/.chunks/datepicker-ppUhXCHG.amd.js.map +1 -0
- package/.chunks/{dialog_regionSelectorRegions-DA38RsiW.es.js → dialog_regionSelectorRegions-Btp9cfmF.es.js} +4 -4
- package/.chunks/dialog_regionSelectorRegions-Btp9cfmF.es.js.map +1 -0
- package/.chunks/{dialog_regionSelectorRegions-Ba-Eypgv.amd.js → dialog_regionSelectorRegions-C1DNLHM7.amd.js} +2 -2
- package/.chunks/dialog_regionSelectorRegions-C1DNLHM7.amd.js.map +1 -0
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CWprVs8d.amd.js → dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd.js} +2 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-B3hYoW1m.amd.js.map +1 -0
- package/.chunks/{dialogs.vue_vue_type_script_setup_true_lang-CzFMOjlE.es.js → dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js} +2 -2
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-DMhcuiHP.es.js.map +1 -0
- package/.chunks/field-Cvv0SRcJ.amd.js.map +1 -1
- package/.chunks/field-CyyFzM-Y.es.js.map +1 -1
- package/.chunks/{forms-xkXHvvah.es.js → forms-BAUgA7Ct.es.js} +7 -7
- package/.chunks/forms-BAUgA7Ct.es.js.map +1 -0
- package/.chunks/{forms-4D_EVI46.amd.js → forms-B_v2vU59.amd.js} +3 -3
- package/.chunks/forms-B_v2vU59.amd.js.map +1 -0
- package/.chunks/index-DLUtoTUg.amd.js.map +1 -1
- package/.chunks/index-DkQWJkMc.es.js.map +1 -1
- package/.chunks/lazy-40pjr8cZ.es.js.map +1 -1
- package/.chunks/lazy-DSFLxvj4.amd.js.map +1 -1
- package/.chunks/{notice-hF3z8ewG.amd.js → notice-6HGA0ECG.amd.js} +2 -2
- package/.chunks/notice-6HGA0ECG.amd.js.map +1 -0
- package/.chunks/{notice-wqZxmsUH.es.js → notice-CGgc2m0q.es.js} +2 -2
- package/.chunks/notice-CGgc2m0q.es.js.map +1 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-rW3w9LMh.es.js → page.vue_vue_type_script_setup_true_lang-BMTt9SU8.es.js} +4 -4
- package/.chunks/page.vue_vue_type_script_setup_true_lang-BMTt9SU8.es.js.map +1 -0
- package/.chunks/{page.vue_vue_type_script_setup_true_lang-tiWuQ_ZK.amd.js → page.vue_vue_type_script_setup_true_lang-WX1HlCFp.amd.js} +2 -2
- package/.chunks/page.vue_vue_type_script_setup_true_lang-WX1HlCFp.amd.js.map +1 -0
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-DABqSSXw.amd.js → policy.vue_vue_type_style_index_0_lang-CO-f4TwZ.amd.js} +2 -2
- package/.chunks/policy.vue_vue_type_style_index_0_lang-CO-f4TwZ.amd.js.map +1 -0
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-C9A--uWd.es.js → policy.vue_vue_type_style_index_0_lang-ClaW4X74.es.js} +4 -4
- package/.chunks/policy.vue_vue_type_style_index_0_lang-ClaW4X74.es.js.map +1 -0
- package/.chunks/{popup-BeLPdHWv.es.js → popup-CVHDbG9h.es.js} +2 -2
- package/.chunks/popup-CVHDbG9h.es.js.map +1 -0
- package/.chunks/{popup-Bwmu8rOb.amd.js → popup-H0d4XQtU.amd.js} +2 -2
- package/.chunks/popup-H0d4XQtU.amd.js.map +1 -0
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-fnjq0yg1.es.js → popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js} +2 -2
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-BIWw5zUX.es.js.map +1 -0
- package/.chunks/{popupHint.vue_vue_type_style_index_0_lang-B0BWXhHK.amd.js → popupHint.vue_vue_type_style_index_0_lang-CdIajfDS.amd.js} +2 -2
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-CdIajfDS.amd.js.map +1 -0
- package/.chunks/store-CX_6ZXhO.es.js.map +1 -1
- package/.chunks/store-YRW59xEF.amd.js.map +1 -1
- package/.chunks/{utils-BRJvuqe_.amd.js → utils-BUMfp_te.amd.js} +2 -2
- package/.chunks/utils-BUMfp_te.amd.js.map +1 -0
- package/.chunks/{utils-ByqQkftW.es.js → utils-BYaZxGC1.es.js} +2 -2
- package/.chunks/utils-BYaZxGC1.es.js.map +1 -0
- package/.chunks/{utils-YVlPlqDK.es.js → utils-DG_W0xvD.es.js} +3 -3
- package/.chunks/utils-DG_W0xvD.es.js.map +1 -0
- package/.chunks/{utils-cAJahDml.amd.js → utils-DNzj9OOY.amd.js} +2 -2
- package/.chunks/utils-DNzj9OOY.amd.js.map +1 -0
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-UUovJzhL.es.js → widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js} +2 -2
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-Brs-RxDI.es.js.map +1 -0
- package/.chunks/{widgetInput.vue_vue_type_script_setup_true_lang-D7lVLE3D.amd.js → widgetInput.vue_vue_type_script_setup_true_lang-C4wFo0AR.amd.js} +2 -2
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-C4wFo0AR.amd.js.map +1 -0
- package/README.md +82 -82
- package/api/additional.amd.js.map +1 -1
- package/api/additional.js.map +1 -1
- package/api/index.amd.js.map +1 -1
- package/api/index.js.map +1 -1
- package/assets/forms.css +1 -1
- package/assets/project.css +1 -1
- package/charts/charts.amd.js +1 -1
- package/charts/charts.amd.js.map +1 -1
- package/charts/charts.js +1 -1
- package/charts/charts.js.map +1 -1
- package/core/app.amd.js +1 -1
- package/core/app.amd.js.map +1 -1
- package/core/app.js +5 -5
- package/core/app.js.map +1 -1
- package/dialog/dialog.amd.js +1 -1
- package/dialog/dialog.amd.js.map +1 -1
- package/dialog/dialog.js +2 -2
- package/dialog/dialog.js.map +1 -1
- package/extra/extra.amd.js.map +1 -1
- package/extra/extra.js.map +1 -1
- package/forms/forms.amd.js +1 -1
- package/forms/forms.js +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +2 -2
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/Read Me.txt +7 -7
- package/icomoon/demo-files/demo.css +158 -158
- package/icomoon/demo-files/demo.js +30 -30
- package/icomoon/demo.css +158 -158
- package/icomoon/demo.js +30 -30
- package/jquery-ui.min.css +5 -5
- package/layout/layout.amd.js +1 -1
- package/layout/layout.amd.js.map +1 -1
- package/layout/layout.js +1 -1
- package/layout/layout.js.map +1 -1
- package/package.json +1 -1
- package/popup/popup.amd.js +1 -1
- package/popup/popup.amd.js.map +1 -1
- package/popup/popup.js +4 -4
- 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.js +2 -2
- package/popup/worker.js.map +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +563 -563
- package/project/project.js.map +1 -1
- package/require/css.amd.js +12 -12
- package/src/components/project/projectSelector/projectSelector.vue.d.ts +1 -1
- package/src/components/project/projectSelector/types.d.ts +2 -8
- package/src/components/project/projectSelector/utils.d.ts +1 -8
- package/tabs/tabs.amd.js.map +1 -1
- package/tabs/tabs.js.map +1 -1
- package/tabsView/tabsView.amd.js +1 -1
- package/tabsView/tabsView.amd.js.map +1 -1
- package/tabsView/tabsView.js +2 -2
- package/tabsView/tabsView.js.map +1 -1
- package/utils/check.amd.js.map +1 -1
- package/utils/check.js.map +1 -1
- package/utils/clipboard.amd.js +1 -1
- package/utils/clipboard.amd.js.map +1 -1
- package/utils/clipboard.js +1 -1
- package/utils/clipboard.js.map +1 -1
- package/utils/date.amd.js +1 -1
- package/utils/date.js +1 -1
- package/utils/device.amd.js +1 -1
- package/utils/device.js +1 -1
- package/utils/dom.amd.js.map +1 -1
- package/utils/dom.js.map +1 -1
- package/utils/image.amd.js.map +1 -1
- package/utils/image.js.map +1 -1
- package/utils/keyboard.amd.js.map +1 -1
- package/utils/keyboard.js.map +1 -1
- package/utils/lodash.amd.js +1 -1
- package/utils/lodash.js +1 -1
- package/utils/number.amd.js.map +1 -1
- package/utils/number.js.map +1 -1
- package/utils/price.amd.js +1 -1
- package/utils/price.amd.js.map +1 -1
- package/utils/price.js +1 -1
- package/utils/price.js.map +1 -1
- package/utils/route.amd.js.map +1 -1
- package/utils/route.js.map +1 -1
- package/utils/scroll.amd.js.map +1 -1
- package/utils/scroll.js.map +1 -1
- package/utils/searchers.amd.js +1 -1
- package/utils/searchers.amd.js.map +1 -1
- package/utils/searchers.js +3 -3
- package/utils/searchers.js.map +1 -1
- package/utils/string.amd.js +1 -1
- package/utils/string.js +1 -1
- package/utils/system.amd.js.map +1 -1
- package/utils/system.js.map +1 -1
- package/utils/url.amd.js.map +1 -1
- package/utils/url.js.map +1 -1
- package/.chunks/core-BgoBbm_5.es.js.map +0 -1
- package/.chunks/core-D1KnwO7l.amd.js.map +0 -1
- package/.chunks/datepicker-BPTUHd97.es.js.map +0 -1
- package/.chunks/datepicker-O_SK-Dz4.amd.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-Ba-Eypgv.amd.js.map +0 -1
- package/.chunks/dialog_regionSelectorRegions-DA38RsiW.es.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CWprVs8d.amd.js.map +0 -1
- package/.chunks/dialogs.vue_vue_type_script_setup_true_lang-CzFMOjlE.es.js.map +0 -1
- package/.chunks/forms-4D_EVI46.amd.js.map +0 -1
- package/.chunks/forms-xkXHvvah.es.js.map +0 -1
- package/.chunks/notice-hF3z8ewG.amd.js.map +0 -1
- package/.chunks/notice-wqZxmsUH.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-rW3w9LMh.es.js.map +0 -1
- package/.chunks/page.vue_vue_type_script_setup_true_lang-tiWuQ_ZK.amd.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-C9A--uWd.es.js.map +0 -1
- package/.chunks/policy.vue_vue_type_style_index_0_lang-DABqSSXw.amd.js.map +0 -1
- package/.chunks/popup-BeLPdHWv.es.js.map +0 -1
- package/.chunks/popup-Bwmu8rOb.amd.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-B0BWXhHK.amd.js.map +0 -1
- package/.chunks/popupHint.vue_vue_type_style_index_0_lang-fnjq0yg1.es.js.map +0 -1
- package/.chunks/utils-BRJvuqe_.amd.js.map +0 -1
- package/.chunks/utils-ByqQkftW.es.js.map +0 -1
- package/.chunks/utils-YVlPlqDK.es.js.map +0 -1
- package/.chunks/utils-cAJahDml.amd.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-D7lVLE3D.amd.js.map +0 -1
- package/.chunks/widgetInput.vue_vue_type_script_setup_true_lang-UUovJzhL.es.js.map +0 -1
- package/src/components/project/projectSelector/stories/mocks/projects.d.ts +0 -10
|
@@ -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/libs/optionGroup/optionGroup.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/checkboxGroup/checkboxGroup.vue","../../src/components/formsExt/info/info.vue","../../src/components/formsExt/policy/policy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Emits, Props, Slots } from './types';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdefaultValue: '',\n\tcancelText: 'Cancel',\n\tsubmitText: 'Send',\n\tcloseText: 'Close',\n\texpandable: true,\n});\n\ndefineSlots<Slots>();\nconst emit = defineEmits<Emits>();\n\nconst localValue = ref(props.defaultValue);\n\nconst isFocused = ref(props.isFocused);\n\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\n\nconst submit = (value: string) => {\n\temit('submit', value);\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst cancel = () => {\n\tif (props.forceShowCloseBtn && !isChanged.value) {\n\t\temit('close');\n\n\t\treturn;\n\t}\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst clickOnTitle = () => {\n\tif (props.attachToKeyboard) emit('clickOnTitle');\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 || $slots.caption\"\n\t\t\tclass=\"top-editArea_caption\"\n\t\t\t@click=\"clickOnTitle()\"\n\t\t>\n\t\t\t<slot name=\"caption\">\n\t\t\t\t{{ title }}\n\t\t\t</slot>\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-forms-focusable': true,\n\t\t\t\t'top-as-input': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': isFocused,\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=\"() => isFocused = true\"\n\t\t\t\t@blur=\"() => isFocused = false\"\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 || forceShowCloseBtn\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\tstyling=\"soft\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelText }}\n\t\t\t\t\t</template>\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\tv-if=\"isChanged\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ submitText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-editArea {\n\t--top-editArea-bottom: env(keyboard-inset-height, 0px);\n\t--top-editArea-offset-bottom: 0px;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_caption {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tflex-direction: column;\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\t--top-forms-border-width: 0px;\n\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tmin-height: 32px;\n\talign-self: flex-end;\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\tposition: fixed;\n\tbottom: calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n\ttransition: bottom var(--transition-fast);\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\tcursor: pointer;\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\n@media screen and (max-width: 900px) {\n\t.top-editArea_form {\n\t\tflex-direction: row;\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, toRef, watch } from 'vue';\nimport type { Emits, Props } from './types';\nimport TopInput from '@/components/forms/input/input.vue';\nimport TopButton 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<TopInput\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\t\t\t<template #caption v-if=\"$slots.caption\">\n\t\t\t\t<slot name=\"caption\"></slot>\n\t\t\t</template>\n\t\t</TopInput>\n\n\t\t<TopButton\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</div>\n</template>\n\n<style>\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>\n","<script setup lang=\"ts\">\r\nimport { ref, watch } from 'vue';\r\nimport type { Props } from './types';\r\nimport TopCheckbox from '@/components/forms/checkbox/checkbox.vue';\r\nimport TopRadio from '@/components/forms/radio/radio.vue';\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst elRef = ref<HTMLElement | null>(null);\r\n\r\nwatch(model, () => {\r\n\tconst valuesAvailable = props.items.map(item => item.value);\r\n\r\n\tif (Array.isArray(model.value)) {\r\n\t\t// есть ли неподдерживаемые значения\r\n\t\tconst valueIsWrong = model.value.find((value) => {\r\n\t\t\treturn !valuesAvailable.includes(value);\r\n\t\t});\r\n\r\n\t\tif (valueIsWrong) {\r\n\t\t\t// оставить только поддерживаемые значения\r\n\t\t\tmodel.value = model.value.filter((value) => {\r\n\t\t\t\treturn valuesAvailable.includes(value);\r\n\t\t\t});\r\n\t\t}\r\n\t} else {\r\n\t\tif (!valuesAvailable.includes(model.value)) {\r\n\t\t\tmodel.value = valuesAvailable[0] ?? '';\r\n\t\t}\r\n\t}\r\n\r\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\r\n}, { immediate: true });\r\n\r\nconst name = 'optionGroup-' + Math.random();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tref=\"elRef\"\r\n\t\t:class=\"{\r\n\t\t\t['top-optionGroup']: true,\r\n\t\t\t['top-optionGroup-showIndicator_' + Number(showIndicator)]: 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<template v-if=\"Array.isArray(model)\">\r\n\t\t\t<TopCheckbox\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-optionGroup_item-selected']: model.includes(item.value),\r\n\t\t\t\t\t['top-optionGroup_item']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\tv-for=\"item of items\"\r\n\t\t\t\tv-model=\"model\"\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:title=\"item.title\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t\t:isError\r\n\t\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t>\r\n\t\t\t\t<template #default v-if=\"item.label\">\r\n\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopCheckbox>\r\n\t\t</template>\r\n\r\n\t\t<template v-else>\r\n\t\t\t<TopRadio\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-optionGroup_item-selected']: item.value === model,\r\n\t\t\t\t\t['top-optionGroup_item']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\tv-for=\"item of items\"\r\n\t\t\t\tv-model=\"model\"\r\n\t\t\t\t:name\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:title=\"item.title\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t\t:isError\r\n\t\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t>\r\n\t\t\t\t<template #default v-if=\"item.label\">\r\n\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopRadio>\r\n\t\t</template>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-optionGroup {\r\n\tuser-select: none;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 8px;\r\n\tbackground-color: var(--color-layout-middle);\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-optionGroup_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: 1px var(--top-padding-2);\r\n\tcolor: var(--color-text-2);\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-grow: 1;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-optionGroup_item:hover {\r\n\tbackground-color: var(--color-layout-front-1);\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.top-optionGroup_item-selected {\r\n\tcolor: var(--color-text-1);\r\n\tbackground-color: var(--color-bg-lightning-1);\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.top-optionGroup_item > .top-forms-optionLabel {\r\n\tflex-grow: 0;\r\n}\r\n\r\n/* indicator */\r\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item {\r\n\tjustify-content: center;\r\n}\r\n\r\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item:has(:focus-visible) {\r\n\toutline: 2px solid var(--color-bg-primary-2);\r\n\toutline-offset: -1px;\r\n}\r\n\r\n.top-optionGroup-showIndicator_1 > .top-optionGroup_item {\r\n\tpadding: 1px 3px;\r\n\tjustify-content: flex-start;\r\n}\r\n\r\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item > .top-forms-option {\r\n\topacity: 0;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tposition: absolute;\r\n}\r\n\r\n.top-optionGroup_item > .top-forms-option {\r\n\torder: -1;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\r\n\r\nimport type { Props } from './types';\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\ndefineProps<Props>();\r\n</script>\r\n\r\n<template>\r\n\t<OptionGroup\r\n\t\tclass=\"top-radioGroup\"\r\n\t\tv-model=\"model\"\r\n\t\t:items=\"$props.items\"\r\n\t\t:size=\"$props.size\"\r\n\t\t:showIndicator=\"$props.showIndicator\"\r\n\t\t:isError=\"$props.isError\"\r\n\t>\r\n\t\t<slot/>\r\n\t</OptionGroup>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\r\n\r\nimport type { Props } from './types';\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\ndefineProps<Props>();\r\n</script>\r\n\r\n<template>\r\n\t<OptionGroup\r\n\t\tclass=\"top-checkboxGroup\"\r\n\t\tv-model=\"model\"\r\n\t\t:items=\"$props.items\"\r\n\t\t:size=\"$props.size\"\r\n\t\t:showIndicator=\"$props.showIndicator\"\r\n\t\t:isError=\"$props.isError\"\r\n\t>\r\n\t\t<slot/>\r\n\t</OptionGroup>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { Props, Slots } from './types';\r\n\r\nwithDefaults(defineProps<Props>(), {\r\n\tstyling: 'default',\r\n\tsize: 'default',\r\n});\r\n\r\ndefineSlots<Slots>();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t['top-info']: true,\r\n\t\t\t['top-size_' + size]: true,\r\n\t\t\t['top-info-styling_' + styling]: true,\r\n\t\t}\"\r\n\t\t:data-top-icon=\"icon\"\r\n\t>\r\n\t\t<div class=\"top-info_text\">\r\n\t\t\t<slot></slot>\r\n\t\t</div>\r\n\r\n\t\t<span v-if=\"$slots.additional\" class=\"top-info_value\">\r\n\t\t\t<slot name=\"additional\"></slot>\r\n\t\t</span>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-info {\r\n\t--top-icon-width: var(--top-icon-size);\r\n\r\n\tborder-radius: var(--top-forms-radius);\r\n\tbox-sizing: border-box;\r\n\tmin-height: var(--top-forms-base-height);\r\n\tpadding: var(--top-padding-1) var(--top-padding-2);\r\n\tflex-grow: 5;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tgap: var(--top-gap-2);\r\n}\r\n\r\n.top-info_text {\r\n\tflex-grow: 1;\r\n}\r\n\r\n.top-info_value {\r\n\tfont-weight: bold;\r\n}\r\n\r\n/* size */\r\n.top-info.top-size_default {\r\n\tborder-radius: var(--top-radius-3);\r\n\tpadding: var(--top-padding-4);\r\n}\r\n\r\n/* styling */\r\n.top-info-styling_default {\r\n\t--top-icon-color: var(--color-text-2);\r\n\r\n\tbackground: var(--color-layer-1);\r\n}\r\n\r\n.top-info-styling_info {\r\n\t--top-icon-color: var(--color-text-primary);\r\n\r\n\tbackground: var(--color-layer-primary-1);\r\n}\r\n\r\n.top-info-styling_warning {\r\n\t--top-icon-color: var(--color-text-warning);\r\n\r\n\tbackground: var(--color-layer-warning-1);\r\n}\r\n\r\n.top-info-styling_negative {\r\n\t--top-icon-color: var(--color-text-negative);\r\n\r\n\tbackground: var(--color-layer-negative-1);\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { TopButton } from '@/components/forms/forms';\r\nimport type { Emits, Props } from '@/components/formsExt/policy/types';\r\n\r\ndefineProps<Props>();\r\nconst emits = defineEmits<Emits>();\r\n\r\nconst isVisible = ref(true);\r\n\r\nconst onAccept = () => {\r\n\tisVisible.value = false;\r\n\r\n\temits('accept');\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tv-if=\"isVisible\"\r\n\t\tclass=\"top-policy\"\r\n\t>\r\n\t\t<div class=\"top-policy_title\">\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tclass=\"top-policy_description\"\r\n\t\t\tv-html=\"description\"\r\n\t\t></div>\r\n\r\n\t\t<TopButton\r\n\t\t\tsize=\"m\"\r\n\t\t\t@click=\"onAccept\"\r\n\t\t>\r\n\t\t\t{{ acceptText }}\r\n\t\t</TopButton>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-policy {\r\n\tbox-sizing: border-box;\r\n\tbox-shadow: var(--top-shadow-b);\r\n\tborder-radius: var(--top-radius-4);\r\n\tbackground: var(--color-bg-lightning-1);\r\n\twidth: 600px;\r\n\tpadding: var(--top-padding-4);\r\n\tposition: fixed;\r\n\tright: var(--top-gap-10);\r\n\tbottom: var(--top-gap-10);\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: var(--top-gap-4);\r\n\tz-index: 10000;\r\n}\r\n\r\n.top-policy_title {\r\n\tfont-size: 24px;\r\n\tfont-weight: 700;\r\n}\r\n\r\n.top-policy_description {\r\n\tfont-size: 14px;\r\n}\r\n\r\n@media screen and (max-width: 900px) {\r\n\t.top-policy {\r\n\t\twidth: 100%;\r\n\t\tright: 0;\r\n\t\tbottom: calc(var(--top-gap-5) + var(--toolbar-height, 0px));\r\n\t}\r\n}\r\n</style>\r\n"],"names":["isChanged","vue","localValue","props","submit","value","emit","_cache","$event","clickOnTitle","__props","isFocused","cancel","forms","_ctx","intermediateValue","elRef","model","valuesAvailable","item","name","isVisible","_hoisted_2","_hoisted_3","onAccept"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formsExt.amd.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/libs/optionGroup/optionGroup.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/checkboxGroup/checkboxGroup.vue","../../src/components/formsExt/info/info.vue","../../src/components/formsExt/policy/policy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Emits, Props, Slots } from './types';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdefaultValue: '',\n\tcancelText: 'Cancel',\n\tsubmitText: 'Send',\n\tcloseText: 'Close',\n\texpandable: true,\n});\n\ndefineSlots<Slots>();\nconst emit = defineEmits<Emits>();\n\nconst localValue = ref(props.defaultValue);\n\nconst isFocused = ref(props.isFocused);\n\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\n\nconst submit = (value: string) => {\n\temit('submit', value);\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst cancel = () => {\n\tif (props.forceShowCloseBtn && !isChanged.value) {\n\t\temit('close');\n\n\t\treturn;\n\t}\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst clickOnTitle = () => {\n\tif (props.attachToKeyboard) emit('clickOnTitle');\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 || $slots.caption\"\n\t\t\tclass=\"top-editArea_caption\"\n\t\t\t@click=\"clickOnTitle()\"\n\t\t>\n\t\t\t<slot name=\"caption\">\n\t\t\t\t{{ title }}\n\t\t\t</slot>\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-forms-focusable': true,\n\t\t\t\t'top-as-input': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': isFocused,\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=\"() => isFocused = true\"\n\t\t\t\t@blur=\"() => isFocused = false\"\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 || forceShowCloseBtn\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\tstyling=\"soft\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelText }}\n\t\t\t\t\t</template>\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\tv-if=\"isChanged\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ submitText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-editArea {\n\t--top-editArea-bottom: env(keyboard-inset-height, 0px);\n\t--top-editArea-offset-bottom: 0px;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_caption {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tflex-direction: column;\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\t--top-forms-border-width: 0px;\n\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tmin-height: 32px;\n\talign-self: flex-end;\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\tposition: fixed;\n\tbottom: calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n\ttransition: bottom var(--transition-fast);\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\tcursor: pointer;\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\n@media screen and (max-width: 900px) {\n\t.top-editArea_form {\n\t\tflex-direction: row;\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, toRef, watch } from 'vue';\nimport type { Emits, Props } from './types';\nimport TopInput from '@/components/forms/input/input.vue';\nimport TopButton 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<TopInput\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\t\t\t<template #caption v-if=\"$slots.caption\">\n\t\t\t\t<slot name=\"caption\"></slot>\n\t\t\t</template>\n\t\t</TopInput>\n\n\t\t<TopButton\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</div>\n</template>\n\n<style>\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>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport type { Props } from './types';\nimport TopCheckbox from '@/components/forms/checkbox/checkbox.vue';\nimport TopRadio from '@/components/forms/radio/radio.vue';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsize: 's',\n});\n\nconst elRef = ref<HTMLElement | null>(null);\n\nwatch(model, () => {\n\tconst valuesAvailable = props.items.map(item => item.value);\n\n\tif (Array.isArray(model.value)) {\n\t\t// есть ли неподдерживаемые значения\n\t\tconst valueIsWrong = model.value.find((value) => {\n\t\t\treturn !valuesAvailable.includes(value);\n\t\t});\n\n\t\tif (valueIsWrong) {\n\t\t\t// оставить только поддерживаемые значения\n\t\t\tmodel.value = model.value.filter((value) => {\n\t\t\t\treturn valuesAvailable.includes(value);\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif (!valuesAvailable.includes(model.value)) {\n\t\t\tmodel.value = valuesAvailable[0] ?? '';\n\t\t}\n\t}\n\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\n}, { immediate: true });\n\nconst name = 'optionGroup-' + Math.random();\n</script>\n\n<template>\n\t<div\n\t\tref=\"elRef\"\n\t\t:class=\"{\n\t\t\t['top-optionGroup']: true,\n\t\t\t['top-optionGroup-showIndicator_' + Number(showIndicator)]: 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<template v-if=\"Array.isArray(model)\">\n\t\t\t<TopCheckbox\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: model.includes(item.value),\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopCheckbox>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<TopRadio\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: item.value === model,\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:name\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopRadio>\n\t\t</template>\n\t</div>\n</template>\n\n<style>\n.top-optionGroup {\n\tuser-select: none;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tbackground-color: var(--color-layout-middle);\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-optionGroup_item {\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\theight: calc(var(--top-forms-base-height) - 4px);\n\tpadding: 1px var(--top-padding-2);\n\tcolor: var(--color-text-2);\n\tfont-weight: 400;\n\twhite-space: nowrap;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-grow: 1;\n\tgap: var(--top-gap-1);\n}\n\n.top-optionGroup_item:hover {\n\tbackground-color: var(--color-layout-front-1);\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.top-optionGroup_item-selected {\n\tcolor: var(--color-text-1);\n\tbackground-color: var(--color-bg-lightning-1);\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.top-optionGroup_item > .top-forms-optionLabel {\n\tflex-grow: 0;\n}\n\n/* indicator */\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item {\n\tjustify-content: center;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item:has(:focus-visible) {\n\toutline: 2px solid var(--color-bg-primary-2);\n\toutline-offset: -1px;\n}\n\n.top-optionGroup-showIndicator_1 > .top-optionGroup_item {\n\tpadding: 1px 3px;\n\tjustify-content: flex-start;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item > .top-forms-option {\n\topacity: 0;\n\twidth: 0;\n\theight: 0;\n\tposition: absolute;\n}\n\n.top-optionGroup_item > .top-forms-option {\n\torder: -1;\n}\n</style>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-radioGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-checkboxGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script lang=\"ts\" setup>\nimport type { Props, Slots } from './types';\n\nwithDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n\tsize: 'default',\n});\n\ndefineSlots<Slots>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-info']: true,\n\t\t\t['top-size_' + size]: true,\n\t\t\t['top-info-styling_' + styling]: true,\n\t\t}\"\n\t\t:data-top-icon=\"icon\"\n\t>\n\t\t<div class=\"top-info_text\">\n\t\t\t<slot></slot>\n\t\t</div>\n\n\t\t<span v-if=\"$slots.additional\" class=\"top-info_value\">\n\t\t\t<slot name=\"additional\"></slot>\n\t\t</span>\n\t</div>\n</template>\n\n<style>\n.top-info {\n\t--top-icon-width: var(--top-icon-size);\n\n\tborder-radius: var(--top-forms-radius);\n\tbox-sizing: border-box;\n\tmin-height: var(--top-forms-base-height);\n\tpadding: var(--top-padding-1) var(--top-padding-2);\n\tflex-grow: 5;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: var(--top-gap-2);\n}\n\n.top-info_text {\n\tflex-grow: 1;\n}\n\n.top-info_value {\n\tfont-weight: bold;\n}\n\n/* size */\n.top-info.top-size_default {\n\tborder-radius: var(--top-radius-3);\n\tpadding: var(--top-padding-4);\n}\n\n/* styling */\n.top-info-styling_default {\n\t--top-icon-color: var(--color-text-2);\n\n\tbackground: var(--color-layer-1);\n}\n\n.top-info-styling_info {\n\t--top-icon-color: var(--color-text-primary);\n\n\tbackground: var(--color-layer-primary-1);\n}\n\n.top-info-styling_warning {\n\t--top-icon-color: var(--color-text-warning);\n\n\tbackground: var(--color-layer-warning-1);\n}\n\n.top-info-styling_negative {\n\t--top-icon-color: var(--color-text-negative);\n\n\tbackground: var(--color-layer-negative-1);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { TopButton } from '@/components/forms/forms';\nimport type { Emits, Props } from '@/components/formsExt/policy/types';\n\ndefineProps<Props>();\nconst emits = defineEmits<Emits>();\n\nconst isVisible = ref(true);\n\nconst onAccept = () => {\n\tisVisible.value = false;\n\n\temits('accept');\n};\n</script>\n\n<template>\n\t<div\n\t\tv-if=\"isVisible\"\n\t\tclass=\"top-policy\"\n\t>\n\t\t<div class=\"top-policy_title\">\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div\n\t\t\tclass=\"top-policy_description\"\n\t\t\tv-html=\"description\"\n\t\t></div>\n\n\t\t<TopButton\n\t\t\tsize=\"m\"\n\t\t\t@click=\"onAccept\"\n\t\t>\n\t\t\t{{ acceptText }}\n\t\t</TopButton>\n\t</div>\n</template>\n\n<style>\n.top-policy {\n\tbox-sizing: border-box;\n\tbox-shadow: var(--top-shadow-b);\n\tborder-radius: var(--top-radius-4);\n\tbackground: var(--color-bg-lightning-1);\n\twidth: 600px;\n\tpadding: var(--top-padding-4);\n\tposition: fixed;\n\tright: var(--top-gap-10);\n\tbottom: var(--top-gap-10);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--top-gap-4);\n\tz-index: 10000;\n}\n\n.top-policy_title {\n\tfont-size: 24px;\n\tfont-weight: 700;\n}\n\n.top-policy_description {\n\tfont-size: 14px;\n}\n\n@media screen and (max-width: 900px) {\n\t.top-policy {\n\t\twidth: 100%;\n\t\tright: 0;\n\t\tbottom: calc(var(--top-gap-5) + var(--toolbar-height, 0px));\n\t}\n}\n</style>\n"],"names":["isChanged","vue","localValue","props","submit","value","emit","_cache","$event","clickOnTitle","__props","isFocused","cancel","forms","_ctx","intermediateValue","elRef","model","valuesAvailable","item","name","isVisible","_hoisted_2","_hoisted_3","onAccept"],"mappings":"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"}
|
package/formsExt/formsExt.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent as y, ref as k, computed as F, createElementBlock as c, openBlock as i, normalizeClass as V, createCommentVNode as b, createElementVNode as E, renderSlot as h, createTextVNode as $, toDisplayString as f, createVNode as z, withKeys as I, withModifiers as g, createBlock as v, createSlots as T, withCtx as p, watch as K, toRef as L, mergeProps as M, mergeModels as A, useModel as C, Fragment as G, renderList as S, unref as N } from "vue";
|
|
2
|
-
import { g as U, e as B, _ as q, h as R, j as D } from "../.chunks/forms-
|
|
3
|
-
import { c as re, I as ue, a as de, _ as ce, b as me } from "../.chunks/policy.vue_vue_type_style_index_0_lang-
|
|
2
|
+
import { g as U, e as B, _ as q, h as R, j as D } from "../.chunks/forms-BAUgA7Ct.es.js";
|
|
3
|
+
import { c as re, I as ue, a as de, _ as ce, b as me } from "../.chunks/policy.vue_vue_type_style_index_0_lang-ClaW4X74.es.js";
|
|
4
4
|
const O = { class: "top-editArea_footer" }, ee = /* @__PURE__ */ y({
|
|
5
5
|
__name: "editArea",
|
|
6
6
|
props: {
|
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/libs/optionGroup/optionGroup.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/checkboxGroup/checkboxGroup.vue","../../src/components/formsExt/info/info.vue","../../src/components/formsExt/policy/policy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Emits, Props, Slots } from './types';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdefaultValue: '',\n\tcancelText: 'Cancel',\n\tsubmitText: 'Send',\n\tcloseText: 'Close',\n\texpandable: true,\n});\n\ndefineSlots<Slots>();\nconst emit = defineEmits<Emits>();\n\nconst localValue = ref(props.defaultValue);\n\nconst isFocused = ref(props.isFocused);\n\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\n\nconst submit = (value: string) => {\n\temit('submit', value);\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst cancel = () => {\n\tif (props.forceShowCloseBtn && !isChanged.value) {\n\t\temit('close');\n\n\t\treturn;\n\t}\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst clickOnTitle = () => {\n\tif (props.attachToKeyboard) emit('clickOnTitle');\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 || $slots.caption\"\n\t\t\tclass=\"top-editArea_caption\"\n\t\t\t@click=\"clickOnTitle()\"\n\t\t>\n\t\t\t<slot name=\"caption\">\n\t\t\t\t{{ title }}\n\t\t\t</slot>\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-forms-focusable': true,\n\t\t\t\t'top-as-input': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': isFocused,\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=\"() => isFocused = true\"\n\t\t\t\t@blur=\"() => isFocused = false\"\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 || forceShowCloseBtn\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\tstyling=\"soft\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelText }}\n\t\t\t\t\t</template>\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\tv-if=\"isChanged\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ submitText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-editArea {\n\t--top-editArea-bottom: env(keyboard-inset-height, 0px);\n\t--top-editArea-offset-bottom: 0px;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_caption {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tflex-direction: column;\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\t--top-forms-border-width: 0px;\n\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tmin-height: 32px;\n\talign-self: flex-end;\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\tposition: fixed;\n\tbottom: calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n\ttransition: bottom var(--transition-fast);\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\tcursor: pointer;\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\n@media screen and (max-width: 900px) {\n\t.top-editArea_form {\n\t\tflex-direction: row;\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, toRef, watch } from 'vue';\nimport type { Emits, Props } from './types';\nimport TopInput from '@/components/forms/input/input.vue';\nimport TopButton 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<TopInput\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\t\t\t<template #caption v-if=\"$slots.caption\">\n\t\t\t\t<slot name=\"caption\"></slot>\n\t\t\t</template>\n\t\t</TopInput>\n\n\t\t<TopButton\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</div>\n</template>\n\n<style>\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>\n","<script setup lang=\"ts\">\r\nimport { ref, watch } from 'vue';\r\nimport type { Props } from './types';\r\nimport TopCheckbox from '@/components/forms/checkbox/checkbox.vue';\r\nimport TopRadio from '@/components/forms/radio/radio.vue';\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\nconst props = withDefaults(defineProps<Props>(), {\r\n\tsize: 's',\r\n});\r\n\r\nconst elRef = ref<HTMLElement | null>(null);\r\n\r\nwatch(model, () => {\r\n\tconst valuesAvailable = props.items.map(item => item.value);\r\n\r\n\tif (Array.isArray(model.value)) {\r\n\t\t// есть ли неподдерживаемые значения\r\n\t\tconst valueIsWrong = model.value.find((value) => {\r\n\t\t\treturn !valuesAvailable.includes(value);\r\n\t\t});\r\n\r\n\t\tif (valueIsWrong) {\r\n\t\t\t// оставить только поддерживаемые значения\r\n\t\t\tmodel.value = model.value.filter((value) => {\r\n\t\t\t\treturn valuesAvailable.includes(value);\r\n\t\t\t});\r\n\t\t}\r\n\t} else {\r\n\t\tif (!valuesAvailable.includes(model.value)) {\r\n\t\t\tmodel.value = valuesAvailable[0] ?? '';\r\n\t\t}\r\n\t}\r\n\r\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\r\n}, { immediate: true });\r\n\r\nconst name = 'optionGroup-' + Math.random();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tref=\"elRef\"\r\n\t\t:class=\"{\r\n\t\t\t['top-optionGroup']: true,\r\n\t\t\t['top-optionGroup-showIndicator_' + Number(showIndicator)]: 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<template v-if=\"Array.isArray(model)\">\r\n\t\t\t<TopCheckbox\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-optionGroup_item-selected']: model.includes(item.value),\r\n\t\t\t\t\t['top-optionGroup_item']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\tv-for=\"item of items\"\r\n\t\t\t\tv-model=\"model\"\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:title=\"item.title\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t\t:isError\r\n\t\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t>\r\n\t\t\t\t<template #default v-if=\"item.label\">\r\n\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopCheckbox>\r\n\t\t</template>\r\n\r\n\t\t<template v-else>\r\n\t\t\t<TopRadio\r\n\t\t\t\t:class=\"{\r\n\t\t\t\t\t['top-optionGroup_item-selected']: item.value === model,\r\n\t\t\t\t\t['top-optionGroup_item']: true,\r\n\t\t\t\t}\"\r\n\t\t\t\tv-for=\"item of items\"\r\n\t\t\t\tv-model=\"model\"\r\n\t\t\t\t:name\r\n\t\t\t\t:value=\"item.value\"\r\n\t\t\t\t:title=\"item.title\"\r\n\t\t\t\t:disabled=\"item.disabled\"\r\n\t\t\t\t:isError\r\n\t\t\t\t:data-top-icon=\"item.icon\"\r\n\t\t\t>\r\n\t\t\t\t<template #default v-if=\"item.label\">\r\n\t\t\t\t\t{{ item.label }}\r\n\t\t\t\t</template>\r\n\t\t\t</TopRadio>\r\n\t\t</template>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-optionGroup {\r\n\tuser-select: none;\r\n\tbox-sizing: border-box;\r\n\tborder-radius: 8px;\r\n\tbackground-color: var(--color-layout-middle);\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-optionGroup_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: 1px var(--top-padding-2);\r\n\tcolor: var(--color-text-2);\r\n\tfont-weight: 400;\r\n\twhite-space: nowrap;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: center;\r\n\tflex-grow: 1;\r\n\tgap: var(--top-gap-1);\r\n}\r\n\r\n.top-optionGroup_item:hover {\r\n\tbackground-color: var(--color-layout-front-1);\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.top-optionGroup_item-selected {\r\n\tcolor: var(--color-text-1);\r\n\tbackground-color: var(--color-bg-lightning-1);\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.top-optionGroup_item > .top-forms-optionLabel {\r\n\tflex-grow: 0;\r\n}\r\n\r\n/* indicator */\r\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item {\r\n\tjustify-content: center;\r\n}\r\n\r\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item:has(:focus-visible) {\r\n\toutline: 2px solid var(--color-bg-primary-2);\r\n\toutline-offset: -1px;\r\n}\r\n\r\n.top-optionGroup-showIndicator_1 > .top-optionGroup_item {\r\n\tpadding: 1px 3px;\r\n\tjustify-content: flex-start;\r\n}\r\n\r\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item > .top-forms-option {\r\n\topacity: 0;\r\n\twidth: 0;\r\n\theight: 0;\r\n\tposition: absolute;\r\n}\r\n\r\n.top-optionGroup_item > .top-forms-option {\r\n\torder: -1;\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\r\n\r\nimport type { Props } from './types';\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\ndefineProps<Props>();\r\n</script>\r\n\r\n<template>\r\n\t<OptionGroup\r\n\t\tclass=\"top-radioGroup\"\r\n\t\tv-model=\"model\"\r\n\t\t:items=\"$props.items\"\r\n\t\t:size=\"$props.size\"\r\n\t\t:showIndicator=\"$props.showIndicator\"\r\n\t\t:isError=\"$props.isError\"\r\n\t>\r\n\t\t<slot/>\r\n\t</OptionGroup>\r\n</template>\r\n","<script setup lang=\"ts\">\r\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\r\n\r\nimport type { Props } from './types';\r\n\r\nconst model = defineModel<Props['modelValue']>({\r\n\trequired: true,\r\n});\r\n\r\ndefineProps<Props>();\r\n</script>\r\n\r\n<template>\r\n\t<OptionGroup\r\n\t\tclass=\"top-checkboxGroup\"\r\n\t\tv-model=\"model\"\r\n\t\t:items=\"$props.items\"\r\n\t\t:size=\"$props.size\"\r\n\t\t:showIndicator=\"$props.showIndicator\"\r\n\t\t:isError=\"$props.isError\"\r\n\t>\r\n\t\t<slot/>\r\n\t</OptionGroup>\r\n</template>\r\n","<script lang=\"ts\" setup>\r\nimport type { Props, Slots } from './types';\r\n\r\nwithDefaults(defineProps<Props>(), {\r\n\tstyling: 'default',\r\n\tsize: 'default',\r\n});\r\n\r\ndefineSlots<Slots>();\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\t:class=\"{\r\n\t\t\t['top-info']: true,\r\n\t\t\t['top-size_' + size]: true,\r\n\t\t\t['top-info-styling_' + styling]: true,\r\n\t\t}\"\r\n\t\t:data-top-icon=\"icon\"\r\n\t>\r\n\t\t<div class=\"top-info_text\">\r\n\t\t\t<slot></slot>\r\n\t\t</div>\r\n\r\n\t\t<span v-if=\"$slots.additional\" class=\"top-info_value\">\r\n\t\t\t<slot name=\"additional\"></slot>\r\n\t\t</span>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-info {\r\n\t--top-icon-width: var(--top-icon-size);\r\n\r\n\tborder-radius: var(--top-forms-radius);\r\n\tbox-sizing: border-box;\r\n\tmin-height: var(--top-forms-base-height);\r\n\tpadding: var(--top-padding-1) var(--top-padding-2);\r\n\tflex-grow: 5;\r\n\tdisplay: flex;\r\n\talign-items: center;\r\n\tjustify-content: space-between;\r\n\tgap: var(--top-gap-2);\r\n}\r\n\r\n.top-info_text {\r\n\tflex-grow: 1;\r\n}\r\n\r\n.top-info_value {\r\n\tfont-weight: bold;\r\n}\r\n\r\n/* size */\r\n.top-info.top-size_default {\r\n\tborder-radius: var(--top-radius-3);\r\n\tpadding: var(--top-padding-4);\r\n}\r\n\r\n/* styling */\r\n.top-info-styling_default {\r\n\t--top-icon-color: var(--color-text-2);\r\n\r\n\tbackground: var(--color-layer-1);\r\n}\r\n\r\n.top-info-styling_info {\r\n\t--top-icon-color: var(--color-text-primary);\r\n\r\n\tbackground: var(--color-layer-primary-1);\r\n}\r\n\r\n.top-info-styling_warning {\r\n\t--top-icon-color: var(--color-text-warning);\r\n\r\n\tbackground: var(--color-layer-warning-1);\r\n}\r\n\r\n.top-info-styling_negative {\r\n\t--top-icon-color: var(--color-text-negative);\r\n\r\n\tbackground: var(--color-layer-negative-1);\r\n}\r\n</style>\r\n","<script setup lang=\"ts\">\r\nimport { ref } from 'vue';\r\nimport { TopButton } from '@/components/forms/forms';\r\nimport type { Emits, Props } from '@/components/formsExt/policy/types';\r\n\r\ndefineProps<Props>();\r\nconst emits = defineEmits<Emits>();\r\n\r\nconst isVisible = ref(true);\r\n\r\nconst onAccept = () => {\r\n\tisVisible.value = false;\r\n\r\n\temits('accept');\r\n};\r\n</script>\r\n\r\n<template>\r\n\t<div\r\n\t\tv-if=\"isVisible\"\r\n\t\tclass=\"top-policy\"\r\n\t>\r\n\t\t<div class=\"top-policy_title\">\r\n\t\t\t{{ title }}\r\n\t\t</div>\r\n\r\n\t\t<div\r\n\t\t\tclass=\"top-policy_description\"\r\n\t\t\tv-html=\"description\"\r\n\t\t></div>\r\n\r\n\t\t<TopButton\r\n\t\t\tsize=\"m\"\r\n\t\t\t@click=\"onAccept\"\r\n\t\t>\r\n\t\t\t{{ acceptText }}\r\n\t\t</TopButton>\r\n\t</div>\r\n</template>\r\n\r\n<style>\r\n.top-policy {\r\n\tbox-sizing: border-box;\r\n\tbox-shadow: var(--top-shadow-b);\r\n\tborder-radius: var(--top-radius-4);\r\n\tbackground: var(--color-bg-lightning-1);\r\n\twidth: 600px;\r\n\tpadding: var(--top-padding-4);\r\n\tposition: fixed;\r\n\tright: var(--top-gap-10);\r\n\tbottom: var(--top-gap-10);\r\n\tdisplay: flex;\r\n\tflex-direction: column;\r\n\tgap: var(--top-gap-4);\r\n\tz-index: 10000;\r\n}\r\n\r\n.top-policy_title {\r\n\tfont-size: 24px;\r\n\tfont-weight: 700;\r\n}\r\n\r\n.top-policy_description {\r\n\tfont-size: 14px;\r\n}\r\n\r\n@media screen and (max-width: 900px) {\r\n\t.top-policy {\r\n\t\twidth: 100%;\r\n\t\tright: 0;\r\n\t\tbottom: calc(var(--top-gap-5) + var(--toolbar-height, 0px));\r\n\t}\r\n}\r\n</style>\r\n"],"names":["props","__props","emit","__emit","localValue","ref","isFocused","isChanged","computed","submit","value","cancel","clickOnTitle","_createElementBlock","_normalizeClass","$slots","_renderSlot","_ctx","_createElementVNode","_createVNode","Textarea","$event","_cache","_withKeys","_withModifiers","_hoisted_1","_createBlock","Button","$core","intermediateValue","watch","toRef","_openBlock","TopInput","_mergeProps","TopButton","model","_useModel","elRef","valuesAvailable","item","name","_Fragment","_renderList","TopCheckbox","_createTextVNode","_toDisplayString","TopRadio","OptionGroup","$props","_hoisted_2","_hoisted_3","emits","isVisible","onAccept","_unref"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formsExt.js","sources":["../../src/components/formsExt/editArea/editArea.vue","../../src/components/formsExt/editInput/editInput.vue","../../src/components/formsExt/libs/optionGroup/optionGroup.vue","../../src/components/formsExt/radioGroup/radioGroup.vue","../../src/components/formsExt/checkboxGroup/checkboxGroup.vue","../../src/components/formsExt/info/info.vue","../../src/components/formsExt/policy/policy.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { computed, ref } from 'vue';\nimport Button from '@/components/forms/button/button.vue';\nimport type { Emits, Props, Slots } from './types';\nimport Textarea from '@/components/forms/textarea/textarea.vue';\n\nconst props = withDefaults(defineProps<Props>(), {\n\tdefaultValue: '',\n\tcancelText: 'Cancel',\n\tsubmitText: 'Send',\n\tcloseText: 'Close',\n\texpandable: true,\n});\n\ndefineSlots<Slots>();\nconst emit = defineEmits<Emits>();\n\nconst localValue = ref(props.defaultValue);\n\nconst isFocused = ref(props.isFocused);\n\nconst isChanged = computed(() => localValue.value !== props.defaultValue);\n\nconst submit = (value: string) => {\n\temit('submit', value);\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst cancel = () => {\n\tif (props.forceShowCloseBtn && !isChanged.value) {\n\t\temit('close');\n\n\t\treturn;\n\t}\n\n\tlocalValue.value = props.defaultValue;\n};\n\nconst clickOnTitle = () => {\n\tif (props.attachToKeyboard) emit('clickOnTitle');\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 || $slots.caption\"\n\t\t\tclass=\"top-editArea_caption\"\n\t\t\t@click=\"clickOnTitle()\"\n\t\t>\n\t\t\t<slot name=\"caption\">\n\t\t\t\t{{ title }}\n\t\t\t</slot>\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-forms-focusable': true,\n\t\t\t\t'top-as-input': true,\n\t\t\t\t'top-error': isError,\n\t\t\t\t'top-focus': isFocused,\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=\"() => isFocused = true\"\n\t\t\t\t@blur=\"() => isFocused = false\"\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 || forceShowCloseBtn\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\tclass=\"top-editArea_button\"\n\t\t\t\t\tcolor=\"theme\"\n\t\t\t\t\tstyling=\"soft\"\n\t\t\t\t\t@click=\"cancel\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ cancelText }}\n\t\t\t\t\t</template>\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\tv-if=\"isChanged\"\n\t\t\t\t\t:icon=\"$core.state.isMobile ? '': ''\"\n\t\t\t\t\t@click=\"submit(localValue)\"\n\t\t\t\t>\n\t\t\t\t\t<template\n\t\t\t\t\t\t#default\n\t\t\t\t\t\tv-if=\"!$core.state.isMobile\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ submitText }}\n\t\t\t\t\t</template>\n\t\t\t\t</Button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<style>\n.top-editArea {\n\t--top-editArea-bottom: env(keyboard-inset-height, 0px);\n\t--top-editArea-offset-bottom: 0px;\n\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: 6px;\n}\n\n.top-editArea_caption {\n\tfont-size: 12px;\n}\n\n.top-editArea_form {\n\tflex-direction: column;\n}\n\n/* textarea в EditArea */\n.top-textarea {\n\twidth: 100%;\n}\n\n.top-editArea_element.top-textarea_textarea {\n\t--top-forms-border-width: 0px;\n\n\toutline: none;\n\tanimation: none;\n}\n\n/* footer */\n.top-editArea_footer {\n\tpadding: var(--top-forms-padding);\n\tdisplay: flex;\n\tmin-height: 32px;\n\talign-self: flex-end;\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\tposition: fixed;\n\tbottom: calc(var(--top-editArea-offset-bottom) + var(--top-editArea-bottom));\n\tright: 0;\n\tleft: 0;\n\tz-index: 2;\n\tgap: 0;\n\ttransition: bottom var(--transition-fast);\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\tcursor: pointer;\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\n@media screen and (max-width: 900px) {\n\t.top-editArea_form {\n\t\tflex-direction: row;\n\t}\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref, toRef, watch } from 'vue';\nimport type { Emits, Props } from './types';\nimport TopInput from '@/components/forms/input/input.vue';\nimport TopButton 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<TopInput\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\t\t\t<template #caption v-if=\"$slots.caption\">\n\t\t\t\t<slot name=\"caption\"></slot>\n\t\t\t</template>\n\t\t</TopInput>\n\n\t\t<TopButton\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</div>\n</template>\n\n<style>\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>\n","<script setup lang=\"ts\">\nimport { ref, watch } from 'vue';\nimport type { Props } from './types';\nimport TopCheckbox from '@/components/forms/checkbox/checkbox.vue';\nimport TopRadio from '@/components/forms/radio/radio.vue';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\nconst props = withDefaults(defineProps<Props>(), {\n\tsize: 's',\n});\n\nconst elRef = ref<HTMLElement | null>(null);\n\nwatch(model, () => {\n\tconst valuesAvailable = props.items.map(item => item.value);\n\n\tif (Array.isArray(model.value)) {\n\t\t// есть ли неподдерживаемые значения\n\t\tconst valueIsWrong = model.value.find((value) => {\n\t\t\treturn !valuesAvailable.includes(value);\n\t\t});\n\n\t\tif (valueIsWrong) {\n\t\t\t// оставить только поддерживаемые значения\n\t\t\tmodel.value = model.value.filter((value) => {\n\t\t\t\treturn valuesAvailable.includes(value);\n\t\t\t});\n\t\t}\n\t} else {\n\t\tif (!valuesAvailable.includes(model.value)) {\n\t\t\tmodel.value = valuesAvailable[0] ?? '';\n\t\t}\n\t}\n\n\telRef.value?.querySelector('.radioGroup_item-selected')?.scrollIntoView();\n}, { immediate: true });\n\nconst name = 'optionGroup-' + Math.random();\n</script>\n\n<template>\n\t<div\n\t\tref=\"elRef\"\n\t\t:class=\"{\n\t\t\t['top-optionGroup']: true,\n\t\t\t['top-optionGroup-showIndicator_' + Number(showIndicator)]: 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<template v-if=\"Array.isArray(model)\">\n\t\t\t<TopCheckbox\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: model.includes(item.value),\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopCheckbox>\n\t\t</template>\n\n\t\t<template v-else>\n\t\t\t<TopRadio\n\t\t\t\t:class=\"{\n\t\t\t\t\t['top-optionGroup_item-selected']: item.value === model,\n\t\t\t\t\t['top-optionGroup_item']: true,\n\t\t\t\t}\"\n\t\t\t\tv-for=\"item of items\"\n\t\t\t\tv-model=\"model\"\n\t\t\t\t:name\n\t\t\t\t:value=\"item.value\"\n\t\t\t\t:title=\"item.title\"\n\t\t\t\t:disabled=\"item.disabled\"\n\t\t\t\t:isError\n\t\t\t\t:data-top-icon=\"item.icon\"\n\t\t\t>\n\t\t\t\t<template #default v-if=\"item.label\">\n\t\t\t\t\t{{ item.label }}\n\t\t\t\t</template>\n\t\t\t</TopRadio>\n\t\t</template>\n\t</div>\n</template>\n\n<style>\n.top-optionGroup {\n\tuser-select: none;\n\tbox-sizing: border-box;\n\tborder-radius: 8px;\n\tbackground-color: var(--color-layout-middle);\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-optionGroup_item {\n\tcursor: pointer;\n\tbox-sizing: border-box;\n\tborder-radius: 6px;\n\theight: calc(var(--top-forms-base-height) - 4px);\n\tpadding: 1px var(--top-padding-2);\n\tcolor: var(--color-text-2);\n\tfont-weight: 400;\n\twhite-space: nowrap;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tflex-grow: 1;\n\tgap: var(--top-gap-1);\n}\n\n.top-optionGroup_item:hover {\n\tbackground-color: var(--color-layout-front-1);\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.top-optionGroup_item-selected {\n\tcolor: var(--color-text-1);\n\tbackground-color: var(--color-bg-lightning-1);\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.top-optionGroup_item > .top-forms-optionLabel {\n\tflex-grow: 0;\n}\n\n/* indicator */\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item {\n\tjustify-content: center;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item:has(:focus-visible) {\n\toutline: 2px solid var(--color-bg-primary-2);\n\toutline-offset: -1px;\n}\n\n.top-optionGroup-showIndicator_1 > .top-optionGroup_item {\n\tpadding: 1px 3px;\n\tjustify-content: flex-start;\n}\n\n.top-optionGroup-showIndicator_0 > .top-optionGroup_item > .top-forms-option {\n\topacity: 0;\n\twidth: 0;\n\theight: 0;\n\tposition: absolute;\n}\n\n.top-optionGroup_item > .top-forms-option {\n\torder: -1;\n}\n</style>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-radioGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script setup lang=\"ts\">\nimport OptionGroup from '../libs/optionGroup/optionGroup.vue';\n\nimport type { Props } from './types';\n\nconst model = defineModel<Props['modelValue']>({\n\trequired: true,\n});\n\ndefineProps<Props>();\n</script>\n\n<template>\n\t<OptionGroup\n\t\tclass=\"top-checkboxGroup\"\n\t\tv-model=\"model\"\n\t\t:items=\"$props.items\"\n\t\t:size=\"$props.size\"\n\t\t:showIndicator=\"$props.showIndicator\"\n\t\t:isError=\"$props.isError\"\n\t>\n\t\t<slot/>\n\t</OptionGroup>\n</template>\n","<script lang=\"ts\" setup>\nimport type { Props, Slots } from './types';\n\nwithDefaults(defineProps<Props>(), {\n\tstyling: 'default',\n\tsize: 'default',\n});\n\ndefineSlots<Slots>();\n</script>\n\n<template>\n\t<div\n\t\t:class=\"{\n\t\t\t['top-info']: true,\n\t\t\t['top-size_' + size]: true,\n\t\t\t['top-info-styling_' + styling]: true,\n\t\t}\"\n\t\t:data-top-icon=\"icon\"\n\t>\n\t\t<div class=\"top-info_text\">\n\t\t\t<slot></slot>\n\t\t</div>\n\n\t\t<span v-if=\"$slots.additional\" class=\"top-info_value\">\n\t\t\t<slot name=\"additional\"></slot>\n\t\t</span>\n\t</div>\n</template>\n\n<style>\n.top-info {\n\t--top-icon-width: var(--top-icon-size);\n\n\tborder-radius: var(--top-forms-radius);\n\tbox-sizing: border-box;\n\tmin-height: var(--top-forms-base-height);\n\tpadding: var(--top-padding-1) var(--top-padding-2);\n\tflex-grow: 5;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tgap: var(--top-gap-2);\n}\n\n.top-info_text {\n\tflex-grow: 1;\n}\n\n.top-info_value {\n\tfont-weight: bold;\n}\n\n/* size */\n.top-info.top-size_default {\n\tborder-radius: var(--top-radius-3);\n\tpadding: var(--top-padding-4);\n}\n\n/* styling */\n.top-info-styling_default {\n\t--top-icon-color: var(--color-text-2);\n\n\tbackground: var(--color-layer-1);\n}\n\n.top-info-styling_info {\n\t--top-icon-color: var(--color-text-primary);\n\n\tbackground: var(--color-layer-primary-1);\n}\n\n.top-info-styling_warning {\n\t--top-icon-color: var(--color-text-warning);\n\n\tbackground: var(--color-layer-warning-1);\n}\n\n.top-info-styling_negative {\n\t--top-icon-color: var(--color-text-negative);\n\n\tbackground: var(--color-layer-negative-1);\n}\n</style>\n","<script setup lang=\"ts\">\nimport { ref } from 'vue';\nimport { TopButton } from '@/components/forms/forms';\nimport type { Emits, Props } from '@/components/formsExt/policy/types';\n\ndefineProps<Props>();\nconst emits = defineEmits<Emits>();\n\nconst isVisible = ref(true);\n\nconst onAccept = () => {\n\tisVisible.value = false;\n\n\temits('accept');\n};\n</script>\n\n<template>\n\t<div\n\t\tv-if=\"isVisible\"\n\t\tclass=\"top-policy\"\n\t>\n\t\t<div class=\"top-policy_title\">\n\t\t\t{{ title }}\n\t\t</div>\n\n\t\t<div\n\t\t\tclass=\"top-policy_description\"\n\t\t\tv-html=\"description\"\n\t\t></div>\n\n\t\t<TopButton\n\t\t\tsize=\"m\"\n\t\t\t@click=\"onAccept\"\n\t\t>\n\t\t\t{{ acceptText }}\n\t\t</TopButton>\n\t</div>\n</template>\n\n<style>\n.top-policy {\n\tbox-sizing: border-box;\n\tbox-shadow: var(--top-shadow-b);\n\tborder-radius: var(--top-radius-4);\n\tbackground: var(--color-bg-lightning-1);\n\twidth: 600px;\n\tpadding: var(--top-padding-4);\n\tposition: fixed;\n\tright: var(--top-gap-10);\n\tbottom: var(--top-gap-10);\n\tdisplay: flex;\n\tflex-direction: column;\n\tgap: var(--top-gap-4);\n\tz-index: 10000;\n}\n\n.top-policy_title {\n\tfont-size: 24px;\n\tfont-weight: 700;\n}\n\n.top-policy_description {\n\tfont-size: 14px;\n}\n\n@media screen and (max-width: 900px) {\n\t.top-policy {\n\t\twidth: 100%;\n\t\tright: 0;\n\t\tbottom: calc(var(--top-gap-5) + var(--toolbar-height, 0px));\n\t}\n}\n</style>\n"],"names":["props","__props","emit","__emit","localValue","ref","isFocused","isChanged","computed","submit","value","cancel","clickOnTitle","_createElementBlock","_normalizeClass","$slots","_renderSlot","_ctx","_createElementVNode","_createVNode","Textarea","$event","_cache","_withKeys","_withModifiers","_hoisted_1","_createBlock","Button","$core","intermediateValue","watch","toRef","_openBlock","TopInput","_mergeProps","TopButton","model","_useModel","elRef","valuesAvailable","item","name","_Fragment","_renderList","TopCheckbox","_createTextVNode","_toDisplayString","TopRadio","OptionGroup","$props","_hoisted_2","_hoisted_3","emits","isVisible","onAccept","_unref"],"mappings":"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"}
|
package/icomoon/Read Me.txt
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
|
|
2
|
-
|
|
3
|
-
To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/docs/#local-fonts
|
|
4
|
-
|
|
5
|
-
You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects.
|
|
6
|
-
|
|
7
|
-
You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection.
|
|
1
|
+
Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
|
|
2
|
+
|
|
3
|
+
To use the generated font in desktop programs, you can install the TTF font. In order to copy the character associated with each icon, refer to the text box at the bottom right corner of each glyph in demo.html. The character inside this text box may be invisible; but it can still be copied. See this guide for more info: https://icomoon.io/docs/#local-fonts
|
|
4
|
+
|
|
5
|
+
You won't need any of the files located under the *demo-files* directory when including the generated font in your own projects.
|
|
6
|
+
|
|
7
|
+
You can import *selection.json* back to the IcoMoon app using the *Import Icons* button (or via Main Menu → Manage Projects) to retrieve your icon selection.
|
|
@@ -1,158 +1,158 @@
|
|
|
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: 8px;
|
|
157
|
-
}
|
|
158
|
-
|
|
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: 8px;
|
|
157
|
+
}
|
|
158
|
+
|
|
@@ -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
|
+
}());
|