@finema/core 1.4.152 → 1.4.154

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 (168) hide show
  1. package/README.md +60 -60
  2. package/dist/module.json +1 -5
  3. package/dist/module.mjs +10 -2
  4. package/dist/runtime/components/Alert.vue +48 -48
  5. package/dist/runtime/components/Avatar.vue +27 -27
  6. package/dist/runtime/components/Badge.vue +11 -11
  7. package/dist/runtime/components/Breadcrumb.vue +44 -44
  8. package/dist/runtime/components/Button/Group.vue +37 -37
  9. package/dist/runtime/components/Button/index.vue +75 -75
  10. package/dist/runtime/components/Card.vue +38 -38
  11. package/dist/runtime/components/Core.vue +37 -37
  12. package/dist/runtime/components/Dialog/index.vue +108 -108
  13. package/dist/runtime/components/Dropdown/index.vue +70 -70
  14. package/dist/runtime/components/FlexDeck/Base.vue +143 -143
  15. package/dist/runtime/components/FlexDeck/index.vue +68 -68
  16. package/dist/runtime/components/Form/FieldWrapper.vue +23 -23
  17. package/dist/runtime/components/Form/Fields.vue +230 -230
  18. package/dist/runtime/components/Form/InputCheckbox/index.vue +28 -28
  19. package/dist/runtime/components/Form/InputDateTime/index.vue +60 -60
  20. package/dist/runtime/components/Form/InputDateTimeRange/date_range_time_field.types.d.ts +1 -1
  21. package/dist/runtime/components/Form/InputDateTimeRange/index.vue +83 -83
  22. package/dist/runtime/components/Form/InputNumber/index.vue +27 -27
  23. package/dist/runtime/components/Form/InputRadio/index.vue +27 -27
  24. package/dist/runtime/components/Form/InputSelect/index.vue +45 -45
  25. package/dist/runtime/components/Form/InputSelectMultiple/index.vue +54 -54
  26. package/dist/runtime/components/Form/InputStatic/index.vue +16 -16
  27. package/dist/runtime/components/Form/InputTags/index.vue +145 -145
  28. package/dist/runtime/components/Form/InputText/index.vue +67 -67
  29. package/dist/runtime/components/Form/InputTextarea/index.vue +25 -25
  30. package/dist/runtime/components/Form/InputToggle/index.vue +14 -14
  31. package/dist/runtime/components/Form/InputUploadDropzone/index.vue +206 -206
  32. package/dist/runtime/components/Form/InputUploadDropzone/types.d.ts +1 -1
  33. package/dist/runtime/components/Form/InputUploadDropzoneAuto/index.vue +342 -342
  34. package/dist/runtime/components/Form/InputUploadDropzoneAuto/types.d.ts +1 -1
  35. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/ItemUpload.vue +241 -241
  36. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/ItemView.vue +89 -89
  37. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/index.vue +164 -164
  38. package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/types.d.ts +1 -1
  39. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/ItemUpload.vue +161 -161
  40. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/ItemView.vue +64 -64
  41. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/index.vue +172 -172
  42. package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/types.d.ts +1 -1
  43. package/dist/runtime/components/Form/InputUploadFileClassic/index.vue +95 -95
  44. package/dist/runtime/components/Form/InputUploadFileClassicAuto/index.vue +151 -151
  45. package/dist/runtime/components/Form/InputUploadFileClassicAuto/types.d.ts +1 -1
  46. package/dist/runtime/components/Form/InputUploadImageAuto/index.vue +219 -219
  47. package/dist/runtime/components/Form/InputUploadImageAuto/types.d.ts +1 -1
  48. package/dist/runtime/components/Form/InputWYSIWYG/index.vue +53 -53
  49. package/dist/runtime/components/Form/index.vue +6 -6
  50. package/dist/runtime/components/Icon.vue +23 -23
  51. package/dist/runtime/components/Image.vue +36 -36
  52. package/dist/runtime/components/Loader.vue +27 -27
  53. package/dist/runtime/components/Modal/index.vue +146 -146
  54. package/dist/runtime/components/QRCode.vue +22 -22
  55. package/dist/runtime/components/SimplePagination.vue +96 -96
  56. package/dist/runtime/components/Slideover/index.vue +110 -110
  57. package/dist/runtime/components/Table/Base.vue +139 -139
  58. package/dist/runtime/components/Table/ColumnDate.vue +16 -16
  59. package/dist/runtime/components/Table/ColumnDateTime.vue +18 -18
  60. package/dist/runtime/components/Table/ColumnImage.vue +15 -15
  61. package/dist/runtime/components/Table/ColumnNumber.vue +14 -14
  62. package/dist/runtime/components/Table/ColumnText.vue +25 -25
  63. package/dist/runtime/components/Table/Simple.vue +69 -69
  64. package/dist/runtime/components/Table/index.vue +65 -65
  65. package/dist/runtime/components/Tabs/index.vue +64 -64
  66. package/dist/runtime/components/TeleportSafe.vue +40 -40
  67. package/dist/runtime/composables/loaderList.d.ts +2 -2
  68. package/dist/runtime/composables/{loaderList.js → loaderList.mjs} +2 -2
  69. package/dist/runtime/composables/loaderObject.d.ts +1 -1
  70. package/dist/runtime/composables/{loaderObject.js → loaderObject.mjs} +2 -2
  71. package/dist/runtime/composables/loaderPage.d.ts +1 -1
  72. package/dist/runtime/composables/{loaderPage.js → loaderPage.mjs} +3 -3
  73. package/dist/runtime/composables/useConfig.d.ts +1 -1
  74. package/dist/runtime/composables/useForm.d.ts +1 -1
  75. package/dist/runtime/composables/useTable.d.ts +2 -2
  76. package/dist/runtime/composables/{useTable.js → useTable.mjs} +1 -1
  77. package/dist/runtime/composables/{useUpload.js → useUpload.mjs} +1 -1
  78. package/dist/runtime/helpers/{apiListHelper.js → apiListHelper.mjs} +1 -1
  79. package/dist/runtime/helpers/{apiObjectHelper.js → apiObjectHelper.mjs} +1 -1
  80. package/dist/runtime/helpers/apiPageHelper.d.ts +1 -1
  81. package/dist/runtime/helpers/{apiPageHelper.js → apiPageHelper.mjs} +4 -4
  82. package/dist/runtime/ui.config/index.d.ts +16 -16
  83. package/dist/runtime/ui.config/index.mjs +16 -0
  84. package/dist/runtime/ui.config/{uploadDropzoneImage.js → uploadDropzoneImage.mjs} +1 -1
  85. package/dist/runtime/utils/ArrayHelper.d.ts +1 -1
  86. package/dist/runtime/utils/{ArrayHelper.spec.js → ArrayHelper.spec.mjs} +1 -1
  87. package/dist/runtime/utils/{FileHelper.spec.js → FileHelper.spec.mjs} +1 -1
  88. package/dist/runtime/utils/ObjectHelper.d.ts +2 -2
  89. package/dist/runtime/utils/{ObjectHelper.js → ObjectHelper.mjs} +2 -2
  90. package/dist/runtime/utils/{ObjectHelper.spec.js → ObjectHelper.spec.mjs} +1 -1
  91. package/dist/runtime/utils/ParamHelper.d.ts +1 -1
  92. package/dist/runtime/utils/{ParamHelper.spec.js → ParamHelper.spec.mjs} +1 -1
  93. package/dist/runtime/utils/{StringHelper.spec.js → StringHelper.spec.mjs} +1 -1
  94. package/dist/runtime/utils/{TimeHelper.spec.js → TimeHelper.spec.mjs} +1 -1
  95. package/dist/runtime/utils/{TimeHelper.thai.spec.js → TimeHelper.thai.spec.mjs} +1 -1
  96. package/dist/types.d.mts +16 -1
  97. package/dist/types.d.ts +16 -1
  98. package/package.json +92 -93
  99. package/dist/runtime/ui.config/index.js +0 -16
  100. /package/dist/runtime/components/Dropdown/{types.js → types.mjs} +0 -0
  101. /package/dist/runtime/components/FlexDeck/{types.js → types.mjs} +0 -0
  102. /package/dist/runtime/components/Form/InputCheckbox/{types.js → types.mjs} +0 -0
  103. /package/dist/runtime/components/Form/InputDateTime/{date_time_field.types.js → date_time_field.types.mjs} +0 -0
  104. /package/dist/runtime/components/Form/InputDateTimeRange/{date_range_time_field.types.js → date_range_time_field.types.mjs} +0 -0
  105. /package/dist/runtime/components/Form/InputNumber/{types.js → types.mjs} +0 -0
  106. /package/dist/runtime/components/Form/InputRadio/{types.js → types.mjs} +0 -0
  107. /package/dist/runtime/components/Form/InputSelect/{types.js → types.mjs} +0 -0
  108. /package/dist/runtime/components/Form/InputSelectMultiple/{types.js → types.mjs} +0 -0
  109. /package/dist/runtime/components/Form/InputStatic/{types.js → types.mjs} +0 -0
  110. /package/dist/runtime/components/Form/InputTags/{types.js → types.mjs} +0 -0
  111. /package/dist/runtime/components/Form/InputText/{types.js → types.mjs} +0 -0
  112. /package/dist/runtime/components/Form/InputTextarea/{types.js → types.mjs} +0 -0
  113. /package/dist/runtime/components/Form/InputToggle/{types.js → types.mjs} +0 -0
  114. /package/dist/runtime/components/Form/InputUploadDropzone/{types.js → types.mjs} +0 -0
  115. /package/dist/runtime/components/Form/InputUploadDropzoneAuto/{types.js → types.mjs} +0 -0
  116. /package/dist/runtime/components/Form/InputUploadDropzoneAutoMultiple/{types.js → types.mjs} +0 -0
  117. /package/dist/runtime/components/Form/InputUploadDropzoneImageAutoMultiple/{types.js → types.mjs} +0 -0
  118. /package/dist/runtime/components/Form/InputUploadFileClassic/{types.js → types.mjs} +0 -0
  119. /package/dist/runtime/components/Form/InputUploadFileClassicAuto/{types.js → types.mjs} +0 -0
  120. /package/dist/runtime/components/Form/InputUploadImageAuto/{types.js → types.mjs} +0 -0
  121. /package/dist/runtime/components/Form/InputWYSIWYG/{types.js → types.mjs} +0 -0
  122. /package/dist/runtime/components/Form/{types.js → types.mjs} +0 -0
  123. /package/dist/runtime/components/Table/{types.js → types.mjs} +0 -0
  124. /package/dist/runtime/composables/{useApp.js → useApp.mjs} +0 -0
  125. /package/dist/runtime/composables/{useConfig.js → useConfig.mjs} +0 -0
  126. /package/dist/runtime/composables/{useDialog.js → useDialog.mjs} +0 -0
  127. /package/dist/runtime/composables/{useFlexDeck.js → useFlexDeck.mjs} +0 -0
  128. /package/dist/runtime/composables/{useForm.js → useForm.mjs} +0 -0
  129. /package/dist/runtime/composables/{useNotification.js → useNotification.mjs} +0 -0
  130. /package/dist/runtime/composables/{useWatch.js → useWatch.mjs} +0 -0
  131. /package/dist/runtime/{core.config.js → core.config.mjs} +0 -0
  132. /package/dist/runtime/helpers/{componentHelper.js → componentHelper.mjs} +0 -0
  133. /package/dist/runtime/lib/{Requester.js → Requester.mjs} +0 -0
  134. /package/dist/runtime/{plugin.js → plugin.mjs} +0 -0
  135. /package/dist/runtime/{quill.plugin.js → quill.plugin.mjs} +0 -0
  136. /package/dist/runtime/types/{common.js → common.mjs} +0 -0
  137. /package/dist/runtime/types/{config.js → config.mjs} +0 -0
  138. /package/dist/runtime/types/{lib.js → lib.mjs} +0 -0
  139. /package/dist/runtime/ui.config/{alert.js → alert.mjs} +0 -0
  140. /package/dist/runtime/ui.config/{badge.js → badge.mjs} +0 -0
  141. /package/dist/runtime/ui.config/{breadcrumb.js → breadcrumb.mjs} +0 -0
  142. /package/dist/runtime/ui.config/{button.js → button.mjs} +0 -0
  143. /package/dist/runtime/ui.config/{buttonGroup.js → buttonGroup.mjs} +0 -0
  144. /package/dist/runtime/ui.config/{card.js → card.mjs} +0 -0
  145. /package/dist/runtime/ui.config/{checkbox.js → checkbox.mjs} +0 -0
  146. /package/dist/runtime/ui.config/{formGroup.js → formGroup.mjs} +0 -0
  147. /package/dist/runtime/ui.config/{icon.js → icon.mjs} +0 -0
  148. /package/dist/runtime/ui.config/{input.js → input.mjs} +0 -0
  149. /package/dist/runtime/ui.config/{modal.js → modal.mjs} +0 -0
  150. /package/dist/runtime/ui.config/{notification.js → notification.mjs} +0 -0
  151. /package/dist/runtime/ui.config/{pagination.js → pagination.mjs} +0 -0
  152. /package/dist/runtime/ui.config/{select.js → select.mjs} +0 -0
  153. /package/dist/runtime/ui.config/{selectMenu.js → selectMenu.mjs} +0 -0
  154. /package/dist/runtime/ui.config/{slideover.js → slideover.mjs} +0 -0
  155. /package/dist/runtime/ui.config/{table.js → table.mjs} +0 -0
  156. /package/dist/runtime/ui.config/{tabs.js → tabs.mjs} +0 -0
  157. /package/dist/runtime/ui.config/{tags.js → tags.mjs} +0 -0
  158. /package/dist/runtime/ui.config/{textarea.js → textarea.mjs} +0 -0
  159. /package/dist/runtime/ui.config/{toggle.js → toggle.mjs} +0 -0
  160. /package/dist/runtime/ui.config/{uploadFileDropzone.js → uploadFileDropzone.mjs} +0 -0
  161. /package/dist/runtime/ui.config/{uploadFileInputClassicAuto.js → uploadFileInputClassicAuto.mjs} +0 -0
  162. /package/dist/runtime/ui.config/{uploadImage.js → uploadImage.mjs} +0 -0
  163. /package/dist/runtime/utils/{ArrayHelper.js → ArrayHelper.mjs} +0 -0
  164. /package/dist/runtime/utils/{FileHelper.js → FileHelper.mjs} +0 -0
  165. /package/dist/runtime/utils/{ParamHelper.js → ParamHelper.mjs} +0 -0
  166. /package/dist/runtime/utils/{StringHelper.js → StringHelper.mjs} +0 -0
  167. /package/dist/runtime/utils/{TimeHelper.js → TimeHelper.mjs} +0 -0
  168. /package/dist/runtime/utils/{lodash.js → lodash.mjs} +0 -0
@@ -1,145 +1,145 @@
1
- <template>
2
- <FieldWrapper v-bind="wrapperProps">
3
- <div
4
- :class="[
5
- ui.base,
6
- ui.border,
7
- ui.shadow,
8
- ui.padding,
9
- {
10
- [ui.stages.default]: !wrapperProps.errorMessage,
11
- [ui.stages.error]: wrapperProps.errorMessage,
12
- },
13
- ]"
14
- >
15
- <p
16
- v-if="wrapperProps.placeholder && !innerValue && (!value || value.length === 0)"
17
- :class="[ui.placeholder]"
18
- @click="focusInput"
19
- >
20
- {{ wrapperProps.placeholder }}
21
- </p>
22
- <div :class="[ui.innerWrapper]">
23
- <Badge
24
- v-for="(text, index) in value"
25
- :key="index"
26
- :size="ui.tag.size || (ui.default.tag.size as any)"
27
- :color="ui.tag.color || (ui.default.tag.color as any)"
28
- :variant="ui.tag.variant || (ui.default.tag.variant as any)"
29
- :ui="badgeUi"
30
- >
31
- <div class="flex items-center gap-x-0.5">
32
- {{ tagPrefix + text }}
33
- <Icon
34
- name="i-heroicons:x-circle-20-solid"
35
- class="size-4 cursor-pointer"
36
- @click="onClickDelete(index)"
37
- />
38
- </div>
39
- </Badge>
40
- <input
41
- ref="inputRef"
42
- v-model="innerValue"
43
- :class="[ui.input]"
44
- :disabled="wrapperProps.isDisabled"
45
- :name="name"
46
- :readonly="isReadonly"
47
- :autofocus="!!autoFocus"
48
- @blur="onBlur"
49
- @keyup.delete="onDelete"
50
- @keyup.enter="onEnter"
51
- @keyup.space="onSpace"
52
- />
53
- </div>
54
- </div>
55
- </FieldWrapper>
56
- </template>
57
-
58
- <script lang="ts" setup>
59
- import { ref, toRef, useUI, useUiConfig } from '#imports'
60
- import { type ITagsFieldProps } from '#core/components/Form/InputTags/types'
61
- import { tags } from '#core/ui.config'
62
- import { useFieldHOC } from '#core/composables/useForm'
63
- import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
64
-
65
- const config = useUiConfig<typeof tags>(tags, 'tags')
66
-
67
- const props = withDefaults(defineProps<ITagsFieldProps>(), {
68
- tagPrefix: '#',
69
- })
70
-
71
- const emits = defineEmits(['change', 'blur'])
72
-
73
- const { value, wrapperProps } = useFieldHOC<string[]>(props)
74
-
75
- const { ui } = useUI('tags', toRef(props, 'ui'), config)
76
-
77
- const inputRef = ref<HTMLInputElement | null>(null)
78
- const innerValue = ref<string>('')
79
- const backspaceCount = ref<number>(0)
80
-
81
- const operateValue = (input: string) => {
82
- const tagSet = splitBySpace(input)
83
-
84
- if (value.value && value.value.length > 0) {
85
- value.value = [...value.value, ...tagSet]
86
- } else {
87
- value.value = tagSet
88
- }
89
-
90
- innerValue.value = ''
91
-
92
- emits('change', value.value)
93
- }
94
-
95
- const onBlur = (e: FocusEvent) => {
96
- const eventValue = e.target as HTMLInputElement
97
-
98
- if (!eventValue.value || eventValue.value === '') return
99
-
100
- operateValue(eventValue.value)
101
-
102
- emits('blur', eventValue.value)
103
- }
104
-
105
- const onDelete = (e: KeyboardEvent) => {
106
- if (e.key === 'Backspace') {
107
- if (innerValue.value === '') {
108
- backspaceCount.value += 1
109
- } else {
110
- backspaceCount.value = 0
111
- }
112
-
113
- if (backspaceCount.value >= 2 && value.value.length > 0) {
114
- value.value = value.value.slice(0, value.value.length - 1)
115
- backspaceCount.value = 0
116
- }
117
- }
118
- }
119
-
120
- const onClickDelete = (index: number) => {
121
- value.value = value.value.filter((_, i) => i !== index)
122
- }
123
-
124
- const onEnter = (e: KeyboardEvent) => {
125
- if (e.key === 'Enter') {
126
- operateValue(innerValue.value)
127
- }
128
- }
129
-
130
- const onSpace = (e: KeyboardEvent) => {
131
- if (e.key === ' ') {
132
- operateValue(innerValue.value)
133
- }
134
- }
135
-
136
- const splitBySpace = (input: string): string[] => {
137
- const spited = input.split(' ')
138
-
139
- return spited.filter((item) => item !== '')
140
- }
141
-
142
- const focusInput = () => {
143
- inputRef.value?.focus()
144
- }
145
- </script>
1
+ <template>
2
+ <FieldWrapper v-bind="wrapperProps">
3
+ <div
4
+ :class="[
5
+ ui.base,
6
+ ui.border,
7
+ ui.shadow,
8
+ ui.padding,
9
+ {
10
+ [ui.stages.default]: !wrapperProps.errorMessage,
11
+ [ui.stages.error]: wrapperProps.errorMessage,
12
+ },
13
+ ]"
14
+ >
15
+ <p
16
+ v-if="wrapperProps.placeholder && !innerValue && (!value || value.length === 0)"
17
+ :class="[ui.placeholder]"
18
+ @click="focusInput"
19
+ >
20
+ {{ wrapperProps.placeholder }}
21
+ </p>
22
+ <div :class="[ui.innerWrapper]">
23
+ <Badge
24
+ v-for="(text, index) in value"
25
+ :key="index"
26
+ :size="ui.tag.size || (ui.default.tag.size as any)"
27
+ :color="ui.tag.color || (ui.default.tag.color as any)"
28
+ :variant="ui.tag.variant || (ui.default.tag.variant as any)"
29
+ :ui="badgeUi"
30
+ >
31
+ <div class="flex items-center gap-x-0.5">
32
+ {{ tagPrefix + text }}
33
+ <Icon
34
+ name="i-heroicons:x-circle-20-solid"
35
+ class="size-4 cursor-pointer"
36
+ @click="onClickDelete(index)"
37
+ />
38
+ </div>
39
+ </Badge>
40
+ <input
41
+ ref="inputRef"
42
+ v-model="innerValue"
43
+ :class="[ui.input]"
44
+ :disabled="wrapperProps.isDisabled"
45
+ :name="name"
46
+ :readonly="isReadonly"
47
+ :autofocus="!!autoFocus"
48
+ @blur="onBlur"
49
+ @keyup.delete="onDelete"
50
+ @keyup.enter="onEnter"
51
+ @keyup.space="onSpace"
52
+ />
53
+ </div>
54
+ </div>
55
+ </FieldWrapper>
56
+ </template>
57
+
58
+ <script lang="ts" setup>
59
+ import { ref, toRef, useUI, useUiConfig } from '#imports'
60
+ import { type ITagsFieldProps } from '#core/components/Form/InputTags/types'
61
+ import { tags } from '#core/ui.config'
62
+ import { useFieldHOC } from '#core/composables/useForm'
63
+ import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
64
+
65
+ const config = useUiConfig<typeof tags>(tags, 'tags')
66
+
67
+ const props = withDefaults(defineProps<ITagsFieldProps>(), {
68
+ tagPrefix: '#',
69
+ })
70
+
71
+ const emits = defineEmits(['change', 'blur'])
72
+
73
+ const { value, wrapperProps } = useFieldHOC<string[]>(props)
74
+
75
+ const { ui } = useUI('tags', toRef(props, 'ui'), config)
76
+
77
+ const inputRef = ref<HTMLInputElement | null>(null)
78
+ const innerValue = ref<string>('')
79
+ const backspaceCount = ref<number>(0)
80
+
81
+ const operateValue = (input: string) => {
82
+ const tagSet = splitBySpace(input)
83
+
84
+ if (value.value && value.value.length > 0) {
85
+ value.value = [...value.value, ...tagSet]
86
+ } else {
87
+ value.value = tagSet
88
+ }
89
+
90
+ innerValue.value = ''
91
+
92
+ emits('change', value.value)
93
+ }
94
+
95
+ const onBlur = (e: FocusEvent) => {
96
+ const eventValue = e.target as HTMLInputElement
97
+
98
+ if (!eventValue.value || eventValue.value === '') return
99
+
100
+ operateValue(eventValue.value)
101
+
102
+ emits('blur', eventValue.value)
103
+ }
104
+
105
+ const onDelete = (e: KeyboardEvent) => {
106
+ if (e.key === 'Backspace') {
107
+ if (innerValue.value === '') {
108
+ backspaceCount.value += 1
109
+ } else {
110
+ backspaceCount.value = 0
111
+ }
112
+
113
+ if (backspaceCount.value >= 2 && value.value.length > 0) {
114
+ value.value = value.value.slice(0, value.value.length - 1)
115
+ backspaceCount.value = 0
116
+ }
117
+ }
118
+ }
119
+
120
+ const onClickDelete = (index: number) => {
121
+ value.value = value.value.filter((_, i) => i !== index)
122
+ }
123
+
124
+ const onEnter = (e: KeyboardEvent) => {
125
+ if (e.key === 'Enter') {
126
+ operateValue(innerValue.value)
127
+ }
128
+ }
129
+
130
+ const onSpace = (e: KeyboardEvent) => {
131
+ if (e.key === ' ') {
132
+ operateValue(innerValue.value)
133
+ }
134
+ }
135
+
136
+ const splitBySpace = (input: string): string[] => {
137
+ const spited = input.split(' ')
138
+
139
+ return spited.filter((item) => item !== '')
140
+ }
141
+
142
+ const focusInput = () => {
143
+ inputRef.value?.focus()
144
+ }
145
+ </script>
@@ -1,67 +1,67 @@
1
- <template>
2
- <FieldWrapper v-bind="wrapperProps">
3
- <UInput
4
- v-if="type === 'password'"
5
- v-model="value"
6
- v-maska:[maskOptions]
7
- :data-maska="mask"
8
- :data-maska-tokens="maskTokens"
9
- :data-maska-tokens-replace="maskTokensReplace"
10
- :data-maska-reversed="maskReversed"
11
- :data-maska-eager="maskEager"
12
- :disabled="wrapperProps.isDisabled"
13
- :leading-icon="leadingIcon"
14
- :trailing-icon="trailingIcon"
15
- :name="name"
16
- :placeholder="wrapperProps.placeholder"
17
- :type="isShowPassword ? 'text' : 'password'"
18
- :autofocus="!!autoFocus"
19
- :icon="icon"
20
- :readonly="isReadonly"
21
- :ui="_deepMerge({}, ui, { icon: { trailing: { pointer: '' } } })"
22
- >
23
- <template #trailing>
24
- <UButton
25
- color="gray"
26
- variant="link"
27
- :icon="isShowPassword ? 'i-heroicons-eye-slash' : 'i-heroicons-eye'"
28
- :padded="false"
29
- @click="isShowPassword = !isShowPassword"
30
- />
31
- </template>
32
- </UInput>
33
- <UInput
34
- v-else
35
- v-model="value"
36
- v-maska:[maskOptions]
37
- :data-maska="mask"
38
- :data-maska-tokens="maskTokens"
39
- :data-maska-tokens-replace="maskTokensReplace"
40
- :data-maska-reversed="maskReversed"
41
- :data-maska-eager="maskEager"
42
- :disabled="wrapperProps.isDisabled"
43
- :leading-icon="leadingIcon"
44
- :trailing-icon="trailingIcon"
45
- :name="name"
46
- :placeholder="wrapperProps.placeholder"
47
- :type="type || 'text'"
48
- :autofocus="!!autoFocus"
49
- :icon="icon"
50
- :readonly="isReadonly"
51
- :ui="ui"
52
- />
53
- </FieldWrapper>
54
- </template>
55
- <script lang="ts" setup>
56
- import { _deepMerge, ref } from '#imports'
57
- import { type ITextFieldProps } from '#core/components/Form/InputText/types'
58
- import { useFieldHOC } from '#core/composables/useForm'
59
- import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
60
- import { vMaska } from 'maska'
61
-
62
- const props = withDefaults(defineProps<ITextFieldProps>(), {})
63
-
64
- const { value, wrapperProps } = useFieldHOC<string>(props)
65
-
66
- const isShowPassword = ref(false)
67
- </script>
1
+ <template>
2
+ <FieldWrapper v-bind="wrapperProps">
3
+ <UInput
4
+ v-if="type === 'password'"
5
+ v-model="value"
6
+ v-maska:[maskOptions]
7
+ :data-maska="mask"
8
+ :data-maska-tokens="maskTokens"
9
+ :data-maska-tokens-replace="maskTokensReplace"
10
+ :data-maska-reversed="maskReversed"
11
+ :data-maska-eager="maskEager"
12
+ :disabled="wrapperProps.isDisabled"
13
+ :leading-icon="leadingIcon"
14
+ :trailing-icon="trailingIcon"
15
+ :name="name"
16
+ :placeholder="wrapperProps.placeholder"
17
+ :type="isShowPassword ? 'text' : 'password'"
18
+ :autofocus="!!autoFocus"
19
+ :icon="icon"
20
+ :readonly="isReadonly"
21
+ :ui="_deepMerge({}, ui, { icon: { trailing: { pointer: '' } } })"
22
+ >
23
+ <template #trailing>
24
+ <UButton
25
+ color="gray"
26
+ variant="link"
27
+ :icon="isShowPassword ? 'i-heroicons-eye-slash' : 'i-heroicons-eye'"
28
+ :padded="false"
29
+ @click="isShowPassword = !isShowPassword"
30
+ />
31
+ </template>
32
+ </UInput>
33
+ <UInput
34
+ v-else
35
+ v-model="value"
36
+ v-maska:[maskOptions]
37
+ :data-maska="mask"
38
+ :data-maska-tokens="maskTokens"
39
+ :data-maska-tokens-replace="maskTokensReplace"
40
+ :data-maska-reversed="maskReversed"
41
+ :data-maska-eager="maskEager"
42
+ :disabled="wrapperProps.isDisabled"
43
+ :leading-icon="leadingIcon"
44
+ :trailing-icon="trailingIcon"
45
+ :name="name"
46
+ :placeholder="wrapperProps.placeholder"
47
+ :type="type || 'text'"
48
+ :autofocus="!!autoFocus"
49
+ :icon="icon"
50
+ :readonly="isReadonly"
51
+ :ui="ui"
52
+ />
53
+ </FieldWrapper>
54
+ </template>
55
+ <script lang="ts" setup>
56
+ import { _deepMerge, ref } from '#imports'
57
+ import { type ITextFieldProps } from '#core/components/Form/InputText/types'
58
+ import { useFieldHOC } from '#core/composables/useForm'
59
+ import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
60
+ import { vMaska } from 'maska'
61
+
62
+ const props = withDefaults(defineProps<ITextFieldProps>(), {})
63
+
64
+ const { value, wrapperProps } = useFieldHOC<string>(props)
65
+
66
+ const isShowPassword = ref(false)
67
+ </script>
@@ -1,25 +1,25 @@
1
- <template>
2
- <FieldWrapper v-bind="wrapperProps">
3
- <UTextarea
4
- v-model="value"
5
- :disabled="wrapperProps.isDisabled"
6
- :name="name"
7
- :resize="resize"
8
- :placeholder="wrapperProps.placeholder"
9
- :autofocus="!!autoFocus"
10
- :autoresize="autoresize"
11
- :rows="rows"
12
- :readonly="isReadonly"
13
- :ui="ui"
14
- />
15
- </FieldWrapper>
16
- </template>
17
- <script lang="ts" setup>
18
- import { useFieldHOC } from '#core/composables/useForm'
19
- import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
20
- import { type ITextareaFieldProps } from '#core/components/Form/InputTextarea/types'
21
-
22
- const props = withDefaults(defineProps<ITextareaFieldProps>(), {})
23
-
24
- const { value, wrapperProps } = useFieldHOC<string>(props)
25
- </script>
1
+ <template>
2
+ <FieldWrapper v-bind="wrapperProps">
3
+ <UTextarea
4
+ v-model="value"
5
+ :disabled="wrapperProps.isDisabled"
6
+ :name="name"
7
+ :resize="resize"
8
+ :placeholder="wrapperProps.placeholder"
9
+ :autofocus="!!autoFocus"
10
+ :autoresize="autoresize"
11
+ :rows="rows"
12
+ :readonly="isReadonly"
13
+ :ui="ui"
14
+ />
15
+ </FieldWrapper>
16
+ </template>
17
+ <script lang="ts" setup>
18
+ import { useFieldHOC } from '#core/composables/useForm'
19
+ import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
20
+ import { type ITextareaFieldProps } from '#core/components/Form/InputTextarea/types'
21
+
22
+ const props = withDefaults(defineProps<ITextareaFieldProps>(), {})
23
+
24
+ const { value, wrapperProps } = useFieldHOC<string>(props)
25
+ </script>
@@ -1,14 +1,14 @@
1
- <template>
2
- <FieldWrapper v-bind="wrapperProps">
3
- <UToggle v-model="value" :disabled="wrapperProps.isDisabled" :name="name" :ui="ui" />
4
- </FieldWrapper>
5
- </template>
6
-
7
- <script lang="ts" setup>
8
- import { useFieldHOC } from '#core/composables/useForm'
9
- import { type IToggleFieldProps } from '#core/components/Form/InputToggle/types'
10
- import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
11
-
12
- const props = withDefaults(defineProps<IToggleFieldProps>(), {})
13
- const { value, wrapperProps } = useFieldHOC<boolean>(props)
14
- </script>
1
+ <template>
2
+ <FieldWrapper v-bind="wrapperProps">
3
+ <UToggle v-model="value" :disabled="wrapperProps.isDisabled" :name="name" :ui="ui" />
4
+ </FieldWrapper>
5
+ </template>
6
+
7
+ <script lang="ts" setup>
8
+ import { useFieldHOC } from '#core/composables/useForm'
9
+ import { type IToggleFieldProps } from '#core/components/Form/InputToggle/types'
10
+ import FieldWrapper from '#core/components/Form/FieldWrapper.vue'
11
+
12
+ const props = withDefaults(defineProps<IToggleFieldProps>(), {})
13
+ const { value, wrapperProps } = useFieldHOC<boolean>(props)
14
+ </script>