@flyanra/vue-core 1.2.1 → 1.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/types/components/general/fly-icon-v2/index.d.ts +1 -1
  2. package/dist/types/composables/index.d.ts +4 -3
  3. package/dist/types/composables/useFeatureGate/index.d.ts +1 -0
  4. package/dist/types/composables/useFeatureGate/useFeatureGate.d.ts +6 -0
  5. package/dist/types/composables/useFormHider/index.d.ts +1 -0
  6. package/dist/types/composables/useFormHider/useFormHider.d.ts +8 -0
  7. package/dist/types/composables/useLocaleInjector/index.d.ts +2 -0
  8. package/dist/types/composables/useSidebarActiveIndex/index.d.ts +1 -0
  9. package/dist/types/composables/{useSidebarActiveIndex.d.ts → useSidebarActiveIndex/useSidebarActiveIndex.d.ts} +1 -1
  10. package/package.json +4 -3
  11. package/src/components/basic/fly-button/FlyButton.types.ts +28 -28
  12. package/src/components/basic/fly-button/FlyButton.vue +178 -178
  13. package/src/components/basic/typography/FlyCollapseTitleRenderer.vue +46 -46
  14. package/src/components/feedback/tooltip/FlyInfoTooltip.vue +49 -49
  15. package/src/components/feedback/tooltip/FlyTooltip.element.scss +4 -4
  16. package/src/components/feedback/tooltip/FlyTooltip.vue +60 -60
  17. package/src/components/form/form.utils.ts +72 -72
  18. package/src/components/form/index.ts +6 -6
  19. package/src/components/form/input-renderers/boolean/FlyBoolean.vue +48 -48
  20. package/src/components/form/input-renderers/form-item-renderer/FlyFormItemRenderer.vue +48 -48
  21. package/src/components/form/input-renderers/form-item-renderer/index.ts +4 -4
  22. package/src/components/form/input-renderers/form-schema-renderer/FlyFormSchemaRenderer.types.ts +3 -3
  23. package/src/components/form/input-renderers/form-schema-renderer/FlyFormSchemaRenderer.utils.ts +221 -221
  24. package/src/components/form/input-renderers/form-schema-renderer/FlyFormSchemaRenderer.vue +75 -75
  25. package/src/components/form/input-renderers/form-schema-renderer/UseFormSchemaRenderer.ts +97 -97
  26. package/src/components/form/input-renderers/input-renderer/FlyInputRenderer.vue +49 -49
  27. package/src/components/form/input-renderers/input-renderer/index.ts +4 -4
  28. package/src/components/form/input-renderers/input-renderer.utils.ts +18 -18
  29. package/src/components/form/input-renderers/number/FlyNumber.vue +64 -64
  30. package/src/components/form/input-renderers/regional-tenant-form-renderer/FlyRegionalTenantFormRenderer.types.ts +15 -15
  31. package/src/components/form/input-renderers/regional-tenant-form-renderer/FlyRegionalTenantFormRenderer.vue +99 -99
  32. package/src/components/form/input-renderers/select/FlySelect.scss +1 -1
  33. package/src/components/form/input-renderers/select/FlySelect.utils.ts +37 -37
  34. package/src/components/form/input-renderers/text/FlyText.vue +70 -70
  35. package/src/components/form/input-renderers/value-unit/FlyValueUnit.vue +102 -102
  36. package/src/components/form/input-validators.ts +99 -99
  37. package/src/components/general/fly-icon-v2/FlyIconV2.types.ts +6 -6
  38. package/src/components/general/fly-icon-v2/FlyIconV2.vue +17 -17
  39. package/src/components/general/fly-icon-v2/index.ts +6 -6
  40. package/src/components/general/index.ts +5 -5
  41. package/src/components/index.ts +7 -7
  42. package/src/components/navigation/menu/fly-mini-sidebar/FlyMiniSidebar.types.ts +8 -8
  43. package/src/components/navigation/menu/fly-mini-sidebar/FlyMiniSidebarItem.vue +55 -55
  44. package/src/components/navigation/menu/fly-sidebar/FlySidebar.types.ts +49 -49
  45. package/src/components/navigation/menu/fly-sidebar/FlySidebar.vue +146 -146
  46. package/src/components/navigation/menu/fly-sidebar/FlySidebarNode.vue +47 -47
  47. package/src/composables/index.ts +4 -4
  48. package/src/composables/useFeatureGate/index.ts +1 -0
  49. package/src/composables/useFeatureGate/useFeatureGate.ts +19 -0
  50. package/src/composables/useFormHider/index.ts +1 -0
  51. package/src/composables/useFormHider/useFormHider.ts +37 -0
  52. package/src/composables/{UseLocaleInjector.ts → useLocaleInjector/UseLocaleInjector.ts} +37 -37
  53. package/src/composables/useLocaleInjector/index.ts +2 -0
  54. package/src/composables/useSidebarActiveIndex/index.ts +1 -0
  55. package/src/composables/{useSidebarActiveIndex.ts → useSidebarActiveIndex/useSidebarActiveIndex.ts} +103 -103
  56. package/src/styles/element/mixins/collapse.scss +61 -61
  57. package/src/styles/element/overrides/form.scss +121 -121
  58. package/src/styles/element/overrides/message-box.scss +2 -2
  59. package/src/styles/element/overrides/radio.scss +2 -2
  60. package/src/styles/element/overrides/select.scss +9 -9
  61. package/src/utils/index.ts +2 -2
  62. package/src/utils/pure-functions.ts +15 -15
  63. package/src/utils/validators.ts +81 -81
  64. /package/dist/types/composables/{UseLocaleInjector.d.ts → useLocaleInjector/UseLocaleInjector.d.ts} +0 -0
@@ -1,49 +1,49 @@
1
- <template>
2
- <span class="fly-info-tooltip">
3
- <FlyTooltip
4
- v-if="content"
5
- :tooltip="{
6
- content: DOMPurify.sanitize(content)
7
- }"
8
- >
9
- <slot name="trigger">
10
- <FlyIcon class="tw-cursor-pointer" :icon="mdiInformationSlabBoxOutline" />
11
- </slot>
12
- <template #content>
13
- <!-- eslint-disable-next-line vue/no-v-html -->
14
- <div v-if="html" v-html="DOMPurify.sanitize(content)"></div>
15
- <slot v-else></slot>
16
- </template>
17
- </FlyTooltip>
18
- </span>
19
- </template>
20
-
21
- <script setup lang="ts">
22
- import { mdiInformationSlabBoxOutline } from '@mdi/js'
23
- import DOMPurify from 'dompurify'
24
-
25
- import FlyIcon from '../../general/fly-icon/FlyIcon.vue'
26
-
27
- import FlyTooltip from './FlyTooltip.vue'
28
-
29
- defineProps({
30
- content: {
31
- type: String,
32
- default: ''
33
- },
34
- html: {
35
- type: Boolean,
36
- default: false
37
- }
38
- })
39
- </script>
40
-
41
- <style lang="scss" scoped>
42
- .fly-info-tooltip {
43
- :deep(.app-icon) {
44
- svg {
45
- display: inline;
46
- }
47
- }
48
- }
49
- </style>
1
+ <template>
2
+ <span class="fly-info-tooltip">
3
+ <FlyTooltip
4
+ v-if="content"
5
+ :tooltip="{
6
+ content: DOMPurify.sanitize(content)
7
+ }"
8
+ >
9
+ <slot name="trigger">
10
+ <FlyIcon class="tw-cursor-pointer" :icon="mdiInformationSlabBoxOutline" />
11
+ </slot>
12
+ <template #content>
13
+ <!-- eslint-disable-next-line vue/no-v-html -->
14
+ <div v-if="html" v-html="DOMPurify.sanitize(content)"></div>
15
+ <slot v-else></slot>
16
+ </template>
17
+ </FlyTooltip>
18
+ </span>
19
+ </template>
20
+
21
+ <script setup lang="ts">
22
+ import { mdiInformationSlabBoxOutline } from '@mdi/js'
23
+ import DOMPurify from 'dompurify'
24
+
25
+ import FlyIcon from '../../general/fly-icon/FlyIcon.vue'
26
+
27
+ import FlyTooltip from './FlyTooltip.vue'
28
+
29
+ defineProps({
30
+ content: {
31
+ type: String,
32
+ default: ''
33
+ },
34
+ html: {
35
+ type: Boolean,
36
+ default: false
37
+ }
38
+ })
39
+ </script>
40
+
41
+ <style lang="scss" scoped>
42
+ .fly-info-tooltip {
43
+ :deep(.app-icon) {
44
+ svg {
45
+ display: inline;
46
+ }
47
+ }
48
+ }
49
+ </style>
@@ -1,4 +1,4 @@
1
- @use '../../../styles//element/common.scss' as *;
2
-
3
- @use 'element-plus/theme-chalk/src/popper.scss' as *;
4
- @use 'element-plus/theme-chalk/src/tooltip.scss' as *;
1
+ @use '../../../styles//element/common.scss' as *;
2
+
3
+ @use 'element-plus/theme-chalk/src/popper.scss' as *;
4
+ @use 'element-plus/theme-chalk/src/tooltip.scss' as *;
@@ -1,60 +1,60 @@
1
- <template>
2
- <el-tooltip
3
- v-bind="mergedElProps"
4
- :popper-class="`fly-tooltip-popper ${popperClasses}`"
5
- class="fly-tooltip"
6
- >
7
- <template v-if="$slots.default">
8
- <slot></slot>
9
- </template>
10
-
11
- <template v-if="$slots.content" #content>
12
- <slot name="content"></slot>
13
- </template>
14
- </el-tooltip>
15
- </template>
16
-
17
- <script lang="ts" setup>
18
- import { computed } from 'vue'
19
-
20
- import { ElTooltip, type UseTooltipProps } from 'element-plus'
21
-
22
- import './FlyTooltip.element.scss'
23
- import type { T_FlyTooltipProps } from './FlyTooltip.types'
24
-
25
- const props = defineProps<T_FlyTooltipProps>()
26
-
27
- const mergedElProps = computed<UseTooltipProps>(() => {
28
- return {
29
- enterable: false,
30
- showAfter: 1000,
31
- ...props.tooltip
32
- }
33
- })
34
-
35
- const popperClasses = computed(() => {
36
- const classes = []
37
-
38
- if (!mergedElProps.value.enterable) {
39
- classes.push('fly-tooltip-popper__no-enter')
40
- }
41
-
42
- return classes.join(' ')
43
- })
44
- </script>
45
-
46
- <style lang="scss">
47
- @use '../../../styles/mixins/shadows.scss' as shadow;
48
-
49
- .fly-tooltip-popper {
50
- @include shadow.shadow-lg;
51
- max-width: 400px;
52
-
53
- &__no-enter {
54
- .fly-tooltip {
55
- pointer-events: none;
56
- max-width: 400px;
57
- }
58
- }
59
- }
60
- </style>
1
+ <template>
2
+ <el-tooltip
3
+ v-bind="mergedElProps"
4
+ :popper-class="`fly-tooltip-popper ${popperClasses}`"
5
+ class="fly-tooltip"
6
+ >
7
+ <template v-if="$slots.default">
8
+ <slot></slot>
9
+ </template>
10
+
11
+ <template v-if="$slots.content" #content>
12
+ <slot name="content"></slot>
13
+ </template>
14
+ </el-tooltip>
15
+ </template>
16
+
17
+ <script lang="ts" setup>
18
+ import { computed } from 'vue'
19
+
20
+ import { ElTooltip, type UseTooltipProps } from 'element-plus'
21
+
22
+ import './FlyTooltip.element.scss'
23
+ import type { T_FlyTooltipProps } from './FlyTooltip.types'
24
+
25
+ const props = defineProps<T_FlyTooltipProps>()
26
+
27
+ const mergedElProps = computed<UseTooltipProps>(() => {
28
+ return {
29
+ enterable: false,
30
+ showAfter: 1000,
31
+ ...props.tooltip
32
+ }
33
+ })
34
+
35
+ const popperClasses = computed(() => {
36
+ const classes = []
37
+
38
+ if (!mergedElProps.value.enterable) {
39
+ classes.push('fly-tooltip-popper__no-enter')
40
+ }
41
+
42
+ return classes.join(' ')
43
+ })
44
+ </script>
45
+
46
+ <style lang="scss">
47
+ @use '../../../styles/mixins/shadows.scss' as shadow;
48
+
49
+ .fly-tooltip-popper {
50
+ @include shadow.shadow-lg;
51
+ max-width: 400px;
52
+
53
+ &__no-enter {
54
+ .fly-tooltip {
55
+ pointer-events: none;
56
+ max-width: 400px;
57
+ }
58
+ }
59
+ }
60
+ </style>
@@ -1,72 +1,72 @@
1
- import type { FormInstance } from 'element-plus'
2
-
3
- import { UseLocaleInjector } from '../../composables/UseLocaleInjector'
4
-
5
- export type ValidateFieldsError = { [K: string]: { message?: string }[] }
6
-
7
- /**
8
- * @returns Translated error message based on active locale
9
- */
10
- export function formFieldErrorMessageFormatter(errors: ValidateFieldsError) {
11
- const { t, locale } = UseLocaleInjector()
12
- const keys = Object.keys(errors)
13
-
14
- if (keys.length) {
15
- const requiredFieldNames: (string | undefined)[] = []
16
- const otherErrors: (string | undefined)[] = []
17
- let formFieldErrorMessage = ''
18
-
19
- keys.forEach((k) => {
20
- const msg = errors[k][0].message
21
- const index = msg?.indexOf(t ? t('validation.isRequired') : 'validation.isRequired')
22
-
23
- if (index && index >= 0) {
24
- requiredFieldNames.push(msg?.slice(0, index)?.trim())
25
- } else {
26
- otherErrors.push(msg)
27
- }
28
- })
29
-
30
- const requiredFieldsLength = requiredFieldNames.length
31
- const otherErrorsLength = otherErrors.length
32
-
33
- if (requiredFieldsLength >= 1) {
34
- const joinedList = new Intl.ListFormat(locale, {
35
- style: 'long',
36
- type: 'conjunction'
37
- }).format(requiredFieldNames.filter((item): item is string => Boolean(item)))
38
-
39
- formFieldErrorMessage = t
40
- ? t('validation.requiredFields', {
41
- field: joinedList,
42
- count: requiredFieldNames.length
43
- })
44
- : joinedList
45
- }
46
-
47
- if (otherErrorsLength) {
48
- if (formFieldErrorMessage) formFieldErrorMessage += ' || ' // temporary
49
- otherErrors.forEach((e, i) => {
50
- formFieldErrorMessage += e + `${i === otherErrorsLength - 1 ? '' : ' || '}` // temporary
51
- })
52
- }
53
-
54
- return formFieldErrorMessage
55
- }
56
-
57
- return t ? t('validation.someInputsInvalid') : 'validation.someInputsInvalid'
58
- }
59
-
60
- export async function genericFormValidator(formRef: FormInstance): Promise<true> {
61
- return new Promise((resolve, reject) => {
62
- formRef.validate((valid, errors) => {
63
- if (!valid) {
64
- if (errors) {
65
- return reject(formFieldErrorMessageFormatter(errors))
66
- }
67
- } else {
68
- return resolve(true)
69
- }
70
- })
71
- })
72
- }
1
+ import type { FormInstance } from 'element-plus'
2
+
3
+ import { UseLocaleInjector } from '../../composables/useLocaleInjector/UseLocaleInjector'
4
+
5
+ export type ValidateFieldsError = { [K: string]: { message?: string }[] }
6
+
7
+ /**
8
+ * @returns Translated error message based on active locale
9
+ */
10
+ export function formFieldErrorMessageFormatter(errors: ValidateFieldsError) {
11
+ const { t, locale } = UseLocaleInjector()
12
+ const keys = Object.keys(errors)
13
+
14
+ if (keys.length) {
15
+ const requiredFieldNames: (string | undefined)[] = []
16
+ const otherErrors: (string | undefined)[] = []
17
+ let formFieldErrorMessage = ''
18
+
19
+ keys.forEach((k) => {
20
+ const msg = errors[k][0].message
21
+ const index = msg?.indexOf(t ? t('validation.isRequired') : 'validation.isRequired')
22
+
23
+ if (index && index >= 0) {
24
+ requiredFieldNames.push(msg?.slice(0, index)?.trim())
25
+ } else {
26
+ otherErrors.push(msg)
27
+ }
28
+ })
29
+
30
+ const requiredFieldsLength = requiredFieldNames.length
31
+ const otherErrorsLength = otherErrors.length
32
+
33
+ if (requiredFieldsLength >= 1) {
34
+ const joinedList = new Intl.ListFormat(locale, {
35
+ style: 'long',
36
+ type: 'conjunction'
37
+ }).format(requiredFieldNames.filter((item): item is string => Boolean(item)))
38
+
39
+ formFieldErrorMessage = t
40
+ ? t('validation.requiredFields', {
41
+ field: joinedList,
42
+ count: requiredFieldNames.length
43
+ })
44
+ : joinedList
45
+ }
46
+
47
+ if (otherErrorsLength) {
48
+ if (formFieldErrorMessage) formFieldErrorMessage += ' || ' // temporary
49
+ otherErrors.forEach((e, i) => {
50
+ formFieldErrorMessage += e + `${i === otherErrorsLength - 1 ? '' : ' || '}` // temporary
51
+ })
52
+ }
53
+
54
+ return formFieldErrorMessage
55
+ }
56
+
57
+ return t ? t('validation.someInputsInvalid') : 'validation.someInputsInvalid'
58
+ }
59
+
60
+ export async function genericFormValidator(formRef: FormInstance): Promise<true> {
61
+ return new Promise((resolve, reject) => {
62
+ formRef.validate((valid, errors) => {
63
+ if (!valid) {
64
+ if (errors) {
65
+ return reject(formFieldErrorMessageFormatter(errors))
66
+ }
67
+ } else {
68
+ return resolve(true)
69
+ }
70
+ })
71
+ })
72
+ }
@@ -1,6 +1,6 @@
1
- export * from './input-renderers/form-item-renderer'
2
- export * from './input-renderers/input-renderer'
3
-
4
- export type { T_InputRendererBase } from './input-renderers/input-renderer.types'
5
- export * from './input-validators'
6
- export * from './form.utils'
1
+ export * from './input-renderers/form-item-renderer'
2
+ export * from './input-renderers/input-renderer'
3
+
4
+ export type { T_InputRendererBase } from './input-renderers/input-renderer.types'
5
+ export * from './input-validators'
6
+ export * from './form.utils'
@@ -1,48 +1,48 @@
1
- <template>
2
- <el-switch
3
- v-model="inputProxy"
4
- v-bind="input?.attrs"
5
- @change="(v) => emit('change', v)"
6
- ></el-switch>
7
- </template>
8
-
9
- <script setup lang="ts">
10
- import { computed, watch } from 'vue'
11
-
12
- import { ElSwitch } from 'element-plus'
13
-
14
- import './FlyBoolean.scss'
15
- import type { T_InputBoolean, T_InputBooleanValues } from './FlyBoolean.types'
16
-
17
- const emit = defineEmits<{
18
- (e: 'update:modelValue', v: T_InputBooleanValues): void
19
- (e: 'change', v: T_InputBooleanValues): void
20
- }>()
21
-
22
- const props = defineProps<{
23
- modelValue?: T_InputBooleanValues
24
- input?: T_InputBoolean
25
- }>()
26
-
27
- const inputProxy = computed({
28
- get: () => {
29
- return Boolean(props.modelValue)
30
- },
31
- set: (v) => {
32
- emit('update:modelValue', Boolean(v))
33
- }
34
- })
35
-
36
- watch(
37
- () => props.modelValue,
38
- () => {
39
- const parsed = Boolean(props.modelValue)
40
- if (parsed !== props.modelValue) {
41
- emit('update:modelValue', parsed)
42
- }
43
- },
44
- {
45
- immediate: true
46
- }
47
- )
48
- </script>
1
+ <template>
2
+ <el-switch
3
+ v-model="inputProxy"
4
+ v-bind="input?.attrs"
5
+ @change="(v) => emit('change', v)"
6
+ ></el-switch>
7
+ </template>
8
+
9
+ <script setup lang="ts">
10
+ import { computed, watch } from 'vue'
11
+
12
+ import { ElSwitch } from 'element-plus'
13
+
14
+ import './FlyBoolean.scss'
15
+ import type { T_InputBoolean, T_InputBooleanValues } from './FlyBoolean.types'
16
+
17
+ const emit = defineEmits<{
18
+ (e: 'update:modelValue', v: T_InputBooleanValues): void
19
+ (e: 'change', v: T_InputBooleanValues): void
20
+ }>()
21
+
22
+ const props = defineProps<{
23
+ modelValue?: T_InputBooleanValues
24
+ input?: T_InputBoolean
25
+ }>()
26
+
27
+ const inputProxy = computed({
28
+ get: () => {
29
+ return Boolean(props.modelValue)
30
+ },
31
+ set: (v) => {
32
+ emit('update:modelValue', Boolean(v))
33
+ }
34
+ })
35
+
36
+ watch(
37
+ () => props.modelValue,
38
+ () => {
39
+ const parsed = Boolean(props.modelValue)
40
+ if (parsed !== props.modelValue) {
41
+ emit('update:modelValue', parsed)
42
+ }
43
+ },
44
+ {
45
+ immediate: true
46
+ }
47
+ )
48
+ </script>
@@ -1,48 +1,48 @@
1
- <template>
2
- <el-form-item :prop="input.prop || input.key">
3
- <template #label>
4
- <FlyInfoTooltip v-if="input.tooltip" :content="input.tooltip" />
5
- {{ t(input.label) }}
6
- </template>
7
-
8
- <FlyInputRenderer
9
- v-model="modelProxy"
10
- :input="input"
11
- @change="(val: unknown) => emit('change', val)"
12
- @blur="() => emit('blur')"
13
- @focus="() => emit('focus')"
14
- />
15
- </el-form-item>
16
- </template>
17
-
18
- <script setup lang="ts">
19
- import { computed } from 'vue'
20
-
21
- import { ElFormItem } from 'element-plus'
22
-
23
- import { UseLocaleInjector } from '../../../../composables/UseLocaleInjector'
24
- import FlyInfoTooltip from '../../../feedback/tooltip/FlyInfoTooltip.vue'
25
- import type { T_InputRendererBase } from '../input-renderer.types'
26
- import FlyInputRenderer from '../input-renderer/FlyInputRenderer.vue'
27
-
28
- import './FlyFormItemRenderer.scss'
29
-
30
- const props = defineProps<{
31
- modelValue: unknown
32
- input: T_InputRendererBase
33
- }>()
34
-
35
- const emit = defineEmits<{
36
- (e: 'update:modelValue', value: unknown): void
37
- (e: 'change', value: unknown): void
38
- (e: 'blur'): void
39
- (e: 'focus'): void
40
- }>()
41
-
42
- const { t } = UseLocaleInjector()
43
-
44
- const modelProxy = computed({
45
- get: () => props.modelValue,
46
- set: (val) => emit('update:modelValue', val)
47
- })
48
- </script>
1
+ <template>
2
+ <el-form-item :prop="input.prop || input.key">
3
+ <template #label>
4
+ <FlyInfoTooltip v-if="input.tooltip" :content="input.tooltip" />
5
+ {{ t(input.label) }}
6
+ </template>
7
+
8
+ <FlyInputRenderer
9
+ v-model="modelProxy"
10
+ :input="input"
11
+ @change="(val: unknown) => emit('change', val)"
12
+ @blur="() => emit('blur')"
13
+ @focus="() => emit('focus')"
14
+ />
15
+ </el-form-item>
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import { computed } from 'vue'
20
+
21
+ import { ElFormItem } from 'element-plus'
22
+
23
+ import { UseLocaleInjector } from '../../../../composables/useLocaleInjector/UseLocaleInjector'
24
+ import FlyInfoTooltip from '../../../feedback/tooltip/FlyInfoTooltip.vue'
25
+ import type { T_InputRendererBase } from '../input-renderer.types'
26
+ import FlyInputRenderer from '../input-renderer/FlyInputRenderer.vue'
27
+
28
+ import './FlyFormItemRenderer.scss'
29
+
30
+ const props = defineProps<{
31
+ modelValue: unknown
32
+ input: T_InputRendererBase
33
+ }>()
34
+
35
+ const emit = defineEmits<{
36
+ (e: 'update:modelValue', value: unknown): void
37
+ (e: 'change', value: unknown): void
38
+ (e: 'blur'): void
39
+ (e: 'focus'): void
40
+ }>()
41
+
42
+ const { t } = UseLocaleInjector()
43
+
44
+ const modelProxy = computed({
45
+ get: () => props.modelValue,
46
+ set: (val) => emit('update:modelValue', val)
47
+ })
48
+ </script>
@@ -1,4 +1,4 @@
1
- import FlyFormItemRenderer from './FlyFormItemRenderer.vue'
2
-
3
- export default FlyFormItemRenderer
4
- export { FlyFormItemRenderer }
1
+ import FlyFormItemRenderer from './FlyFormItemRenderer.vue'
2
+
3
+ export default FlyFormItemRenderer
4
+ export { FlyFormItemRenderer }
@@ -1,3 +1,3 @@
1
- import type FlyFormSchemaRenderer from './FlyFormSchemaRenderer.vue'
2
-
3
- export type T_FlyFormSchemaRendererInstance = InstanceType<typeof FlyFormSchemaRenderer> | null
1
+ import type FlyFormSchemaRenderer from './FlyFormSchemaRenderer.vue'
2
+
3
+ export type T_FlyFormSchemaRendererInstance = InstanceType<typeof FlyFormSchemaRenderer> | null