@topvisor/ui 1.4.1-projectSelector.2 → 1.4.1-projectSelector.4
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/policy.vue_vue_type_style_index_0_lang-BkKOPt0o.amd.js +2 -0
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-CO-f4TwZ.amd.js.map → policy.vue_vue_type_style_index_0_lang-BkKOPt0o.amd.js.map} +1 -1
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-ClaW4X74.es.js → policy.vue_vue_type_style_index_0_lang-CaEdkGWd.es.js} +178 -167
- package/.chunks/{policy.vue_vue_type_style_index_0_lang-ClaW4X74.es.js.map → policy.vue_vue_type_style_index_0_lang-CaEdkGWd.es.js.map} +1 -1
- package/formsExt/formsExt.amd.js +1 -1
- package/formsExt/formsExt.amd.js.map +1 -1
- package/formsExt/formsExt.js +33 -33
- package/formsExt/formsExt.js.map +1 -1
- package/icomoon/Read Me.txt +1 -1
- package/icomoon/Topvisor icons.json +361 -131
- package/icomoon/demo.html +141 -1
- package/icomoon/fonts/Topvisor-2.eot +0 -0
- package/icomoon/fonts/Topvisor-2.svg +11 -1
- package/icomoon/fonts/Topvisor-2.ttf +0 -0
- package/icomoon/fonts/Topvisor-2.woff +0 -0
- package/icomoon/selection.json +1 -1
- package/icomoon/style.css +35 -5
- package/package.json +1 -1
- package/project/project.amd.js +1 -1
- package/project/project.amd.js.map +1 -1
- package/project/project.js +808 -760
- package/project/project.js.map +1 -1
- package/src/components/formsExt/selector2/selector2.vue.d.ts +3 -0
- package/src/components/formsExt/selector2/types.d.ts +18 -4
- package/src/components/project/groupSelector/groups/groups.vue.d.ts +10 -2
- package/src/components/project/projectSelector/cache.d.ts +4 -0
- package/src/components/project/projectSelector/projectSelector.vue.d.ts +28 -18
- package/src/components/project/projectSelector/types.d.ts +1 -2
- package/src/components/project/projectSelector/utils.d.ts +7 -3
- package/.chunks/policy.vue_vue_type_style_index_0_lang-CO-f4TwZ.amd.js +0 -2
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\">\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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"}
|
|
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, 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(() => 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","_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,6 +1,6 @@
|
|
|
1
1
|
Open *demo.html* to see a list of all the glyphs in your font along with their codes/ligatures.
|
|
2
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
|
|
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#install
|
|
4
4
|
|
|
5
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
6
|
|