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,7 +1,7 @@
1
1
  import o from "./HysCard2.vue.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const p = /* @__PURE__ */ r(o, [["__scopeId", "data-v-7c0b794e"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-4edda4d1"]]);
5
5
  export {
6
- p as default
6
+ m as default
7
7
  };
@@ -1,58 +1,191 @@
1
- import { defineComponent as n, openBlock as s, createElementBlock as o, mergeProps as u, unref as y, renderSlot as l, createElementVNode as d, toDisplayString as i, createCommentVNode as a, normalizeStyle as c } from "vue";
2
- import { useHysRootAttrs as h } from "../../config.js";
3
- const m = {
4
- key: 0,
5
- class: "hys-ui-card-head"
6
- }, f = {
1
+ import { defineComponent as P, useId as U, ref as A, computed as B, onDeactivated as j, onBeforeUnmount as G, onActivated as J, openBlock as l, createElementBlock as s, mergeProps as M, unref as b, renderSlot as d, createCommentVNode as r, normalizeStyle as z, normalizeClass as H, createElementVNode as L, createTextVNode as E, toDisplayString as C, Fragment as O, renderList as Q, createVNode as W, nextTick as X } from "vue";
2
+ import { useHysRootAttrs as Y } from "../../config.js";
3
+ import Z from "../HysSkeleton/HysSkeleton.vue.js";
4
+ const p = ["aria-busy"], _ = {
7
5
  key: 0,
6
+ class: "hys-ui-card-cover"
7
+ }, ee = { class: "hys-ui-card-heading" }, te = { key: 0 }, ae = {
8
+ key: 1,
8
9
  class: "hys-ui-muted hys-ui-small"
9
- }, b = ["aria-busy"], v = {
10
+ }, le = {
10
11
  key: 0,
11
- role: "status"
12
- }, $ = {
13
- key: 1,
14
- class: "hys-ui-card-foot"
15
- }, z = /* @__PURE__ */ n({
12
+ class: "hys-ui-card-extra"
13
+ }, se = {
14
+ key: 2,
15
+ class: "hys-ui-card-tabs-row"
16
+ }, oe = ["aria-label"], ie = ["id", "aria-selected", "aria-controls", "tabindex", "disabled", "onClick"], de = {
17
+ key: 0,
18
+ class: "hys-ui-card-extra"
19
+ }, ne = ["id", "role", "aria-labelledby", "tabindex", "aria-busy"], re = {
20
+ key: 3,
21
+ class: "hys-ui-card-actions"
22
+ }, ye = /* @__PURE__ */ P({
16
23
  __name: "HysCard",
17
24
  props: {
18
25
  title: {},
19
26
  subtitle: {},
27
+ footer: {},
20
28
  loading: { type: Boolean },
29
+ loadingText: { default: "加载中" },
21
30
  bordered: { type: Boolean, default: !0 },
22
31
  shadow: { default: "never" },
23
32
  bodyStyle: {},
24
- size: { default: "md" }
33
+ headerStyle: {},
34
+ footerStyle: {},
35
+ bodyClass: {},
36
+ headerClass: {},
37
+ footerClass: {},
38
+ size: { default: "md" },
39
+ hoverable: { type: Boolean },
40
+ type: { default: "default" },
41
+ tabs: {},
42
+ activeTab: {},
43
+ defaultActiveTab: {},
44
+ tabsLabel: { default: "卡片页签" }
25
45
  },
26
- setup(e) {
27
- const r = h();
28
- return (t, k) => (s(), o("section", u(y(r), {
29
- class: ["hys-ui-card", ["hys-ui-card-shadow-" + (e.shadow || "never"), "hys-ui-card-size-" + (e.size || "md")]],
30
- style: { border: e.bordered === !1 ? "0" : void 0 }
31
- }), [
32
- e.title || e.subtitle || t.$slots.header || t.$slots.action ? (s(), o("header", m, [
33
- l(t.$slots, "header", {}, () => [
34
- d("div", null, [
35
- d("h3", null, i(e.title), 1),
36
- e.subtitle ? (s(), o("p", f, i(e.subtitle), 1)) : a("", !0)
37
- ])
38
- ], !0),
39
- d("div", null, [
40
- l(t.$slots, "action", {}, void 0, !0)
41
- ])
42
- ])) : a("", !0),
43
- d("div", {
44
- class: "hys-ui-card-content",
45
- style: c(e.bodyStyle),
46
- "aria-busy": e.loading
47
- }, [
48
- e.loading ? (s(), o("div", v, "加载中…")) : l(t.$slots, "default", {}, void 0, !0, 1)
49
- ], 12, b),
50
- t.$slots.footer ? (s(), o("footer", $, [
51
- l(t.$slots, "footer", {}, void 0, !0)
52
- ])) : a("", !0)
53
- ], 16));
46
+ emits: ["update:activeTab", "tabChange"],
47
+ setup(t, { expose: q, emit: x }) {
48
+ const c = t, N = x, F = Y(), h = U(), f = A(), V = A(), S = A(c.defaultActiveTab), i = B(
49
+ () => {
50
+ var e;
51
+ return ((e = c.tabs) == null ? void 0 : e.filter((o) => !o.disabled)) ?? [];
52
+ }
53
+ ), n = B(
54
+ () => {
55
+ var e;
56
+ return c.activeTab ?? (i.value.some((o) => o.value === S.value) ? S.value : (e = i.value[0]) == null ? void 0 : e.value);
57
+ }
58
+ ), T = B(
59
+ () => {
60
+ var e;
61
+ return ((e = c.tabs) == null ? void 0 : e.findIndex((o) => o.value === n.value)) ?? -1;
62
+ }
63
+ );
64
+ let m = !0, w = 0;
65
+ async function D(e) {
66
+ if (!m || c.loading || e === n.value || !i.value.some((u) => u.value === e))
67
+ return;
68
+ const o = ++w;
69
+ S.value = e, N("update:activeTab", e), await X(), m && o === w && n.value === e && N("tabChange", e);
70
+ }
71
+ function K(e) {
72
+ var $, y;
73
+ const o = f.value && getComputedStyle(f.value).direction === "rtl", u = o ? "ArrowLeft" : "ArrowRight", g = o ? "ArrowRight" : "ArrowLeft";
74
+ if (c.loading || ![u, g, "Home", "End"].includes(e.key) || !i.value.length)
75
+ return;
76
+ e.preventDefault();
77
+ const k = i.value.findIndex((R) => R.value === n.value), v = e.key === "Home" ? 0 : e.key === "End" ? i.value.length - 1 : (k + (e.key === u ? 1 : -1) + i.value.length) % i.value.length, a = i.value[v];
78
+ D(a.value), (y = ($ = f.value) == null ? void 0 : $.querySelectorAll("button:not(:disabled)")[v]) == null || y.focus();
79
+ }
80
+ function I() {
81
+ m = !1, w++;
82
+ }
83
+ return j(I), G(I), J(() => m = !0), q({ element: V, activeTab: n }), (e, o) => {
84
+ var u, g, k, v;
85
+ return l(), s("section", M({
86
+ ref_key: "element",
87
+ ref: V
88
+ }, b(F), {
89
+ class: ["hys-ui-card", [
90
+ "hys-ui-card-shadow-" + t.shadow,
91
+ "hys-ui-card-size-" + t.size,
92
+ {
93
+ "hys-ui-card-hoverable": t.hoverable,
94
+ "hys-ui-card-inner": t.type === "inner",
95
+ "hys-ui-card-borderless": !t.bordered
96
+ }
97
+ ]],
98
+ "aria-busy": t.loading || void 0
99
+ }), [
100
+ e.$slots.cover ? (l(), s("div", _, [
101
+ d(e.$slots, "cover", {}, void 0, !0)
102
+ ])) : r("", !0),
103
+ t.title || t.subtitle || e.$slots.title || e.$slots.header || e.$slots.action ? (l(), s("header", {
104
+ key: 1,
105
+ class: H(["hys-ui-card-head", t.headerClass]),
106
+ style: z(t.headerStyle)
107
+ }, [
108
+ d(e.$slots, "header", {}, () => [
109
+ L("div", ee, [
110
+ t.title || e.$slots.title ? (l(), s("h3", te, [
111
+ d(e.$slots, "title", {}, () => [
112
+ E(C(t.title), 1)
113
+ ], !0)
114
+ ])) : r("", !0),
115
+ t.subtitle ? (l(), s("p", ae, C(t.subtitle), 1)) : r("", !0)
116
+ ])
117
+ ], !0),
118
+ e.$slots.action ? (l(), s("div", le, [
119
+ d(e.$slots, "action", {}, void 0, !0)
120
+ ])) : r("", !0)
121
+ ], 6)) : r("", !0),
122
+ (u = t.tabs) != null && u.length ? (l(), s("div", se, [
123
+ L("div", {
124
+ ref_key: "nav",
125
+ ref: f,
126
+ class: "hys-ui-card-tabs",
127
+ role: "tablist",
128
+ "aria-label": t.tabsLabel,
129
+ onKeydown: K
130
+ }, [
131
+ (l(!0), s(O, null, Q(t.tabs, (a, $) => {
132
+ var y;
133
+ return l(), s("button", {
134
+ id: b(h) + "-tab-" + $,
135
+ key: typeof a.value + ":" + a.value,
136
+ type: "button",
137
+ role: "tab",
138
+ "aria-selected": n.value === a.value,
139
+ "aria-controls": b(h) + "-body",
140
+ tabindex: n.value === a.value || T.value < 0 && ((y = i.value[0]) == null ? void 0 : y.value) === a.value ? 0 : -1,
141
+ disabled: t.loading || a.disabled,
142
+ onClick: (R) => D(a.value)
143
+ }, [
144
+ d(e.$slots, "tab", {
145
+ tab: a,
146
+ active: n.value === a.value
147
+ }, () => [
148
+ E(C(a.label), 1)
149
+ ], !0)
150
+ ], 8, ie);
151
+ }), 128))
152
+ ], 40, oe),
153
+ e.$slots["tab-extra"] ? (l(), s("div", de, [
154
+ d(e.$slots, "tab-extra", {}, void 0, !0)
155
+ ])) : r("", !0)
156
+ ])) : r("", !0),
157
+ L("div", {
158
+ id: b(h) + "-body",
159
+ class: H(["hys-ui-card-content", t.bodyClass]),
160
+ style: z(t.bodyStyle),
161
+ role: (g = t.tabs) != null && g.length ? "tabpanel" : void 0,
162
+ "aria-labelledby": (k = t.tabs) != null && k.length && T.value >= 0 ? b(h) + "-tab-" + T.value : void 0,
163
+ tabindex: (v = t.tabs) != null && v.length ? 0 : void 0,
164
+ "aria-busy": t.loading
165
+ }, [
166
+ t.loading ? d(e.$slots, "loading", {}, () => [
167
+ W(Z, {
168
+ "loading-text": t.loadingText,
169
+ lines: 3
170
+ }, null, 8, ["loading-text"])
171
+ ], !0, 0) : d(e.$slots, "default", { activeTab: n.value }, void 0, !0, 1)
172
+ ], 14, ne),
173
+ e.$slots.actions ? (l(), s("div", re, [
174
+ d(e.$slots, "actions", {}, void 0, !0)
175
+ ])) : r("", !0),
176
+ t.footer || e.$slots.footer ? (l(), s("footer", {
177
+ key: 4,
178
+ class: H(["hys-ui-card-foot", t.footerClass]),
179
+ style: z(t.footerStyle)
180
+ }, [
181
+ d(e.$slots, "footer", {}, () => [
182
+ E(C(t.footer), 1)
183
+ ], !0)
184
+ ], 6)) : r("", !0)
185
+ ], 16, p);
186
+ };
54
187
  }
55
188
  });
56
189
  export {
57
- z as default
190
+ ye as default
58
191
  };
@@ -1,196 +1,7 @@
1
- import { defineComponent as P, ref as C, watch as V, computed as S, openBlock as s, createElementBlock as n, mergeProps as T, unref as i, createElementVNode as D, withKeys as I, withModifiers as W, toDisplayString as L, createVNode as G, createBlock as B, Teleport as J, withDirectives as Q, vModelText as X, createCommentVNode as g, Fragment as q, renderList as E, renderSlot as Y, createTextVNode as Z, nextTick as ee } from "vue";
2
- import { ChevronDown as le, ChevronRight as te, Check as oe } from "lucide-vue-next";
3
- import { useHysRootAttrs as ae } from "../../config.js";
4
- import { useFloating as re } from "../../composables/useFloating.js";
5
- const se = ["disabled", "aria-expanded", "onKeydown"], ne = {
6
- key: 1,
7
- class: "hys-ui-v4-scroll hys-ui-cascader-results"
8
- }, ie = ["onClick"], ue = { key: 0 }, ce = {
9
- key: 2,
10
- class: "hys-ui-v4-columns"
11
- }, de = ["aria-label"], ye = ["disabled", "aria-current", "onClick"], be = /* @__PURE__ */ P({
12
- __name: "HysCascader",
13
- props: {
14
- modelValue: {},
15
- options: {},
16
- disabled: { type: Boolean },
17
- clearable: { type: Boolean },
18
- filterable: { type: Boolean },
19
- changeOnSelect: { type: Boolean },
20
- showAllLevels: { type: Boolean, default: !0 },
21
- separator: { default: " / " },
22
- placeholder: { default: "选择分类" }
23
- },
24
- emits: ["update:modelValue", "change", "clear"],
25
- setup(p, { emit: j }) {
26
- const r = p, A = j, N = ae(), $ = C(), v = C(), m = C(""), y = C([...r.modelValue]), { open: w, style: H, show: K, close: h } = re($, v, { matchWidth: !0 });
27
- V(() => r.modelValue, (e) => y.value = [...e]), V(w, (e) => {
28
- e && (y.value = [...r.modelValue], m.value = "");
29
- }), V(() => r.disabled, (e) => {
30
- e && h();
31
- });
32
- const U = S(() => {
33
- var t;
34
- const e = [r.options];
35
- let l = r.options;
36
- for (const o of y.value) {
37
- const a = l.find((c) => c.value === o);
38
- if (!((t = a == null ? void 0 : a.children) != null && t.length)) break;
39
- l = a.children, e.push(l);
40
- }
41
- return e;
42
- });
43
- function x(e) {
44
- A("update:modelValue", e), A("change", e);
45
- }
46
- function z(e, l) {
47
- var t, o;
48
- e.disabled || r.disabled || (y.value = [...y.value.slice(0, l), e.value], (r.changeOnSelect || !((t = e.children) != null && t.length)) && x(y.value), (o = e.children) != null && o.length || h(!0));
49
- }
50
- const _ = S(() => {
51
- let e = r.options;
52
- const l = r.modelValue.map((t) => {
53
- const o = e.find((a) => a.value === t);
54
- return e = (o == null ? void 0 : o.children) || [], (o == null ? void 0 : o.label) || t;
55
- });
56
- return r.showAllLevels ? l.join(r.separator) : l.at(-1);
57
- }), O = S(() => {
58
- const e = [];
59
- function l(t, o = [], a = [], c = !1) {
60
- var f;
61
- for (const d of t) {
62
- const k = c || d.disabled, u = [...o, d.label], b = [...a, d.value];
63
- !k && (!((f = d.children) != null && f.length) || r.changeOnSelect) && u.join(r.separator).toLocaleLowerCase().includes(m.value.toLocaleLowerCase()) && e.push({ label: u.join(r.separator), path: b }), d.children && l(d.children, u, b, k);
64
- }
65
- }
66
- return l(r.options), e;
67
- });
68
- async function R() {
69
- var e, l, t;
70
- r.disabled || (await K(), await ee(), (t = ((e = v.value) == null ? void 0 : e.querySelector("input")) || ((l = v.value) == null ? void 0 : l.querySelector(".hys-ui-v4-level button:not(:disabled)"))) == null || t.focus());
71
- }
72
- function F(e) {
73
- var o, a, c, f, d, k;
74
- if (e.isComposing || e.keyCode === 229) return;
75
- if (e.key === "Escape") {
76
- e.preventDefault(), h(!0);
77
- return;
78
- }
79
- const l = document.activeElement;
80
- let t = l == null ? void 0 : l.closest(".hys-ui-v4-level,.hys-ui-cascader-results");
81
- if ((l == null ? void 0 : l.tagName) === "INPUT") {
82
- if (e.key !== "ArrowDown") return;
83
- e.preventDefault(), (a = (o = v.value) == null ? void 0 : o.querySelector(".hys-ui-cascader-results button,.hys-ui-v4-level button:not(:disabled)")) == null || a.focus();
84
- return;
85
- }
86
- if (["ArrowUp", "ArrowDown", "Home", "End"].includes(e.key) && t) {
87
- e.preventDefault();
88
- const u = Array.from(t.querySelectorAll("button:not(:disabled)")), b = u.indexOf(l), M = e.key === "Home" ? 0 : e.key === "End" ? u.length - 1 : (b + (e.key === "ArrowUp" ? -1 : 1) + u.length) % u.length;
89
- (c = u[M]) == null || c.focus();
90
- } else if (t && ["ArrowLeft", "ArrowRight"].includes(e.key)) {
91
- e.preventDefault();
92
- const u = Array.from(((f = v.value) == null ? void 0 : f.querySelectorAll(".hys-ui-v4-level")) || []), b = u.indexOf(t);
93
- (k = (d = u[b + (e.key === "ArrowRight" ? 1 : -1)]) == null ? void 0 : d.querySelector("button:not(:disabled)")) == null || k.focus();
94
- }
95
- }
96
- return (e, l) => (s(), n("div", T(i(N), { class: "hys-ui-v4-relative" }), [
97
- D("button", {
98
- ref_key: "trigger",
99
- ref: $,
100
- class: "hys-ui-v4-control hys-ui-pf-select-trigger",
101
- type: "button",
102
- disabled: p.disabled,
103
- "aria-expanded": i(w),
104
- "aria-haspopup": "dialog",
105
- onClick: l[0] || (l[0] = (t) => i(w) ? i(h)() : R()),
106
- onKeydown: I(W(R, ["prevent"]), ["down"])
107
- }, [
108
- D("span", null, L(_.value || p.placeholder), 1),
109
- G(i(le), {
110
- size: 16,
111
- class: "hys-ui-pf-select-chevron"
112
- })
113
- ], 40, se),
114
- (s(), B(J, { to: "body" }, [
115
- i(w) ? (s(), n("div", T({
116
- key: 0,
117
- ref_key: "panel",
118
- ref: v
119
- }, i(N), {
120
- class: "hys-ui-v4-menu hys-ui-pf-select-menu",
121
- style: i(H),
122
- role: "dialog",
123
- "aria-label": "级联选择",
124
- onKeydown: F
125
- }), [
126
- p.filterable ? Q((s(), n("input", {
127
- key: 0,
128
- "onUpdate:modelValue": l[1] || (l[1] = (t) => m.value = t),
129
- class: "hys-ui-v4-control",
130
- placeholder: "搜索分类",
131
- "aria-label": "搜索分类"
132
- }, null, 512)), [
133
- [X, m.value]
134
- ]) : g("", !0),
135
- m.value ? (s(), n("div", ne, [
136
- (s(!0), n(q, null, E(O.value, (t) => (s(), n("button", {
137
- key: t.path.join("/"),
138
- type: "button",
139
- class: "hys-ui-v4-option",
140
- onClick: (o) => {
141
- x(t.path), i(h)(!0);
142
- }
143
- }, L(t.label), 9, ie))), 128)),
144
- O.value.length ? g("", !0) : (s(), n("p", ue, "无匹配分类"))
145
- ])) : (s(), n("div", ce, [
146
- (s(!0), n(q, null, E(U.value, (t, o) => (s(), n("div", {
147
- key: o,
148
- class: "hys-ui-v4-scroll hys-ui-v4-level",
149
- role: "group",
150
- "aria-label": "第" + (o + 1) + "级"
151
- }, [
152
- (s(!0), n(q, null, E(t, (a) => {
153
- var c;
154
- return s(), n("button", {
155
- key: a.value,
156
- type: "button",
157
- class: "hys-ui-v4-option",
158
- disabled: a.disabled,
159
- "aria-current": y.value[o] === a.value ? "true" : void 0,
160
- onClick: (f) => z(a, o)
161
- }, [
162
- Y(e.$slots, "option", { node: a }, () => [
163
- Z(L(a.label), 1)
164
- ]),
165
- (c = a.children) != null && c.length ? (s(), B(i(te), {
166
- key: 0,
167
- size: 15
168
- })) : y.value[o] === a.value ? (s(), B(i(oe), {
169
- key: 1,
170
- size: 15
171
- })) : g("", !0)
172
- ], 8, ye);
173
- }), 128))
174
- ], 8, de))), 128))
175
- ])),
176
- p.clearable && p.modelValue.length ? (s(), n("button", {
177
- key: 3,
178
- type: "button",
179
- class: "hys-ui-v4-option",
180
- onClick: l[2] || (l[2] = (t) => {
181
- x([]), A("clear"), i(h)(!0);
182
- })
183
- }, "清空选择")) : g("", !0),
184
- D("button", {
185
- type: "button",
186
- class: "hys-ui-v4-option",
187
- onClick: l[3] || (l[3] = (t) => i(h)(!0))
188
- }, "关闭")
189
- ], 16)) : g("", !0)
190
- ]))
191
- ], 16));
192
- }
193
- });
1
+ import o from "./HysCascader2.vue.js";
2
+ /* empty css */
3
+ import a from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const e = /* @__PURE__ */ a(o, [["__scopeId", "data-v-ab2e70d0"]]);
194
5
  export {
195
- be as default
6
+ e as default
196
7
  };