hys-ui 0.2.0 → 0.3.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 (201) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +15 -1
  3. package/dist/components/HysAlert/HysAlert.vue.js +5 -54
  4. package/dist/components/HysAlert/HysAlert2.vue.js +159 -2
  5. package/dist/components/HysAutocomplete/HysAutocomplete.vue.js +2 -2
  6. package/dist/components/HysAutocomplete/HysAutocomplete2.vue.js +285 -273
  7. package/dist/components/HysAvatarGroup/HysAvatarGroup.vue.js +1 -1
  8. package/dist/components/HysAvatarGroup/HysAvatarGroup2.vue.js +102 -98
  9. package/dist/components/HysBreadcrumb/HysBreadcrumb.vue.js +1 -1
  10. package/dist/components/HysBreadcrumb/HysBreadcrumb2.vue.js +273 -59
  11. package/dist/components/HysCalendar/HysCalendar.vue.js +3 -3
  12. package/dist/components/HysCalendar/HysCalendar2.vue.js +237 -225
  13. package/dist/components/HysCascader/HysCascader.vue.js +2 -2
  14. package/dist/components/HysCascader/HysCascader2.vue.js +337 -324
  15. package/dist/components/HysColorPicker/HysColorPanel.vue.js +7 -0
  16. package/dist/components/HysColorPicker/HysColorPanel2.vue.js +238 -0
  17. package/dist/components/HysColorPicker/HysColorPicker.vue.js +2 -2
  18. package/dist/components/HysColorPicker/HysColorPicker2.vue.js +239 -217
  19. package/dist/components/HysCommandPalette/HysCommandPalette.vue.js +90 -76
  20. package/dist/components/HysContextMenu/HysContextMenu.vue.js +5 -89
  21. package/dist/components/HysContextMenu/HysContextMenu2.vue.js +247 -2
  22. package/dist/components/HysContextMenu/HysMenuPanel.vue.js +7 -0
  23. package/dist/components/HysContextMenu/HysMenuPanel2.vue.js +208 -0
  24. package/dist/components/HysContextMenu/HysMenuSlot.js +10 -0
  25. package/dist/components/HysDataGrid/HysDataGrid.vue.js +1 -1
  26. package/dist/components/HysDataGrid/HysDataGrid2.vue.js +1008 -559
  27. package/dist/components/HysDatePicker/HysDatePicker.vue.js +2 -0
  28. package/dist/components/HysDatePicker/HysDatePickerControl.vue.js +2 -2
  29. package/dist/components/HysDatePicker/HysDatePickerControl2.vue.js +539 -526
  30. package/dist/components/HysDateRangePicker/HysDateRangePicker.vue.js +5 -3
  31. package/dist/components/HysDrawer/HysDrawer.vue.js +1 -1
  32. package/dist/components/HysDrawer/HysDrawer2.vue.js +434 -84
  33. package/dist/components/HysEmpty/HysEmpty.vue.js +5 -41
  34. package/dist/components/HysEmpty/HysEmpty2.vue.js +181 -2
  35. package/dist/components/HysFormItem/HysFormItem.vue.js +2 -2
  36. package/dist/components/HysFormItem/HysFormItem2.vue.js +171 -164
  37. package/dist/components/HysGantt/HysGantt.vue.js +1 -1
  38. package/dist/components/HysGantt/HysGantt2.vue.js +810 -795
  39. package/dist/components/HysMention/HysMention.vue.js +1 -1
  40. package/dist/components/HysMention/HysMention2.vue.js +112 -100
  41. package/dist/components/HysModal/HysModal.vue.js +2 -2
  42. package/dist/components/HysModal/HysModal2.vue.js +490 -85
  43. package/dist/components/HysPopover/HysPopover.vue.js +5 -91
  44. package/dist/components/HysPopover/HysPopover2.vue.js +120 -2
  45. package/dist/components/HysProgress/HysProgress.vue.js +2 -2
  46. package/dist/components/HysProgress/HysProgress2.vue.js +319 -52
  47. package/dist/components/HysSelect/HysSelect.vue.js +2 -2
  48. package/dist/components/HysSelect/HysSelect2.vue.js +730 -594
  49. package/dist/components/HysSlider/HysSlider.vue.js +2 -2
  50. package/dist/components/HysSlider/HysSlider2.vue.js +192 -188
  51. package/dist/components/HysSlider/SliderTooltip.vue.js +2 -2
  52. package/dist/components/HysSlider/SliderTooltip2.vue.js +103 -89
  53. package/dist/components/HysTable/HysTable.vue.js +2 -2
  54. package/dist/components/HysTable/HysTable2.vue.js +389 -368
  55. package/dist/components/HysTagInput/HysTagInput.vue.js +5 -82
  56. package/dist/components/HysTagInput/HysTagInput2.vue.js +396 -2
  57. package/dist/components/HysTimeline/HysTimeline.vue.js +2 -2
  58. package/dist/components/HysTimeline/HysTimeline2.vue.js +243 -24
  59. package/dist/components/HysTooltip/HysTooltip.vue.js +5 -64
  60. package/dist/components/HysTooltip/HysTooltip2.vue.js +110 -2
  61. package/dist/components/HysTour/HysTour.vue.js +46 -42
  62. package/dist/components/HysTransfer/HysTransfer.vue.js +2 -2
  63. package/dist/components/HysTransfer/HysTransfer2.vue.js +237 -207
  64. package/dist/components/HysTransfer/HysTransferPanel.vue.js +1 -1
  65. package/dist/components/HysTransfer/HysTransferPanel2.vue.js +320 -271
  66. package/dist/components/HysTree/HysTree.vue.js +2 -2
  67. package/dist/components/HysTree/HysTree2.vue.js +195 -184
  68. package/dist/components/HysTreeSelect/HysTreeSelect.vue.js +4 -4
  69. package/dist/components/HysTreeSelect/HysTreeSelect2.vue.js +389 -377
  70. package/dist/components/HysUpload/HysUpload.vue.js +2 -2
  71. package/dist/components/HysUpload/HysUpload2.vue.js +459 -125
  72. package/dist/components/HysVirtualTable/HysVirtualTable.vue.js +5 -94
  73. package/dist/components/HysVirtualTable/HysVirtualTable2.vue.js +656 -2
  74. package/dist/composables/color.js +97 -0
  75. package/dist/composables/dataGrid.js +68 -0
  76. package/dist/composables/drawer.js +17 -0
  77. package/dist/composables/feedback.js +14 -0
  78. package/dist/composables/menu.js +96 -0
  79. package/dist/composables/modal.js +14 -0
  80. package/dist/composables/overlayManager.js +48 -18
  81. package/dist/composables/progress.js +94 -0
  82. package/dist/composables/tagInput.js +16 -0
  83. package/dist/composables/timeline.js +19 -0
  84. package/dist/composables/transfer.js +19 -17
  85. package/dist/composables/upload.js +55 -0
  86. package/dist/composables/uploadRequest.js +58 -0
  87. package/dist/composables/useAlert.js +124 -0
  88. package/dist/composables/useColorPicker.js +402 -0
  89. package/dist/composables/useContextMenu.js +514 -0
  90. package/dist/composables/useDataGridRemote.js +67 -0
  91. package/dist/composables/useDialog.js +86 -43
  92. package/dist/composables/useDrawerPush.js +33 -0
  93. package/dist/composables/useDrawerResize.js +221 -0
  94. package/dist/composables/useFloating.js +110 -76
  95. package/dist/composables/useHysModal.js +185 -0
  96. package/dist/composables/useModal.js +295 -0
  97. package/dist/composables/useModalInteraction.js +394 -0
  98. package/dist/composables/usePopupSurface.js +458 -0
  99. package/dist/composables/useTagInput.js +313 -0
  100. package/dist/composables/useTransferMotion.js +185 -0
  101. package/dist/composables/useUpload.js +472 -0
  102. package/dist/composables/useUploadModel.js +65 -0
  103. package/dist/composables/useUploadRequests.js +266 -0
  104. package/dist/composables/useVirtualTableLayout.js +277 -0
  105. package/dist/composables/virtualTable.js +43 -0
  106. package/dist/index.js +27 -24
  107. package/dist/internal/PopupReference.js +39 -0
  108. package/dist/internal/PopupSurfacePanel.vue.js +7 -0
  109. package/dist/internal/PopupSurfacePanel2.vue.js +92 -0
  110. package/dist/motion/PopupMotion.js +105 -0
  111. package/dist/motion/popup.js +10 -0
  112. package/dist/style.css +1 -1
  113. package/dist/types/components/HysAlert/HysAlert.vue.d.ts +32 -22
  114. package/dist/types/components/HysAutocomplete/HysAutocomplete.vue.d.ts +7 -7
  115. package/dist/types/components/HysAvatarGroup/HysAvatarGroup.vue.d.ts +6 -1
  116. package/dist/types/components/HysBadge/HysBadge.vue.d.ts +3 -3
  117. package/dist/types/components/HysBreadcrumb/HysBreadcrumb.vue.d.ts +54 -31
  118. package/dist/types/components/HysCalendar/HysCalendar.vue.d.ts +3 -2
  119. package/dist/types/components/HysCascader/HysCascader.vue.d.ts +7 -7
  120. package/dist/types/components/HysCascader/HysCascaderColumn.vue.d.ts +2 -2
  121. package/dist/types/components/HysColorPicker/HysColorPanel.vue.d.ts +58 -0
  122. package/dist/types/components/HysColorPicker/HysColorPicker.vue.d.ts +63 -10
  123. package/dist/types/components/HysCommandPalette/HysCommandPalette.vue.d.ts +2 -1
  124. package/dist/types/components/HysContextMenu/HysContextMenu.vue.d.ts +50 -34
  125. package/dist/types/components/HysContextMenu/HysMenuPanel.vue.d.ts +79 -0
  126. package/dist/types/components/HysContextMenu/HysMenuSlot.d.ts +8 -0
  127. package/dist/types/components/HysDataGrid/HysDataGrid.vue.d.ts +65 -118
  128. package/dist/types/components/HysDatePicker/HysDatePickerControl.vue.d.ts +1 -1
  129. package/dist/types/components/HysDrawer/HysDrawer.vue.d.ts +92 -35
  130. package/dist/types/components/HysEmpty/HysEmpty.vue.d.ts +24 -20
  131. package/dist/types/components/HysFileManager/HysFileManager.vue.d.ts +2 -2
  132. package/dist/types/components/HysGantt/HysGantt.vue.d.ts +2 -1
  133. package/dist/types/components/HysMention/HysMention.vue.d.ts +2 -1
  134. package/dist/types/components/HysModal/HysModal.vue.d.ts +111 -34
  135. package/dist/types/components/HysPopover/HysPopover.vue.d.ts +41 -29
  136. package/dist/types/components/HysProgress/HysProgress.vue.d.ts +18 -24
  137. package/dist/types/components/HysResizablePanel/HysResizablePanel.vue.d.ts +2 -2
  138. package/dist/types/components/HysSelect/HysSelect.vue.d.ts +13 -4
  139. package/dist/types/components/HysSlider/HysSlider.vue.d.ts +5 -4
  140. package/dist/types/components/HysSlider/SliderTooltip.vue.d.ts +3 -1
  141. package/dist/types/components/HysSplitPane/HysSplitPane.vue.d.ts +2 -2
  142. package/dist/types/components/HysTable/HysTable.vue.d.ts +4 -4
  143. package/dist/types/components/HysTabs/HysTabs.vue.d.ts +2 -2
  144. package/dist/types/components/HysTagInput/HysTagInput.vue.d.ts +47 -25
  145. package/dist/types/components/HysTimeline/HysTimeline.vue.d.ts +19 -32
  146. package/dist/types/components/HysTooltip/HysTooltip.vue.d.ts +39 -19
  147. package/dist/types/components/HysTour/HysTour.vue.d.ts +2 -1
  148. package/dist/types/components/HysTransfer/HysTransfer.vue.d.ts +2 -2
  149. package/dist/types/components/HysTransfer/HysTransferPanel.vue.d.ts +5 -3
  150. package/dist/types/components/HysTree/HysTree.vue.d.ts +2 -2
  151. package/dist/types/components/HysUpload/HysUpload.vue.d.ts +55 -67
  152. package/dist/types/components/HysVirtualTable/HysVirtualTable.vue.d.ts +71 -40
  153. package/dist/types/composables/autocomplete.d.ts +3 -0
  154. package/dist/types/composables/avatar.d.ts +3 -0
  155. package/dist/types/composables/cascader.d.ts +3 -0
  156. package/dist/types/composables/color.d.ts +97 -0
  157. package/dist/types/composables/dataGrid.d.ts +100 -0
  158. package/dist/types/composables/datePicker.d.ts +3 -0
  159. package/dist/types/composables/drawer.d.ts +102 -0
  160. package/dist/types/composables/feedback.d.ts +98 -0
  161. package/dist/types/composables/formContext.d.ts +2 -0
  162. package/dist/types/composables/menu.d.ts +183 -0
  163. package/dist/types/composables/modal.d.ts +183 -0
  164. package/dist/types/composables/overlayManager.d.ts +7 -3
  165. package/dist/types/composables/popupSurface.d.ts +83 -0
  166. package/dist/types/composables/progress.d.ts +92 -0
  167. package/dist/types/composables/selectOptions.d.ts +2 -0
  168. package/dist/types/composables/table.d.ts +3 -0
  169. package/dist/types/composables/tagInput.d.ts +96 -0
  170. package/dist/types/composables/timeline.d.ts +82 -0
  171. package/dist/types/composables/transfer.d.ts +7 -0
  172. package/dist/types/composables/tree.d.ts +3 -0
  173. package/dist/types/composables/treeSelect.d.ts +3 -0
  174. package/dist/types/composables/upload.d.ts +202 -0
  175. package/dist/types/composables/uploadRequest.d.ts +3 -0
  176. package/dist/types/composables/useAlert.d.ts +21 -0
  177. package/dist/types/composables/useCascader.d.ts +1 -1
  178. package/dist/types/composables/useColorPicker.d.ts +101 -0
  179. package/dist/types/composables/useContextMenu.d.ts +81 -0
  180. package/dist/types/composables/useDataGridRemote.d.ts +15 -0
  181. package/dist/types/composables/useDialog.d.ts +16 -3
  182. package/dist/types/composables/useDrawerPush.d.ts +6 -0
  183. package/dist/types/composables/useDrawerResize.d.ts +27 -0
  184. package/dist/types/composables/useFloating.d.ts +21 -2
  185. package/dist/types/composables/useHysModal.d.ts +44 -0
  186. package/dist/types/composables/useModal.d.ts +62 -0
  187. package/dist/types/composables/useModalInteraction.d.ts +27 -0
  188. package/dist/types/composables/usePopupSurface.d.ts +3341 -0
  189. package/dist/types/composables/useTagInput.d.ts +66 -0
  190. package/dist/types/composables/useTransferMotion.d.ts +36 -0
  191. package/dist/types/composables/useUpload.d.ts +94 -0
  192. package/dist/types/composables/useUploadModel.d.ts +14 -0
  193. package/dist/types/composables/useUploadRequests.d.ts +38 -0
  194. package/dist/types/composables/useVirtualTableLayout.d.ts +51 -0
  195. package/dist/types/composables/virtualTable.d.ts +126 -0
  196. package/dist/types/index.d.ts +17 -2
  197. package/dist/types/internal/PopupReference.d.ts +18 -0
  198. package/dist/types/internal/PopupSurfacePanel.vue.d.ts +37 -0
  199. package/dist/types/motion/PopupMotion.d.ts +59 -0
  200. package/dist/types/motion/popup.d.ts +12 -0
  201. package/package.json +1 -1
@@ -1,93 +1,7 @@
1
- import { defineComponent as E, ref as w, onBeforeUnmount as H, onDeactivated as K, watch as v, openBlock as f, createElementBlock as y, mergeProps as T, unref as a, createElementVNode as N, withKeys as $, withModifiers as B, renderSlot as x, createBlock as R, Teleport as S, toDisplayString as V, createCommentVNode as C } from "vue";
2
- import { useHysRootAttrs as q } from "../../config.js";
3
- import { useFloating as M } from "../../composables/useFloating.js";
4
- const U = ["tabindex", "aria-disabled", "aria-expanded"], j = ["aria-label"], z = { key: 0 }, L = /* @__PURE__ */ E({
5
- __name: "HysPopover",
6
- props: {
7
- placement: { default: "bottom-end" },
8
- trigger: { default: "click" },
9
- disabled: { type: Boolean },
10
- open: { type: Boolean, default: void 0 },
11
- width: {},
12
- title: {}
13
- },
14
- emits: ["update:open", "visibleChange"],
15
- setup(o, { expose: F, emit: P }) {
16
- const b = q(), n = o, g = P, m = w(), d = w(), { open: s, style: A, show: c, close: p, restoringFocus: D } = M(m, d, { get placement() {
17
- return n.placement;
18
- }, gap: 8 });
19
- let u;
20
- function h(t) {
21
- clearTimeout(u), t ? r(!0) : u = setTimeout(() => r(!1), 100);
22
- }
23
- H(() => clearTimeout(u)), K(() => clearTimeout(u));
24
- function r(t) {
25
- if (!(t && (n.disabled || D.value))) {
26
- if (n.open !== void 0) {
27
- g("update:open", t);
28
- return;
29
- }
30
- t ? c() : p();
31
- }
32
- }
33
- return v(() => n.open, (t) => {
34
- t !== void 0 && (t && !n.disabled ? c() : p());
35
- }, { immediate: !0, flush: "post" }), v(s, (t) => {
36
- g("visibleChange", t), n.open !== void 0 && n.open !== t && g("update:open", t);
37
- }), v(() => n.disabled, (t) => {
38
- t && p();
39
- }), F({ show: () => r(!0), hide: () => r(!1) }), (t, e) => (f(), y("span", T(a(b), {
40
- class: "hys-ui-popover-wrap",
41
- onPointerenter: e[7] || (e[7] = (i) => o.trigger === "hover" && h(!0)),
42
- onPointerleave: e[8] || (e[8] = (i) => o.trigger === "hover" && h(!1))
43
- }), [
44
- N("span", {
45
- ref_key: "anchor",
46
- ref: m,
47
- class: "hys-ui-popover-trigger",
48
- tabindex: o.disabled ? -1 : 0,
49
- role: "button",
50
- "aria-disabled": o.disabled,
51
- "aria-expanded": a(s),
52
- "aria-haspopup": "dialog",
53
- onClick: e[0] || (e[0] = (i) => o.trigger === "click" && r(!a(s))),
54
- onKeydown: [
55
- e[1] || (e[1] = $(B((i) => r(!a(s)), ["prevent"]), ["enter"])),
56
- e[2] || (e[2] = $(B((i) => r(!a(s)), ["prevent"]), ["space"]))
57
- ],
58
- onFocusin: e[3] || (e[3] = (i) => o.trigger === "focus" && r(!0)),
59
- onFocusout: e[4] || (e[4] = (i) => {
60
- var l;
61
- return o.trigger === "focus" && !((l = d.value) != null && l.contains(i.relatedTarget)) && r(!1);
62
- })
63
- }, [
64
- x(t.$slots, "trigger")
65
- ], 40, U),
66
- (f(), R(S, { to: "body" }, [
67
- a(s) ? (f(), y("div", T({
68
- key: 0,
69
- ref_key: "panel",
70
- ref: d
71
- }, a(b), {
72
- class: "hys-ui-popover-panel hys-ui-floating-surface",
73
- style: { ...a(A), width: o.width },
74
- role: "dialog",
75
- onFocusout: e[5] || (e[5] = (i) => {
76
- var l, k;
77
- return o.trigger === "focus" && !((l = d.value) != null && l.contains(i.relatedTarget)) && !((k = m.value) != null && k.contains(i.relatedTarget)) && r(!1);
78
- }),
79
- "aria-label": o.title || "浮层",
80
- onPointerenter: e[6] || (e[6] = (i) => o.trigger === "hover" && r(!0))
81
- }), [
82
- o.title ? (f(), y("strong", z, V(o.title), 1)) : C("", !0),
83
- x(t.$slots, "default", {
84
- close: () => r(!1)
85
- })
86
- ], 16, j)) : C("", !0)
87
- ]))
88
- ], 16));
89
- }
90
- });
1
+ import o from "./HysPopover2.vue.js";
2
+ /* empty css */
3
+ import r from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-f925bad2"]]);
91
5
  export {
92
- L as default
6
+ f as default
93
7
  };
@@ -1,4 +1,122 @@
1
- import f from "./HysPopover.vue.js";
1
+ import { defineComponent as c, openBlock as g, createElementBlock as w, mergeProps as B, unref as o, createVNode as d, withCtx as p, renderSlot as a, normalizeProps as i, guardReactiveProps as u, createSlots as P, createTextVNode as k, toDisplayString as C } from "vue";
2
+ import { useHysRootAttrs as x } from "../../config.js";
3
+ import { usePopupSurface as O } from "../../composables/usePopupSurface.js";
4
+ import S from "../../internal/PopupReference.js";
5
+ import b from "../../internal/PopupSurfacePanel.vue.js";
6
+ const D = /* @__PURE__ */ c({
7
+ __name: "HysPopover",
8
+ props: {
9
+ title: {},
10
+ content: {},
11
+ open: { type: Boolean, default: void 0 },
12
+ modelValue: { type: Boolean, default: void 0 },
13
+ defaultOpen: { type: Boolean },
14
+ disabled: { type: Boolean },
15
+ trigger: {},
16
+ triggerKeys: {},
17
+ triggerTabindex: {},
18
+ placement: { default: "bottom-end" },
19
+ offset: {},
20
+ autoAdjustOverflow: { type: Boolean, default: !0 },
21
+ showDelay: { default: 0 },
22
+ hideDelay: { default: 100 },
23
+ autoClose: {},
24
+ enterable: { type: Boolean, default: !0 },
25
+ closeOnEscape: { type: Boolean, default: !0 },
26
+ closeOnOutside: { type: Boolean, default: !0 },
27
+ destroyOnHide: { type: Boolean, default: !0 },
28
+ forceRender: { type: Boolean },
29
+ appendTo: { type: [String, Boolean], default: "body" },
30
+ reference: {},
31
+ width: {},
32
+ maxWidth: {},
33
+ maxHeight: {},
34
+ showArrow: { type: Boolean },
35
+ arrowOffset: {},
36
+ effect: { default: "light" },
37
+ color: {},
38
+ textColor: {},
39
+ overlayClass: {},
40
+ overlayStyle: {},
41
+ contentClass: {},
42
+ contentStyle: {},
43
+ zIndex: {},
44
+ ariaLabel: {},
45
+ popupTransition: {},
46
+ popupTransitionDuration: {}
47
+ },
48
+ emits: ["update:open", "update:modelValue", "visibleChange", "openChange", "show", "hide", "opened", "closed"],
49
+ setup(l, { expose: f, emit: m }) {
50
+ const s = l, y = m, v = x(), e = O(
51
+ s,
52
+ "popover",
53
+ (r, ...n) => y(r, ...n)
54
+ );
55
+ return f({
56
+ element: e.panel,
57
+ referenceElement: e.actualReference,
58
+ open: e.open,
59
+ placement: e.placement,
60
+ show: e.show,
61
+ hide: e.hide,
62
+ close: e.hide,
63
+ toggle: e.toggle,
64
+ updatePosition: e.updatePosition,
65
+ focus: e.focus
66
+ }), (r, n) => (g(), w("span", B({
67
+ ref: (t) => o(e).wrapper.value = t
68
+ }, { ...o(v), ...o(e).wrapperAttrs.value }, {
69
+ class: ["hys-ui-popover-wrap", "hys-ui-popover-trigger"],
70
+ onPointerenter: n[1] || (n[1] = //@ts-ignore
71
+ (...t) => o(e).pointerEnter && o(e).pointerEnter(...t)),
72
+ onPointerleave: n[2] || (n[2] = //@ts-ignore
73
+ (...t) => o(e).pointerLeave && o(e).pointerLeave(...t)),
74
+ onFocusin: n[3] || (n[3] = //@ts-ignore
75
+ (...t) => o(e).focusIn && o(e).focusIn(...t)),
76
+ onFocusout: n[4] || (n[4] = //@ts-ignore
77
+ (...t) => o(e).focusOut && o(e).focusOut(...t)),
78
+ onClick: n[5] || (n[5] = //@ts-ignore
79
+ (...t) => o(e).click && o(e).click(...t)),
80
+ onContextmenu: n[6] || (n[6] = //@ts-ignore
81
+ (...t) => o(e).contextmenu && o(e).contextmenu(...t)),
82
+ onKeydown: n[7] || (n[7] = //@ts-ignore
83
+ (...t) => o(e).key && o(e).key(...t))
84
+ }), [
85
+ d(o(S), {
86
+ id: o(e).id,
87
+ open: o(e).open.value,
88
+ kind: "popover",
89
+ onElement: n[0] || (n[0] = (t) => o(e).referenceElement.value = t)
90
+ }, {
91
+ default: p(() => [
92
+ a(r.$slots, "trigger", i(u(o(e).scope.value)), void 0, !0)
93
+ ]),
94
+ _: 3
95
+ }, 8, ["id", "open"]),
96
+ d(b, {
97
+ surface: o(e),
98
+ options: s,
99
+ kind: "popover",
100
+ title: l.title
101
+ }, P({
102
+ default: p((t) => [
103
+ a(r.$slots, "default", i(u(t)), () => [
104
+ k(C(l.content), 1)
105
+ ], !0)
106
+ ]),
107
+ _: 2
108
+ }, [
109
+ r.$slots.title ? {
110
+ name: "title",
111
+ fn: p((t) => [
112
+ a(r.$slots, "title", i(u(t)), void 0, !0)
113
+ ]),
114
+ key: "0"
115
+ } : void 0
116
+ ]), 1032, ["surface", "title"])
117
+ ], 16));
118
+ }
119
+ });
2
120
  export {
3
- f as default
121
+ D as default
4
122
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./HysProgress2.vue.js";
2
2
  /* empty css */
3
3
  import r from "../../_virtual/_plugin-vue_export-helper.js";
4
- const f = /* @__PURE__ */ r(o, [["__scopeId", "data-v-f13b29a9"]]);
4
+ const m = /* @__PURE__ */ r(o, [["__scopeId", "data-v-7fbb0967"]]);
5
5
  export {
6
- f as default
6
+ m as default
7
7
  };
@@ -1,74 +1,341 @@
1
- import { defineComponent as c, computed as l, openBlock as s, createElementBlock as a, mergeProps as h, unref as m, createElementVNode as o, normalizeStyle as n, normalizeClass as y, renderSlot as v, createTextVNode as f, toDisplayString as k, createCommentVNode as g } from "vue";
2
- import { useHysRootAttrs as w } from "../../config.js";
3
- const x = ["aria-valuenow"], b = {
1
+ import { defineComponent as ke, useSlots as ge, useAttrs as fe, ref as Q, onActivated as me, onDeactivated as we, useId as be, computed as a, openBlock as r, createElementBlock as l, mergeProps as Y, unref as A, Fragment as S, renderList as T, createCommentVNode as c, createElementVNode as m, withDirectives as xe, normalizeClass as H, vShow as Le, normalizeStyle as w, renderSlot as Z, normalizeProps as _, guardReactiveProps as ee, createBlock as te, resolveDynamicComponent as ae, createVNode as se } from "vue";
2
+ import { CircleX as Ce, AlertTriangle as Ae, CheckCircle2 as Se } from "lucide-vue-next";
3
+ import { useHysRootAttrs as Be } from "../../config.js";
4
+ import { progressId as Me, progressPercent as U, progressNumber as v, progressArc as re, progressPaint as oe, progressStatusColor as le, progressGradientCoordinates as Pe, progressCssPaint as G } from "../../composables/progress.js";
5
+ const Fe = ["data-status", "aria-label", "aria-valuenow", "aria-valuetext"], Ie = {
4
6
  key: 0,
5
7
  viewBox: "0 0 100 100",
6
- "aria-hidden": "true"
7
- }, p = ["stroke-width"], B = ["stroke-width", "stroke", "stroke-dashoffset"], N = {
8
+ "aria-hidden": "true",
9
+ class: "hys-ui-progress-svg"
10
+ }, Ve = { key: 0 }, ze = ["id"], De = ["offset", "stop-color"], Te = {
11
+ key: 1,
12
+ class: "hys-ui-progress-ring-steps"
13
+ }, Ge = ["d", "stroke", "stroke-width", "stroke-linecap"], Ne = ["d", "stroke", "stroke-width", "stroke-linecap", "stroke-dasharray"], $e = ["d", "stroke", "stroke-width", "stroke-linecap", "stroke-dasharray"], Re = { key: 2 }, Ee = ["d", "stroke", "stroke-width", "stroke-linecap"], He = ["d", "stroke", "stroke-width", "stroke-linecap", "stroke-dasharray"], Ue = ["d", "stroke", "stroke-width", "stroke-linecap", "stroke-dasharray"], We = {
14
+ key: 2,
15
+ class: "hys-ui-progress-label hys-ui-progress-inside-label"
16
+ }, Oe = {
8
17
  key: 2,
9
18
  class: "hys-ui-progress-label"
10
- }, V = /* @__PURE__ */ c({
19
+ }, Ke = /* @__PURE__ */ ke({
20
+ inheritAttrs: !1,
11
21
  __name: "HysProgress",
12
22
  props: {
13
23
  value: {},
14
24
  showLabel: { type: Boolean, default: !0 },
15
25
  color: {},
16
26
  status: { default: "normal" },
17
- strokeWidth: { default: 7 },
27
+ strokeWidth: {},
18
28
  type: { default: "line" },
19
- width: { default: 100 },
29
+ width: {},
20
30
  format: {},
21
- indeterminate: { type: Boolean }
31
+ indeterminate: { type: Boolean },
32
+ size: { default: "md" },
33
+ textInside: { type: Boolean },
34
+ textColor: {},
35
+ precision: {},
36
+ showStatusIcon: { type: Boolean, default: !1 },
37
+ trailColor: {},
38
+ strokeLinecap: { default: "round" },
39
+ success: {},
40
+ steps: {},
41
+ stepGap: { default: 3 },
42
+ gapDegree: {},
43
+ gapPosition: { default: "bottom" },
44
+ striped: { type: Boolean },
45
+ stripedFlow: { type: Boolean },
46
+ animated: { type: Boolean, default: !0 },
47
+ duration: { default: 250 },
48
+ flowDuration: { default: 1300 },
49
+ ariaLabel: {},
50
+ ariaValueText: {}
22
51
  },
23
- setup(e) {
24
- const u = w(), r = e, t = l(() => Number.isFinite(r.value) ? Math.max(0, Math.min(100, r.value)) : 0), i = l(() => r.color || { normal: "", success: "#16a46e", warning: "#d9860c", error: "#ed4556" }[r.status] || "var(--hys-ui-primary,var(--hys-ui-theme-primary))");
25
- return (d, W) => (s(), a("div", h(m(u), {
26
- class: ["hys-ui-progress-line", { "hys-ui-progress-circle": e.type === "circle" }],
52
+ setup(s, { expose: ie }) {
53
+ const e = s, N = ge(), ue = fe(), W = Be(), O = Q(), $ = Q(!0);
54
+ me(() => $.value = !0), we(() => $.value = !1);
55
+ const B = Me() + "-" + be().replaceAll(":", "-"), i = a(() => U(e.value)), u = a(
56
+ () => {
57
+ var t;
58
+ return Math.min(i.value, U((t = e.success) == null ? void 0 : t.value));
59
+ }
60
+ ), k = a(
61
+ () => ["normal", "success", "warning", "error", "active"].includes(e.status) ? e.status : "normal"
62
+ ), h = a(
63
+ () => e.type === "circle" || e.type === "dashboard"
64
+ ), p = a(
65
+ () => ({
66
+ sm: { stroke: 4, width: 80, font: 11, roundFont: 14 },
67
+ md: { stroke: 7, width: 100, font: 12, roundFont: 16 },
68
+ lg: { stroke: 12, width: 132, font: 14, roundFont: 20 }
69
+ })[e.size] ?? { stroke: 7, width: 100, font: 12, roundFont: 16 }
70
+ ), y = a(
71
+ () => v(
72
+ e.strokeWidth,
73
+ e.textInside && !h.value ? Math.max(p.value.stroke, Math.ceil(p.value.font * 1.8)) : p.value.stroke,
74
+ 1,
75
+ h.value ? 48 : 100
76
+ )
77
+ ), b = a(
78
+ () => typeof e.width == "string" ? e.width : v(e.width, p.value.width, 20, 2e3)
79
+ ), M = a(() => Math.min(44, (100 - y.value) / 2 - 1)), x = a(
80
+ () => v(e.gapDegree, e.type === "dashboard" ? 75 : 0, 0, 295)
81
+ ), X = a(
82
+ () => x.value ? ({ top: -90, right: 0, bottom: 90, left: 180 }[e.gapPosition] ?? 90) + x.value / 2 : -90
83
+ ), R = a(
84
+ () => re(M.value, X.value, 360 - x.value)
85
+ ), n = a(
86
+ () => e.indeterminate ? 0 : Math.floor(v(e.steps, 0, 0, 200))
87
+ ), j = a(() => v(e.stepGap, 3, 0, 40)), P = a(
88
+ () => e.strokeLinecap === "butt" || !n.value ? y.value : Math.min(
89
+ y.value,
90
+ 2 * Math.PI * M.value * (360 - x.value) / 360 / n.value * 0.5
91
+ )
92
+ ), E = a(
93
+ () => !!e.textInside && !h.value && y.value >= p.value.font * 1.5
94
+ ), g = (t, d) => U((t / 100 * n.value - d) * 100), L = a(
95
+ () => oe(e.color, i.value, le(k.value))
96
+ ), f = a(
97
+ () => {
98
+ var t;
99
+ return oe(
100
+ (t = e.success) == null ? void 0 : t.color,
101
+ u.value,
102
+ le("success")
103
+ );
104
+ }
105
+ ), F = (t) => t.gradient ? "url(#" + (t === f.value ? B + "-success" : B + "-main") + ")" : t.color, q = a(
106
+ () => [
107
+ { id: B + "-main", paint: L.value },
108
+ { id: B + "-success", paint: f.value }
109
+ ].filter((t) => t.paint.gradient).map((t) => ({
110
+ ...t,
111
+ coordinates: Pe(t.paint.gradient.angle)
112
+ }))
113
+ ), ne = (t) => Array.isArray(e.color) && e.color.length && e.color.every((d) => typeof d == "string") ? e.color[t % e.color.length] : G(L.value), ce = (t) => Array.isArray(e.color) && e.color.length && e.color.every((d) => typeof d == "string") ? e.color[t % e.color.length] : F(L.value), de = a(
114
+ () => Array.from({ length: n.value }, (t, d) => {
115
+ const o = (360 - x.value) / n.value, C = Math.min(
116
+ o * 0.8,
117
+ (j.value + (e.strokeLinecap === "butt" ? 0 : P.value)) / M.value * 180 / Math.PI
118
+ );
119
+ return {
120
+ index: d,
121
+ path: re(
122
+ M.value,
123
+ X.value + d * o + C / 2,
124
+ o - C
125
+ )
126
+ };
127
+ })
128
+ ), I = a(() => ({
129
+ value: i.value,
130
+ successValue: u.value,
131
+ status: k.value,
132
+ indeterminate: !!e.indeterminate
133
+ })), V = a(
134
+ () => e.format ? e.format(i.value, u.value) : e.precision === void 0 ? i.value + "%" : i.value.toFixed(
135
+ Math.floor(v(e.precision, 0, 0, 6))
136
+ ) + "%"
137
+ ), z = a(
138
+ () => ({ success: Se, warning: Ae, error: Ce })[k.value]
139
+ ), J = () => {
140
+ var t;
141
+ return ((t = N.default) == null ? void 0 : t.call(N, I.value)) ?? V.value;
142
+ }, ve = a(
143
+ () => typeof e.ariaValueText == "function" ? e.ariaValueText(I.value) : e.ariaValueText ?? (e.indeterminate ? "处理中" : typeof V.value == "string" || typeof V.value == "number" ? String(V.value) : i.value + "%")
144
+ ), K = a(
145
+ () => e.animated && $.value && W.value["data-hys-motion"] !== "off"
146
+ ), he = a(
147
+ () => K.value && v(e.flowDuration, 1300, 0, 3e4) > 0
148
+ ), pe = a(() => ({
149
+ "--hys-ui-progress-duration": (K.value ? v(e.duration, 250, 0, 5e3) : 0) + "ms",
150
+ "--hys-ui-progress-flow-duration": v(e.flowDuration, 1300, 1, 3e4) + "ms",
151
+ "--hys-ui-progress-text": e.textColor || "var(--hys-ui-text,var(--hys-ui-theme-text))",
152
+ "--hys-ui-progress-font": (h.value ? Math.min(
153
+ p.value.roundFont,
154
+ typeof b.value == "number" ? b.value / 4 : p.value.roundFont
155
+ ) : p.value.font) + "px",
156
+ "--hys-ui-progress-radius": e.strokeLinecap === "round" ? "999px" : "0px",
157
+ ...h.value ? {
158
+ width: typeof b.value == "number" ? b.value + "px" : b.value,
159
+ aspectRatio: "1"
160
+ } : {}
161
+ })), D = a(
162
+ () => e.trailColor || "var(--hys-ui-border,var(--hys-ui-theme-border))"
163
+ );
164
+ return ie({ element: O, value: i, successValue: u, status: k }), (t, d) => (r(), l("div", Y({
165
+ ref_key: "element",
166
+ ref: O
167
+ }, { ...A(W), ...A(ue) }, {
168
+ class: ["hys-ui-progress-line", {
169
+ "hys-ui-progress-circle": h.value,
170
+ "hys-ui-progress-dashboard": s.type === "dashboard",
171
+ "hys-ui-progress-inside": E.value,
172
+ "hys-ui-progress-no-label": !s.showLabel,
173
+ "hys-ui-progress-flow": he.value,
174
+ "hys-ui-progress-striped": s.striped,
175
+ "hys-ui-progress-striped-flow": s.stripedFlow,
176
+ "hys-ui-progress-active": k.value === "active",
177
+ "hys-ui-progress-unknown": s.indeterminate
178
+ }],
179
+ style: pe.value,
180
+ "data-status": k.value,
27
181
  role: "progressbar",
28
- "aria-valuenow": e.indeterminate ? void 0 : t.value,
182
+ "aria-label": s.ariaLabel,
183
+ "aria-valuenow": s.indeterminate ? void 0 : i.value,
184
+ "aria-valuetext": ve.value,
29
185
  "aria-valuemin": "0",
30
- "aria-valuemax": "100",
31
- style: e.type === "circle" ? { width: e.width + "px", height: e.width + "px" } : void 0
186
+ "aria-valuemax": "100"
32
187
  }), [
33
- e.type === "circle" ? (s(), a("svg", b, [
34
- o("circle", {
35
- cx: "50",
36
- cy: "50",
37
- r: "44",
38
- fill: "none",
39
- "stroke-width": e.strokeWidth,
40
- stroke: "var(--hys-ui-border,var(--hys-ui-theme-border))"
41
- }, null, 8, p),
42
- o("circle", {
43
- cx: "50",
44
- cy: "50",
45
- r: "44",
46
- fill: "none",
47
- "stroke-width": e.strokeWidth,
48
- stroke: i.value,
49
- "stroke-linecap": "round",
50
- "stroke-dasharray": 276.46,
51
- "stroke-dashoffset": 276.46 * (1 - t.value / 100),
52
- transform: "rotate(-90 50 50)"
53
- }, null, 8, B)
54
- ])) : (s(), a("div", {
188
+ h.value ? (r(), l("svg", Ie, [
189
+ q.value.length ? (r(), l("defs", Ve, [
190
+ (r(!0), l(S, null, T(q.value, (o) => (r(), l("linearGradient", Y({
191
+ id: o.id,
192
+ key: o.id,
193
+ gradientUnits: "userSpaceOnUse"
194
+ }, { ref_for: !0 }, o.coordinates), [
195
+ (r(!0), l(S, null, T(o.paint.gradient.stops, (C, ye) => (r(), l("stop", {
196
+ key: ye,
197
+ offset: C.offset + "%",
198
+ "stop-color": C.color
199
+ }, null, 8, De))), 128))
200
+ ], 16, ze))), 128))
201
+ ])) : c("", !0),
202
+ n.value ? (r(), l("g", Te, [
203
+ (r(!0), l(S, null, T(de.value, (o) => (r(), l("g", {
204
+ key: o.index
205
+ }, [
206
+ m("path", {
207
+ d: o.path,
208
+ stroke: D.value,
209
+ "stroke-width": P.value,
210
+ "stroke-linecap": s.strokeLinecap,
211
+ fill: "none"
212
+ }, null, 8, Ge),
213
+ g(i.value, o.index) > 0 ? (r(), l("path", {
214
+ key: 0,
215
+ class: "hys-ui-progress-ring-fill",
216
+ d: o.path,
217
+ pathLength: "100",
218
+ stroke: ce(o.index),
219
+ "stroke-width": P.value,
220
+ "stroke-linecap": s.strokeLinecap,
221
+ "stroke-dasharray": g(i.value, o.index) + " 100",
222
+ fill: "none"
223
+ }, null, 8, Ne)) : c("", !0),
224
+ g(u.value, o.index) > 0 ? (r(), l("path", {
225
+ key: 1,
226
+ class: "hys-ui-progress-ring-success",
227
+ d: o.path,
228
+ pathLength: "100",
229
+ stroke: F(f.value),
230
+ "stroke-width": P.value,
231
+ "stroke-linecap": s.strokeLinecap,
232
+ "stroke-dasharray": g(u.value, o.index) + " 100",
233
+ fill: "none"
234
+ }, null, 8, $e)) : c("", !0)
235
+ ]))), 128))
236
+ ])) : (r(), l("g", Re, [
237
+ m("path", {
238
+ class: "hys-ui-progress-ring-trail",
239
+ d: R.value,
240
+ stroke: D.value,
241
+ "stroke-width": y.value,
242
+ "stroke-linecap": s.strokeLinecap,
243
+ fill: "none"
244
+ }, null, 8, Ee),
245
+ xe(m("path", {
246
+ class: H(["hys-ui-progress-ring-fill", { "hys-ui-progress-ring-indeterminate": s.indeterminate }]),
247
+ d: R.value,
248
+ pathLength: "100",
249
+ stroke: F(L.value),
250
+ "stroke-width": y.value,
251
+ "stroke-linecap": s.strokeLinecap,
252
+ "stroke-dasharray": (s.indeterminate ? 25 : i.value) + " 100",
253
+ fill: "none"
254
+ }, null, 10, He), [
255
+ [Le, s.indeterminate || i.value > 0]
256
+ ]),
257
+ u.value > 0 && !s.indeterminate ? (r(), l("path", {
258
+ key: 0,
259
+ class: "hys-ui-progress-ring-success",
260
+ d: R.value,
261
+ pathLength: "100",
262
+ stroke: F(f.value),
263
+ "stroke-width": y.value,
264
+ "stroke-linecap": s.strokeLinecap,
265
+ "stroke-dasharray": u.value + " 100",
266
+ fill: "none"
267
+ }, null, 8, Ue)) : c("", !0)
268
+ ]))
269
+ ])) : (r(), l("div", {
55
270
  key: 1,
56
- class: "hys-ui-progress-track",
57
- style: n({ height: e.strokeWidth + "px" })
271
+ class: H(["hys-ui-progress-track", { "hys-ui-progress-steps": n.value }]),
272
+ style: w({
273
+ height: y.value + "px",
274
+ background: n.value ? "transparent" : D.value,
275
+ gap: j.value + "px"
276
+ })
58
277
  }, [
59
- o("div", {
60
- class: y(["hys-ui-progress-fill hys-ui-motion-progress", { "hys-ui-progress-indeterminate": e.indeterminate }]),
61
- style: n({ width: t.value + "%", height: "100%", background: i.value })
62
- }, null, 6)
63
- ], 4)),
64
- e.showLabel ? (s(), a("span", N, [
65
- v(d.$slots, "default", { value: t.value }, () => [
66
- f(k(e.format ? e.format(t.value) : t.value + "%"), 1)
67
- ], !0)
68
- ])) : g("", !0)
69
- ], 16, x));
278
+ n.value ? (r(!0), l(S, { key: 0 }, T(n.value, (o) => (r(), l("span", {
279
+ key: o,
280
+ class: "hys-ui-progress-step",
281
+ style: w({ background: D.value })
282
+ }, [
283
+ m("i", {
284
+ class: "hys-ui-progress-fill",
285
+ style: w({
286
+ width: g(i.value, o - 1) + "%",
287
+ background: ne(o - 1)
288
+ })
289
+ }, null, 4),
290
+ u.value > 0 ? (r(), l("i", {
291
+ key: 0,
292
+ class: "hys-ui-progress-success",
293
+ style: w({
294
+ width: g(u.value, o - 1) + "%",
295
+ background: A(G)(f.value)
296
+ })
297
+ }, null, 4)) : c("", !0)
298
+ ], 4))), 128)) : (r(), l(S, { key: 1 }, [
299
+ m("div", {
300
+ class: H(["hys-ui-progress-fill hys-ui-motion-progress", { "hys-ui-progress-indeterminate": s.indeterminate }]),
301
+ style: w({
302
+ width: (s.indeterminate ? 35 : i.value) + "%",
303
+ background: A(G)(L.value)
304
+ })
305
+ }, null, 6),
306
+ u.value > 0 && !s.indeterminate ? (r(), l("div", {
307
+ key: 0,
308
+ class: "hys-ui-progress-success",
309
+ style: w({
310
+ width: u.value + "%",
311
+ background: A(G)(f.value)
312
+ })
313
+ }, null, 4)) : c("", !0)
314
+ ], 64)),
315
+ s.showLabel && E.value ? (r(), l("span", We, [
316
+ m("span", null, [
317
+ s.showStatusIcon && (z.value || t.$slots.icon) ? Z(t.$slots, "icon", _(ee(I.value)), () => [
318
+ (r(), te(ae(z.value), {
319
+ size: 14,
320
+ "aria-hidden": "true"
321
+ }))
322
+ ], !0, 0) : c("", !0),
323
+ se(J)
324
+ ])
325
+ ])) : c("", !0)
326
+ ], 6)),
327
+ s.showLabel && !E.value ? (r(), l("span", Oe, [
328
+ s.showStatusIcon && (z.value || t.$slots.icon) ? Z(t.$slots, "icon", _(ee(I.value)), () => [
329
+ (r(), te(ae(z.value), {
330
+ size: h.value ? 18 : 14,
331
+ "aria-hidden": "true"
332
+ }, null, 8, ["size"]))
333
+ ], !0, 0) : c("", !0),
334
+ se(J)
335
+ ])) : c("", !0)
336
+ ], 16, Fe));
70
337
  }
71
338
  });
72
339
  export {
73
- V as default
340
+ Ke as default
74
341
  };
@@ -2,7 +2,7 @@ import o from "./HysSelect2.vue.js";
2
2
  /* empty css */
3
3
  /* empty css */
4
4
  import t from "../../_virtual/_plugin-vue_export-helper.js";
5
- const s = /* @__PURE__ */ t(o, [["__scopeId", "data-v-6d43948d"]]);
5
+ const f = /* @__PURE__ */ t(o, [["__scopeId", "data-v-12f54263"]]);
6
6
  export {
7
- s as default
7
+ f as default
8
8
  };