hys-ui 0.1.1 → 0.2.0

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 (225) hide show
  1. package/CHANGELOG.md +111 -0
  2. package/README.md +3 -1
  3. package/dist/components/HysAccordion/HysAccordion.vue.js +1 -1
  4. package/dist/components/HysAccordion/HysAccordion2.vue.js +181 -47
  5. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +7 -0
  6. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +627 -0
  7. package/dist/components/HysAvatar/HysAvatar.vue.js +5 -35
  8. package/dist/components/HysAvatar/HysAvatar2.vue.js +221 -2
  9. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +7 -0
  10. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +252 -0
  11. package/dist/components/HysBadge/HysBadge.vue.js +2 -2
  12. package/dist/components/HysBadge/HysBadge2.vue.js +154 -27
  13. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +5 -38
  14. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +74 -2
  15. package/dist/components/HysButton/HysButton.vue.js +2 -2
  16. package/dist/components/HysButton/HysButton2.vue.js +29 -28
  17. package/dist/components/HysCalendar/HysCalendar.vue.js +5 -92
  18. package/dist/components/HysCalendar/HysCalendar2.vue.js +803 -2
  19. package/dist/components/HysCard/HysCard.vue.js +2 -2
  20. package/dist/components/HysCard/HysCard2.vue.js +175 -42
  21. package/dist/components/HysCascader/HysCascader.vue.js +5 -194
  22. package/dist/components/HysCascader/HysCascader2.vue.js +760 -2
  23. package/dist/components/HysCascader/HysCascaderColumn.vue.js +7 -0
  24. package/dist/components/HysCascader/HysCascaderColumn2.vue.js +232 -0
  25. package/dist/components/HysCheckbox/HysCheckbox.vue.js +3 -3
  26. package/dist/components/HysCheckbox/HysCheckbox2.vue.js +180 -65
  27. package/dist/components/HysCheckboxGroup/HysCheckboxGroup.vue.js +7 -0
  28. package/dist/components/HysCheckboxGroup/HysCheckboxGroup2.vue.js +237 -0
  29. package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
  30. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +107 -106
  31. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  32. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +399 -392
  33. package/dist/components/HysDatePicker/HysDatePicker.vue.js +268 -139
  34. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +7 -0
  35. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +807 -0
  36. package/dist/components/HysDatePicker/HysDatePickerPanel.vue.js +7 -0
  37. package/dist/components/HysDatePicker/HysDatePickerPanel2.vue.js +357 -0
  38. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +268 -158
  39. package/dist/components/HysDivider/HysDivider.vue.js +2 -2
  40. package/dist/components/HysDivider/HysDivider2.vue.js +33 -13
  41. package/dist/components/HysFileManager/HysFileManager.vue.js +3 -3
  42. package/dist/components/HysFileManager/HysFileManager2.vue.js +43 -42
  43. package/dist/components/HysForm/HysForm.vue.js +3 -3
  44. package/dist/components/HysForm/HysForm2.vue.js +578 -92
  45. package/dist/components/HysFormItem/HysFormItem.vue.js +5 -85
  46. package/dist/components/HysFormItem/HysFormItem2.vue.js +521 -2
  47. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  48. package/dist/components/HysGantt/HysGantt2.vue.js +1369 -272
  49. package/dist/components/HysInput/HysInput.vue.js +2 -2
  50. package/dist/components/HysInput/HysInput2.vue.js +467 -120
  51. package/dist/components/HysMention/HysMention.vue.js +2 -2
  52. package/dist/components/HysMention/HysMention2.vue.js +89 -88
  53. package/dist/components/HysNumberInput/HysNumberInput.vue.js +2 -2
  54. package/dist/components/HysNumberInput/HysNumberInput2.vue.js +561 -79
  55. package/dist/components/HysOrgTree/HysOrgTree.vue.js +29 -26
  56. package/dist/components/HysPagination/HysPagination.vue.js +1 -1
  57. package/dist/components/HysPagination/HysPagination2.vue.js +2 -0
  58. package/dist/components/HysPermissionMatrix/HysPermissionMatrix.vue.js +2 -2
  59. package/dist/components/HysPermissionMatrix/HysPermissionMatrix2.vue.js +52 -51
  60. package/dist/components/HysRadio/HysRadio.vue.js +7 -0
  61. package/dist/components/HysRadio/HysRadio2.vue.js +180 -0
  62. package/dist/components/HysRadioGroup/HysRadioGroup.vue.js +2 -2
  63. package/dist/components/HysRadioGroup/HysRadioGroup2.vue.js +190 -65
  64. package/dist/components/HysRating/HysRating.vue.js +1 -1
  65. package/dist/components/HysRating/HysRating2.vue.js +288 -68
  66. package/dist/components/HysRichTextEditor/HysRichTextEditor.vue.js +1 -1
  67. package/dist/components/HysRichTextEditor/HysRichTextEditor2.vue.js +70 -69
  68. package/dist/components/HysSearch/HysSearch.vue.js +37 -36
  69. package/dist/components/HysSegmented/HysSegmented.vue.js +5 -63
  70. package/dist/components/HysSegmented/HysSegmented2.vue.js +273 -2
  71. package/dist/components/HysSelect/HysSelect.vue.js +3 -2
  72. package/dist/components/HysSelect/HysSelect2.vue.js +859 -185
  73. package/dist/components/HysSkeleton/HysSkeleton.vue.js +2 -2
  74. package/dist/components/HysSkeleton/HysSkeleton2.vue.js +126 -29
  75. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  76. package/dist/components/HysSlider/HysSlider2.vue.js +532 -59
  77. package/dist/components/HysSlider/SliderTooltip.vue.js +7 -0
  78. package/dist/components/HysSlider/SliderTooltip2.vue.js +156 -0
  79. package/dist/components/HysSteps/HysSteps.vue.js +1 -1
  80. package/dist/components/HysSteps/HysSteps2.vue.js +110 -36
  81. package/dist/components/HysSwitch/HysSwitch.vue.js +2 -2
  82. package/dist/components/HysSwitch/HysSwitch2.vue.js +232 -50
  83. package/dist/components/HysTable/HysTable.vue.js +2 -2
  84. package/dist/components/HysTable/HysTable2.vue.js +1473 -88
  85. package/dist/components/HysTable/HysTableFilterOptions.vue.js +7 -0
  86. package/dist/components/HysTable/HysTableFilterOptions2.vue.js +133 -0
  87. package/dist/components/HysTabs/HysTabs.vue.js +2 -2
  88. package/dist/components/HysTabs/HysTabs2.vue.js +262 -68
  89. package/dist/components/HysTagInput/HysTagInput.vue.js +43 -42
  90. package/dist/components/HysTextarea/HysTextarea.vue.js +138 -77
  91. package/dist/components/HysTransfer/HysTransfer.vue.js +5 -223
  92. package/dist/components/HysTransfer/HysTransfer2.vue.js +416 -2
  93. package/dist/components/HysTransfer/HysTransferPanel.vue.js +7 -0
  94. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +454 -0
  95. package/dist/components/HysTree/HysTree.vue.js +2 -3
  96. package/dist/components/HysTree/HysTree2.vue.js +641 -302
  97. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +5 -136
  98. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +558 -2
  99. package/dist/components/HysTreeSelect/HysTreeSelectPanel.vue.js +7 -0
  100. package/dist/components/HysTreeSelect/HysTreeSelectPanel2.vue.js +323 -0
  101. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  102. package/dist/components/HysUpload/HysUpload2.vue.js +77 -76
  103. package/dist/composables/autocomplete.js +50 -0
  104. package/dist/composables/avatar.js +57 -0
  105. package/dist/composables/calendar.js +96 -0
  106. package/dist/composables/cascader.js +79 -0
  107. package/dist/composables/choice.js +38 -0
  108. package/dist/composables/choiceModel.js +67 -0
  109. package/dist/composables/datePicker.js +227 -0
  110. package/dist/composables/formContext.js +92 -7
  111. package/dist/composables/formLayout.js +57 -0
  112. package/dist/composables/formValidation.js +240 -0
  113. package/dist/composables/ganttConflicts.js +143 -0
  114. package/dist/composables/numberInput.js +91 -0
  115. package/dist/composables/rating.js +16 -0
  116. package/dist/composables/selectOptions.js +54 -0
  117. package/dist/composables/table.js +150 -0
  118. package/dist/composables/textInput.js +34 -0
  119. package/dist/composables/transfer.js +63 -0
  120. package/dist/composables/tree.js +118 -0
  121. package/dist/composables/treeSelect.js +71 -0
  122. package/dist/composables/useCascader.js +438 -0
  123. package/dist/composables/useDatePicker.js +425 -0
  124. package/dist/composables/useFloating.js +97 -51
  125. package/dist/composables/useGanttDependencies.js +306 -0
  126. package/dist/composables/useGanttHistory.js +157 -0
  127. package/dist/composables/useGanttLabelResize.js +100 -0
  128. package/dist/composables/useTable.js +474 -0
  129. package/dist/composables/useTextareaSize.js +72 -0
  130. package/dist/composables/useTransfer.js +257 -0
  131. package/dist/composables/useTree.js +439 -0
  132. package/dist/composables/useTreeSelect.js +361 -0
  133. package/dist/index.js +149 -139
  134. package/dist/style.css +1 -1
  135. package/dist/types/components/HysAccordion/HysAccordion.vue.d.ts +61 -22
  136. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +201 -0
  137. package/dist/types/components/HysAvatar/HysAvatar.vue.d.ts +28 -15
  138. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +99 -0
  139. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +41 -4
  140. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +38 -10
  141. package/dist/types/components/HysButton/HysButton.vue.d.ts +0 -1
  142. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +119 -31
  143. package/dist/types/components/HysCard/HysCard.vue.d.ts +55 -7
  144. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +129 -41
  145. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +55 -0
  146. package/dist/types/components/HysCheckbox/HysCheckbox.vue.d.ts +50 -39
  147. package/dist/types/components/HysCheckboxGroup/HysCheckboxGroup.vue.d.ts +73 -0
  148. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +1 -1
  149. package/dist/types/components/HysDatePicker/HysDatePicker.vue.d.ts +66 -14
  150. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +90 -0
  151. package/dist/types/components/HysDatePicker/HysDatePickerPanel.vue.d.ts +93 -0
  152. package/dist/types/components/HysDateRangePicker/HysDateRangePicker.vue.d.ts +66 -14
  153. package/dist/types/components/HysDivider/HysDivider.vue.d.ts +8 -3
  154. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
  155. package/dist/types/components/HysForm/HysForm.vue.d.ts +110 -18
  156. package/dist/types/components/HysFormItem/HysFormItem.vue.d.ts +108 -2
  157. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +82 -4
  158. package/dist/types/components/HysInput/HysInput.vue.d.ts +52 -29
  159. package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -2
  160. package/dist/types/components/HysNumberInput/HysNumberInput.vue.d.ts +93 -35
  161. package/dist/types/components/HysOrgTree/HysOrgTree.vue.d.ts +1 -0
  162. package/dist/types/components/HysPagination/HysPagination.vue.d.ts +1 -1
  163. package/dist/types/components/HysPermissionMatrix/HysPermissionMatrix.vue.d.ts +2 -2
  164. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +3 -3
  165. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +1 -1
  166. package/dist/types/components/HysRadio/HysRadio.vue.d.ts +56 -0
  167. package/dist/types/components/HysRadioGroup/HysRadioGroup.vue.d.ts +34 -12
  168. package/dist/types/components/HysRating/HysRating.vue.d.ts +85 -5
  169. package/dist/types/components/HysRichTextEditor/HysRichTextEditor.vue.d.ts +4 -4
  170. package/dist/types/components/HysSearch/HysSearch.vue.d.ts +2 -2
  171. package/dist/types/components/HysSegmented/HysSegmented.vue.d.ts +64 -32
  172. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +120 -20
  173. package/dist/types/components/HysSkeleton/HysSkeleton.vue.d.ts +30 -2
  174. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +66 -9
  175. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +22 -0
  176. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +1 -1
  177. package/dist/types/components/HysSteps/HysSteps.vue.d.ts +64 -9
  178. package/dist/types/components/HysSwitch/HysSwitch.vue.d.ts +76 -17
  179. package/dist/types/components/HysTable/HysTable.vue.d.ts +206 -32
  180. package/dist/types/components/HysTable/HysTableFilterOptions.vue.d.ts +18 -0
  181. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +76 -23
  182. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +5 -5
  183. package/dist/types/components/HysTextarea/HysTextarea.vue.d.ts +44 -27
  184. package/dist/types/components/HysToast/HysToast.vue.d.ts +3 -3
  185. package/dist/types/components/HysTour/HysTour.vue.d.ts +2 -2
  186. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +55 -40
  187. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +105 -0
  188. package/dist/types/components/HysTree/HysTree.vue.d.ts +140 -73
  189. package/dist/types/components/HysTreeSelect/HysTreeSelect.vue.d.ts +102 -23
  190. package/dist/types/components/HysTreeSelect/HysTreeSelectPanel.vue.d.ts +56 -0
  191. package/dist/types/composables/autocomplete.d.ts +106 -0
  192. package/dist/types/composables/avatar.d.ts +70 -0
  193. package/dist/types/composables/calendar.d.ts +66 -0
  194. package/dist/types/composables/cascader.d.ts +192 -0
  195. package/dist/types/composables/choice.d.ts +110 -0
  196. package/dist/types/composables/choiceModel.d.ts +11 -0
  197. package/dist/types/composables/datePicker.d.ts +247 -0
  198. package/dist/types/composables/formContext.d.ts +133 -8
  199. package/dist/types/composables/formLayout.d.ts +11 -0
  200. package/dist/types/composables/formValidation.d.ts +13 -0
  201. package/dist/types/composables/gantt.d.ts +68 -0
  202. package/dist/types/composables/ganttConflicts.d.ts +30 -0
  203. package/dist/types/composables/numberInput.d.ts +45 -0
  204. package/dist/types/composables/rating.d.ts +18 -0
  205. package/dist/types/composables/segmented.d.ts +15 -0
  206. package/dist/types/composables/selectOptions.d.ts +44 -0
  207. package/dist/types/composables/slider.d.ts +21 -0
  208. package/dist/types/composables/table.d.ts +309 -0
  209. package/dist/types/composables/textInput.d.ts +76 -0
  210. package/dist/types/composables/transfer.d.ts +180 -0
  211. package/dist/types/composables/tree.d.ts +237 -0
  212. package/dist/types/composables/treeSelect.d.ts +167 -0
  213. package/dist/types/composables/useCascader.d.ts +162 -0
  214. package/dist/types/composables/useDatePicker.d.ts +79 -0
  215. package/dist/types/composables/useFloating.d.ts +8 -5
  216. package/dist/types/composables/useGanttDependencies.d.ts +83 -0
  217. package/dist/types/composables/useGanttHistory.d.ts +42 -0
  218. package/dist/types/composables/useGanttLabelResize.d.ts +23 -0
  219. package/dist/types/composables/useTable.d.ts +60 -0
  220. package/dist/types/composables/useTextareaSize.d.ts +3 -0
  221. package/dist/types/composables/useTransfer.d.ts +58 -0
  222. package/dist/types/composables/useTree.d.ts +77 -0
  223. package/dist/types/composables/useTreeSelect.d.ts +117 -0
  224. package/dist/types/index.d.ts +33 -7
  225. package/package.json +2 -1
@@ -1,90 +1,151 @@
1
- import { defineComponent as H, ref as w, useAttrs as A, inject as E, useId as F, computed as I, watch as R, onMounted as q, openBlock as f, createElementBlock as b, mergeProps as z, unref as a, toDisplayString as h, createCommentVNode as B, createElementVNode as M, nextTick as O } from "vue";
2
- import { useHysRootAttrs as T } from "../../config.js";
3
- import { fieldKey as N } from "../../composables/formContext.js";
4
- const S = { key: 0 }, D = ["value", "rows", "maxlength", "placeholder", "disabled", "readonly", "id", "aria-label", "aria-invalid", "aria-required", "aria-describedby"], K = ["id"], P = { key: 2 }, J = /* @__PURE__ */ H({
1
+ import { defineComponent as y, ref as v, useAttrs as c, computed as i, openBlock as B, createBlock as $, mergeProps as g, unref as b, createSlots as C, withCtx as l, renderSlot as r, normalizeProps as k, guardReactiveProps as w } from "vue";
2
+ import x from "../HysInput/HysInput.vue.js";
3
+ const I = /* @__PURE__ */ y({
5
4
  inheritAttrs: !1,
6
5
  __name: "HysTextarea",
7
6
  props: {
8
- modelValue: { default: "" },
9
- label: {},
7
+ modelValue: {},
8
+ defaultValue: {},
10
9
  placeholder: {},
11
- rows: { default: 4 },
12
- maxlength: {},
10
+ label: {},
13
11
  disabled: { type: Boolean },
14
12
  readonly: { type: Boolean },
13
+ ariaLabel: {},
15
14
  error: {},
16
- showCount: { type: Boolean, default: !0 },
15
+ status: {},
16
+ clearable: { type: Boolean },
17
+ clearIcon: {},
18
+ prefixIcon: {},
19
+ suffixIcon: {},
20
+ showCount: { type: [Boolean, Object], default: void 0 },
21
+ showWordLimit: { type: Boolean },
22
+ countPosition: { default: "inside" },
23
+ wordLimitPosition: {},
24
+ countGraphemes: { type: [Boolean, Function] },
25
+ maxlength: {},
26
+ minlength: {},
27
+ formatter: {},
28
+ parser: {},
29
+ allowInput: {},
30
+ autocomplete: {},
31
+ name: {},
32
+ size: {},
33
+ rows: { default: 4 },
17
34
  autosize: { type: [Boolean, Object] },
18
- resize: { default: "vertical" }
35
+ resize: { default: "vertical" },
36
+ inputProps: {},
37
+ autofocus: { type: Boolean },
38
+ selectOnFocus: { type: Boolean },
39
+ bordered: { type: Boolean, default: !0 },
40
+ round: { type: Boolean }
19
41
  },
20
- emits: ["update:modelValue", "input", "change", "focus", "blur"],
21
- setup(t, { expose: C, emit: V }) {
22
- const i = t, d = V, k = T(), n = w(), v = w(!1), s = A(), r = E(N, void 0), g = F(), j = I(() => i.error || (r == null ? void 0 : r.error.value));
23
- async function y() {
24
- await O();
25
- const e = n.value;
26
- if (!e || !i.autosize) return;
27
- const l = typeof i.autosize == "object" ? i.autosize : {}, u = getComputedStyle(e), m = parseFloat(u.lineHeight) || 21, c = parseFloat(u.paddingTop) + parseFloat(u.paddingBottom) + 2;
28
- e.style.height = "auto", e.style.height = Math.min((l.maxRows ?? 1 / 0) * m + c, Math.max((l.minRows ?? 1) * m + c, e.scrollHeight + 2)) + "px", e.style.overflowY = e.scrollHeight > e.clientHeight ? "auto" : "hidden";
29
- }
30
- function x(e) {
31
- if (v.value || i.disabled || i.readonly) return;
32
- const l = e.target.value;
33
- d("update:modelValue", l), d("input", l), y();
34
- }
35
- return R(() => [i.modelValue, i.autosize], y, { deep: !0 }), q(y), C({ input: n, focus: () => {
36
- var e;
37
- return (e = n.value) == null ? void 0 : e.focus();
38
- }, blur: () => {
39
- var e;
40
- return (e = n.value) == null ? void 0 : e.blur();
41
- }, select: () => {
42
- var e;
43
- return (e = n.value) == null ? void 0 : e.select();
44
- }, resize: y }), (e, l) => {
45
- var u, m, c, p;
46
- return f(), b("label", z(a(k), {
47
- class: ["hys-ui-ex-field", a(s).class],
48
- style: a(s).style
49
- }), [
50
- t.label ? (f(), b("span", S, h(t.label), 1)) : B("", !0),
51
- M("textarea", z({
52
- ref_key: "input",
53
- ref: n
54
- }, Object.fromEntries(Object.entries(a(s)).filter(([o]) => !["class", "style"].includes(o))), {
55
- class: "hys-ui-ex-control",
56
- value: t.modelValue,
57
- rows: t.rows,
58
- maxlength: t.maxlength,
59
- placeholder: t.placeholder,
60
- disabled: t.disabled,
61
- readonly: t.readonly,
62
- id: a(s).id || ((u = a(r)) == null ? void 0 : u.id.value),
63
- "data-hys-ui-field-managed": "",
64
- "aria-label": a(s)["aria-label"] || t.label || ((m = a(r)) == null ? void 0 : m.label.value),
65
- "aria-invalid": !!j.value || void 0,
66
- "aria-required": ((c = a(r)) == null ? void 0 : c.required.value) || void 0,
67
- "aria-describedby": [t.error ? a(g) : (p = a(r)) == null ? void 0 : p.describedBy.value, a(s)["aria-describedby"]].filter(Boolean).join(" ") || void 0,
68
- style: { resize: t.autosize ? "none" : i.resize },
69
- onInput: x,
70
- onCompositionstart: l[0] || (l[0] = (o) => v.value = !0),
71
- onCompositionend: l[1] || (l[1] = (o) => {
72
- v.value = !1, x(o);
73
- }),
74
- onChange: l[2] || (l[2] = (o) => d("change", o.target.value)),
75
- onFocus: l[3] || (l[3] = (o) => d("focus", o)),
76
- onBlur: l[4] || (l[4] = (o) => d("blur", o))
77
- }), null, 16, D),
78
- t.error ? (f(), b("small", {
79
- key: 1,
80
- id: a(g),
81
- class: "hys-ui-ex-error",
82
- role: "alert"
83
- }, h(t.error), 9, K)) : t.showCount && t.maxlength ? (f(), b("small", P, h(t.modelValue.length) + " / " + h(t.maxlength), 1)) : B("", !0)
84
- ], 16);
85
- };
42
+ emits: ["update:modelValue", "input", "change", "clear", "focus", "blur", "pressEnter", "compositionstart", "compositionupdate", "compositionend"],
43
+ setup(u, { expose: d, emit: m }) {
44
+ const a = u, s = m, n = v(), f = c();
45
+ return d({
46
+ input: i(() => {
47
+ var e;
48
+ return (e = n.value) == null ? void 0 : e.textarea;
49
+ }),
50
+ textarea: i(() => {
51
+ var e;
52
+ return (e = n.value) == null ? void 0 : e.textarea;
53
+ }),
54
+ isComposing: i(() => {
55
+ var e;
56
+ return ((e = n.value) == null ? void 0 : e.isComposing) ?? !1;
57
+ }),
58
+ focus: (e) => {
59
+ var o;
60
+ return (o = n.value) == null ? void 0 : o.focus(e);
61
+ },
62
+ blur: () => {
63
+ var e;
64
+ return (e = n.value) == null ? void 0 : e.blur();
65
+ },
66
+ select: () => {
67
+ var e;
68
+ return (e = n.value) == null ? void 0 : e.select();
69
+ },
70
+ clear: () => {
71
+ var e;
72
+ return (e = n.value) == null ? void 0 : e.clear();
73
+ },
74
+ resize: () => {
75
+ var e;
76
+ return ((e = n.value) == null ? void 0 : e.resize()) ?? Promise.resolve();
77
+ },
78
+ setSelectionRange: (e, o, t) => {
79
+ var p;
80
+ return (p = n.value) == null ? void 0 : p.setSelectionRange(e, o, t);
81
+ },
82
+ scrollTo: (e) => {
83
+ var o;
84
+ return (o = n.value) == null ? void 0 : o.scrollTo(e);
85
+ }
86
+ }), (e, o) => (B(), $(x, g({
87
+ ref_key: "control",
88
+ ref: n
89
+ }, { ...a, ...b(f) }, {
90
+ "show-count": a.showCount ?? a.maxlength !== void 0,
91
+ type: "textarea",
92
+ class: "hys-ui-ex-field",
93
+ "onUpdate:modelValue": o[0] || (o[0] = (t) => s("update:modelValue", t)),
94
+ onInput: o[1] || (o[1] = (t) => s("input", t)),
95
+ onChange: o[2] || (o[2] = (t) => s("change", t)),
96
+ onClear: o[3] || (o[3] = (t) => s("clear")),
97
+ onFocus: o[4] || (o[4] = (t) => s("focus", t)),
98
+ onBlur: o[5] || (o[5] = (t) => s("blur", t)),
99
+ onPressEnter: o[6] || (o[6] = (t) => s("pressEnter", t)),
100
+ onCompositionstart: o[7] || (o[7] = (t) => s("compositionstart", t)),
101
+ onCompositionupdate: o[8] || (o[8] = (t) => s("compositionupdate", t)),
102
+ onCompositionend: o[9] || (o[9] = (t) => s("compositionend", t))
103
+ }), C({ _: 2 }, [
104
+ e.$slots.prefix ? {
105
+ name: "prefix",
106
+ fn: l(() => [
107
+ r(e.$slots, "prefix")
108
+ ]),
109
+ key: "0"
110
+ } : void 0,
111
+ e.$slots.suffix ? {
112
+ name: "suffix",
113
+ fn: l(() => [
114
+ r(e.$slots, "suffix")
115
+ ]),
116
+ key: "1"
117
+ } : void 0,
118
+ e.$slots.prepend ? {
119
+ name: "prepend",
120
+ fn: l(() => [
121
+ r(e.$slots, "prepend")
122
+ ]),
123
+ key: "2"
124
+ } : void 0,
125
+ e.$slots.append ? {
126
+ name: "append",
127
+ fn: l(() => [
128
+ r(e.$slots, "append")
129
+ ]),
130
+ key: "3"
131
+ } : void 0,
132
+ e.$slots["clear-icon"] ? {
133
+ name: "clear-icon",
134
+ fn: l(() => [
135
+ r(e.$slots, "clear-icon")
136
+ ]),
137
+ key: "4"
138
+ } : void 0,
139
+ e.$slots.count ? {
140
+ name: "count",
141
+ fn: l((t) => [
142
+ r(e.$slots, "count", k(w(t)))
143
+ ]),
144
+ key: "5"
145
+ } : void 0
146
+ ]), 1040, ["show-count"]));
86
147
  }
87
148
  });
88
149
  export {
89
- J as default
150
+ I as default
90
151
  };
@@ -1,225 +1,7 @@
1
- import { defineComponent as Z, ref as y, computed as q, onDeactivated as R, openBlock as d, createElementBlock as V, mergeProps as _, unref as c, createElementVNode as r, normalizeClass as k, toDisplayString as o, createBlock as w, createCommentVNode as L, createVNode as f, TransitionGroup as F, withCtx as h, Fragment as O, renderList as P, renderSlot as U, createTextVNode as j } from "vue";
2
- import I from "../HysCheckbox/HysCheckbox.vue.js";
3
- import x from "../HysSearch/HysSearch.vue.js";
4
- import J from "../HysButton/HysButton.vue.js";
5
- import { useHysRootAttrs as ee } from "../../config.js";
6
- import { GripVertical as M, ChevronRight as ae, ChevronLeft as le } from "lucide-vue-next";
7
- const se = { class: "hys-ui-pf-transfer-header" }, te = { class: "hys-ui-v4-move" }, re = { class: "hys-ui-pf-transfer-header" }, ne = {
8
- class: "hys-ui-pf-transfer-status",
9
- role: "status"
10
- }, ce = /* @__PURE__ */ Z({
11
- __name: "HysTransfer",
12
- props: {
13
- modelValue: {},
14
- options: {},
15
- disabled: { type: Boolean },
16
- filterable: { type: Boolean, default: !0 },
17
- titles: {}
18
- },
19
- emits: ["update:modelValue", "change", "checkChange"],
20
- setup(n, { emit: Q }) {
21
- const W = ee(), s = n, T = Q, m = y([]), b = y([]), C = y(""), z = q(() => s.options.filter((l) => !s.modelValue.includes(l.value) && l.label.toLowerCase().includes(C.value.toLowerCase()))), S = q(() => s.options.filter((l) => s.modelValue.includes(l.value))), X = Symbol("empty-available"), Y = Symbol("empty-selected"), g = y(null), p = y(null), N = y("");
22
- function B(l, a = l ? m.value : b.value) {
23
- if (s.disabled) return;
24
- const t = a.filter((e) => s.options.some((u) => u.value === e && !u.disabled)), i = l ? [.../* @__PURE__ */ new Set([...s.modelValue, ...t])] : s.modelValue.filter((e) => !t.includes(e));
25
- if (i.length !== s.modelValue.length) {
26
- const e = t.filter((u) => l ? !s.modelValue.includes(u) : s.modelValue.includes(u));
27
- T("update:modelValue", i), T("change", i, l ? "right" : "left", e), N.value = l ? "已移入已选择区域" : "已移回待选择区域";
28
- }
29
- m.value = [], b.value = [];
30
- }
31
- function $(l, a, t) {
32
- if (s.disabled) return;
33
- const i = a ? b : m;
34
- i.value = t ? [...i.value, l] : i.value.filter((e) => e !== l), T("checkChange", a ? "right" : "left", [...i.value]);
35
- }
36
- function A(l, a, t) {
37
- if (s.disabled || a.disabled || !l.dataTransfer) {
38
- l.preventDefault();
39
- return;
40
- }
41
- g.value = { value: a.value, fromSelected: t }, l.dataTransfer.effectAllowed = "move", l.dataTransfer.setData("text/plain", a.value);
42
- }
43
- function E(l) {
44
- const a = g.value;
45
- return !s.disabled && !!a && a.fromSelected !== l && s.modelValue.includes(a.value) === a.fromSelected && s.options.some((t) => t.value === a.value && !t.disabled);
46
- }
47
- function H(l, a) {
48
- E(a) && (l.preventDefault(), l.dataTransfer && (l.dataTransfer.dropEffect = "move"), p.value = a);
49
- }
50
- function G(l) {
51
- l.relatedTarget instanceof Node && l.currentTarget.contains(l.relatedTarget) || (p.value = null);
52
- }
53
- function D() {
54
- g.value = null, p.value = null;
55
- }
56
- function K(l, a) {
57
- if (!E(a)) {
58
- D();
59
- return;
60
- }
61
- l.preventDefault(), B(a, [g.value.value]), D();
62
- }
63
- return R(D), (l, a) => {
64
- var t, i;
65
- return d(), V("div", _(c(W), { class: "hys-ui-v4-transfer hys-ui-pf-transfer" }), [
66
- r("section", {
67
- class: k(["hys-ui-v4-pane", { "hys-ui-is-drop-target": p.value === !1 }]),
68
- "aria-label": "待选择",
69
- onDragover: a[1] || (a[1] = (e) => H(e, !1)),
70
- onDragleave: G,
71
- onDrop: a[2] || (a[2] = (e) => K(e, !1))
72
- }, [
73
- r("header", se, [
74
- r("strong", null, o(((t = n.titles) == null ? void 0 : t[0]) || "待选择"), 1),
75
- r("span", null, o(z.value.length), 1)
76
- ]),
77
- n.filterable ? (d(), w(x, {
78
- key: 0,
79
- modelValue: C.value,
80
- "onUpdate:modelValue": a[0] || (a[0] = (e) => C.value = e),
81
- class: "hys-ui-pf-transfer-search",
82
- placeholder: "筛选成员",
83
- "aria-label": "筛选成员",
84
- disabled: n.disabled,
85
- delay: 0
86
- }, null, 8, ["modelValue", "disabled"])) : L("", !0),
87
- f(F, {
88
- name: "hys-ui-transfer-motion",
89
- tag: "div",
90
- class: "hys-ui-pf-transfer-list"
91
- }, {
92
- default: h(() => [
93
- (d(!0), V(O, null, P(z.value, (e) => {
94
- var u;
95
- return d(), w(I, {
96
- "model-value": m.value.includes(e.value),
97
- disabled: n.disabled || e.disabled,
98
- "aria-label": e.label,
99
- onChange: (v) => $(e.value, !1, v),
100
- key: e.value,
101
- class: k(["hys-ui-v4-option", { "hys-ui-is-checked": m.value.includes(e.value), "hys-ui-is-disabled": e.disabled, "hys-ui-is-dragging": ((u = g.value) == null ? void 0 : u.value) === e.value }]),
102
- draggable: !n.disabled && !e.disabled,
103
- title: e.disabled ? void 0 : "拖动到已选择区域",
104
- onDragstart: (v) => A(v, e, !1),
105
- onDragend: D
106
- }, {
107
- default: h(() => [
108
- r("span", null, [
109
- U(l.$slots, "option", { option: e }, () => [
110
- j(o(e.label), 1)
111
- ])
112
- ]),
113
- f(c(M), {
114
- class: "hys-ui-pf-transfer-grip",
115
- size: 12,
116
- "aria-hidden": "true"
117
- })
118
- ]),
119
- _: 2
120
- }, 1032, ["model-value", "disabled", "aria-label", "onChange", "class", "draggable", "title", "onDragstart"]);
121
- }), 128)),
122
- z.value.length ? L("", !0) : (d(), V("p", {
123
- key: c(X),
124
- class: "hys-ui-pf-transfer-empty"
125
- }, o(C.value ? "无匹配成员" : "暂无待选成员"), 1))
126
- ]),
127
- _: 3
128
- })
129
- ], 34),
130
- r("div", te, [
131
- f(J, {
132
- variant: "secondary",
133
- size: "sm",
134
- class: "hys-ui-v4-control",
135
- disabled: n.disabled || !m.value.length,
136
- onClick: a[3] || (a[3] = (e) => B(!0)),
137
- "aria-label": "添加选中项"
138
- }, {
139
- default: h(() => [
140
- f(c(ae), {
141
- size: 16,
142
- "aria-hidden": "true"
143
- })
144
- ]),
145
- _: 1
146
- }, 8, ["disabled"]),
147
- f(J, {
148
- variant: "secondary",
149
- size: "sm",
150
- class: "hys-ui-v4-control",
151
- disabled: n.disabled || !b.value.length,
152
- onClick: a[4] || (a[4] = (e) => B(!1)),
153
- "aria-label": "移除选中项"
154
- }, {
155
- default: h(() => [
156
- f(c(le), {
157
- size: 16,
158
- "aria-hidden": "true"
159
- })
160
- ]),
161
- _: 1
162
- }, 8, ["disabled"])
163
- ]),
164
- r("section", {
165
- class: k(["hys-ui-v4-pane", { "hys-ui-is-drop-target": p.value === !0 }]),
166
- "aria-label": "已选择",
167
- onDragover: a[5] || (a[5] = (e) => H(e, !0)),
168
- onDragleave: G,
169
- onDrop: a[6] || (a[6] = (e) => K(e, !0))
170
- }, [
171
- r("header", re, [
172
- r("strong", null, o(((i = n.titles) == null ? void 0 : i[1]) || "已选择"), 1),
173
- r("span", null, o(S.value.length), 1)
174
- ]),
175
- f(F, {
176
- name: "hys-ui-transfer-motion",
177
- tag: "div",
178
- class: "hys-ui-pf-transfer-list"
179
- }, {
180
- default: h(() => [
181
- (d(!0), V(O, null, P(S.value, (e) => {
182
- var u;
183
- return d(), w(I, {
184
- "model-value": b.value.includes(e.value),
185
- disabled: n.disabled || e.disabled,
186
- "aria-label": e.label,
187
- onChange: (v) => $(e.value, !0, v),
188
- key: e.value,
189
- class: k(["hys-ui-v4-option", { "hys-ui-is-checked": b.value.includes(e.value), "hys-ui-is-disabled": e.disabled, "hys-ui-is-dragging": ((u = g.value) == null ? void 0 : u.value) === e.value }]),
190
- draggable: !n.disabled && !e.disabled,
191
- title: e.disabled ? void 0 : "拖动到待选择区域",
192
- onDragstart: (v) => A(v, e, !0),
193
- onDragend: D
194
- }, {
195
- default: h(() => [
196
- r("span", null, [
197
- U(l.$slots, "option", { option: e }, () => [
198
- j(o(e.label), 1)
199
- ])
200
- ]),
201
- f(c(M), {
202
- class: "hys-ui-pf-transfer-grip",
203
- size: 12,
204
- "aria-hidden": "true"
205
- })
206
- ]),
207
- _: 2
208
- }, 1032, ["model-value", "disabled", "aria-label", "onChange", "class", "draggable", "title", "onDragstart"]);
209
- }), 128)),
210
- S.value.length ? L("", !0) : (d(), V("p", {
211
- key: c(Y),
212
- class: "hys-ui-pf-transfer-empty"
213
- }, "暂无已选成员"))
214
- ]),
215
- _: 3
216
- })
217
- ], 34),
218
- r("span", ne, o(N.value), 1)
219
- ], 16);
220
- };
221
- }
222
- });
1
+ import o from "./HysTransfer2.vue.js";
2
+ /* empty css */
3
+ import r from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-0d8bcb72"]]);
223
5
  export {
224
- ce as default
6
+ f as default
225
7
  };