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
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0
4
+
5
+ - DataGrid 支持受控查询、远程加载取消与重试、单选和多选、选择保留、自定义列字段与汇总,以及按行键滚动定位。树形行事件返回原始记录,列宽拖动按帧预览并在释放时保存,支持键盘调整和取消。TypeScript 模板引用可使用 `HysDataGridInstance`。
6
+
7
+ - VirtualTable 增加双向虚拟化、左右固定列与顶部固定行、容器测量、稳定排序、受控选择、键盘与实例定位、滚动追加、缓存恢复及自定义加载状态。滚动按帧合并,追加保留当前位置;保留原有表体高度和插槽约定。
8
+
9
+ - TagInput 补充非受控初值、分隔符与批量粘贴、可取消异步检查、受控拒绝处理、清空、标签外观与折叠虚拟列表、拖拽/键盘排序、表单与实例方法;ColorPicker 补充透明度、颜色格式与预设、预览确认、内嵌与受控浮层、自定义内容及表单集成,连续拖动缓存几何并按帧更新,释放时集中校验。保留原有默认行为并增加独立示例。
10
+
11
+ - Alert 补充外观、横幅、操作区、受控关闭、异步检查与退出完成事件;Empty 补充内置图形、图片回退及独立内容区;Timeline 补充双侧和交替布局、标签、节点、加载、字段映射与稳定排序。保留原有接口,完善缓存、动效及辅助技术处理,新增独立场景。
12
+ - Transfer 双击移动时阻止第二次按下产生文字选区,保留复选框、交互内容与快捷多选。
13
+
14
+ - Progress 增加仪表盘与缺口配置、函数/阈值/渐变颜色、已确认进度叠加、分段与精确部分段、尺寸和端点、文字与状态图标、条纹/进行中/不定进度、动效与辅助技术配置;保留原有 value 和默认显示,完善边界及缓存处理并新增独立示例。
15
+
16
+ - Upload 补充受控/初始文件列表、真实 multipart 与自定义请求、自动/手动提交、并发队列、按帧进度、取消和重试、异步验证及内容转换、移除检查、文本/图片/卡片列表、预览/下载、目录与粘贴、插槽和表单集成;保留原有本地选择模式与事件,完善缓存任务和本地 URL 清理,新增独立场景。
17
+
18
+ - Tooltip 与 Popover 补充受控/非受控显示、多种及组合触发、延迟与自动关闭、可移入内容、十二种定位、箭头与外观、独立参考元素、自定义挂载、内容保留及生命周期、键盘导航和实例操作;统一浮层清理并补充独立场景。
19
+ - 修复 Drawer 关闭拦截函数的运行时属性识别,保留回调类型兼容性。
20
+
21
+ - Drawer 补充受控及非受控显示、异步操作与关闭拦截、生命周期和内容挂载策略、独立滚动与分区布局、容器内展示、嵌套推移、全屏及透明度配置、方向动效、焦点管理与实例方法;新增按帧合并的四向边缘缩放、键盘调整、受控尺寸与取消回退,保留旧 close 事件用法。
22
+
23
+ - ContextMenu 补充多种触发方式、多级子菜单、分组与分隔线、复选/单选与普通项选中、受控状态、业务字段映射、模板、滚动边界和键盘/实例操作;Breadcrumb 增加图标、同级菜单、深层折叠、尺寸与文字截断及宿主路由适配,保留既有事件和默认行为。
24
+
25
+ - Transfer 支持 Ctrl/Cmd 逐项切换、Shift 鼠标/键盘范围选择,并补充默认关闭的 moveOnDoubleClick 双击移动参数与独立示例。
26
+
27
+ - Transfer 新增从源列表飞入目标列表的移动动效、落地高亮与效果/时长配置;覆盖按钮、拖拽和实例方法,限制可见代表项目数量,并清理连续移动、滚动和页面离开时的动画。
28
+
29
+ - Select 多选新增紧凑的全选/全不选工具栏、批量范围与文字配置、实例操作和批量事件;保留禁用值,遵守选择上限,支持筛选、远程结果、虚拟列表及键盘操作;多选默认折叠超过 3 个的标签,可显式设置 maxTagCount。
30
+
31
+ - 穿梭框拖拽目标去掉叠加的内阴影描边,保留单层高亮边框与背景反馈,避免滚动区域出现双重边线。
32
+
33
+ - 为选择、日期、补全、提及、颜色、提示、菜单及数据组件内的浮层统一增加可配置展开/收起动效与时长;补充交互示例,处理退出禁用、快速重开、减少动态效果、边缘定位和页面缓存清理。
34
+
35
+ - 修复 Chrome 中鼠标位于自适应高度表格时,纵向滚轮无法传给 Modal 等外层滚动容器的问题;保留表格横向滚动约束。
36
+
37
+ - Modal 拖拽采用按帧更新合成层位置,缓存手势边界并在结束后同步状态;默认柔和缩放,支持全屏/还原过渡及弹窗背景、遮罩的独立透明度,增加宽度预设与标题/底部分区尺寸,并优化缩放手柄及轻量拖动反馈。
38
+
39
+ - Modal 补充内置操作区、异步确认与取消、关闭拦截、失败重试、调用式服务、拖拽与尺寸调整、全屏切换、长内容滚动、快捷确认、挂载策略与焦点配置;统一嵌套层级、滚动锁定及子浮层清理,保留原有插槽和显示接口。
40
+
3
41
  ## 0.2.0
4
42
 
5
43
  - Table 补充布局与表头行样式、多字段排序、选择单元格定制、筛选浮层控制与连续应用、展开图标及操作列配置、手动更新子行和独立视口行定位;保留现有参数、事件与默认行为。
package/README.md CHANGED
@@ -39,6 +39,20 @@ provideHysConfig({ theme, motion: 'subtle' })
39
39
 
40
40
  可以使用 `--hys-ui-primary`、`--hys-ui-surface`、`--hys-ui-text`、`--hys-ui-border`、`--hys-ui-font-family` 等公开变量覆盖组件外观。组件类名与变量采用独立前缀,没有 body/html 全局重置。
41
41
 
42
+
43
+ 浮层组件统一通过 `popupTransition` 设置展开与收起动效:`scale`(默认柔和缩放)、`fade`(淡入淡出)、`slide`(轻移)、`slide-fade`(轻移缩放)、`none`(关闭)。`popupTransitionDuration` 设置时长,默认 160ms,设为 0 立即切换。该配置适用于选择、日期、自动补全、提及、颜色、提示、菜单,以及表格、树形、头像组、日历事件和甘特图关系等浮层。Modal、Drawer 和 Toast 保留各自的动画配置。
44
+
45
+ ```vue
46
+ <HysSelect
47
+ v-model="value"
48
+ :options="options"
49
+ popup-transition="slide-fade"
50
+ :popup-transition-duration="200"
51
+ />
52
+ ```
53
+
54
+ 系统减少动态效果和 `motion: 'off'` 优先于局部设置;内嵌日期面板不播放浮层动效。动画仅改变透明度和合成层变换,关闭时立即停止交互,退出完成后移除内容。
55
+
42
56
  ## 开发与文档
43
57
 
44
58
  ```bash
@@ -79,7 +93,7 @@ task.update({ type: 'success', message: '上传完成', duration: 2000 })
79
93
 
80
94
  ## 发布
81
95
 
82
- 根工作区和文档应用为私有,npm 包名为 `hys-ui`,版本 `0.2.0`,MIT 公开发布。
96
+ 根工作区和文档应用为私有,npm 包名为 `hys-ui`,版本 `0.3.0`,MIT 公开发布。
83
97
 
84
98
  ```bash
85
99
  npm run pack:ui
@@ -1,56 +1,7 @@
1
- import { defineComponent as b, ref as k, computed as C, watch as g, openBlock as o, createElementBlock as s, mergeProps as B, unref as t, createBlock as w, resolveDynamicComponent as A, createCommentVNode as l, createElementVNode as c, renderSlot as u, createTextVNode as d, toDisplayString as m, createVNode as N } from "vue";
2
- import { useHysRootAttrs as V } from "../../config.js";
3
- import { CircleCheck as I, TriangleAlert as $, CircleAlert as p, Info as x, X as z } from "lucide-vue-next";
4
- const D = ["role"], E = { key: 0 }, j = /* @__PURE__ */ b({
5
- __name: "HysAlert",
6
- props: {
7
- tone: { default: "info" },
8
- title: {},
9
- description: {},
10
- closable: { type: Boolean },
11
- showIcon: { type: Boolean },
12
- center: { type: Boolean },
13
- visible: { type: Boolean, default: void 0 }
14
- },
15
- emits: ["close", "update:visible"],
16
- setup(e, { emit: y }) {
17
- const f = V(), r = e, a = y, n = k(!0), v = C(() => r.visible ?? n.value);
18
- g(() => r.title, () => n.value = !0);
19
- function h() {
20
- n.value = !1, a("update:visible", !1), a("close");
21
- }
22
- return (i, H) => v.value ? (o(), s("div", B({ key: 0 }, t(f), {
23
- class: ["hys-ui-ex-alert", "hys-ui-ex-" + e.tone],
24
- role: e.tone === "danger" ? "alert" : "status",
25
- style: { justifyContent: e.center ? "center" : void 0 }
26
- }), [
27
- e.showIcon ? (o(), w(A(e.tone === "success" ? t(I) : e.tone === "warning" ? t($) : e.tone === "danger" ? t(p) : t(x)), {
28
- key: 0,
29
- size: 18
30
- })) : l("", !0),
31
- c("div", null, [
32
- e.title || i.$slots.title ? (o(), s("strong", E, [
33
- u(i.$slots, "title", {}, () => [
34
- d(m(e.title), 1)
35
- ])
36
- ])) : l("", !0),
37
- c("div", null, [
38
- u(i.$slots, "default", {}, () => [
39
- d(m(e.description), 1)
40
- ])
41
- ])
42
- ]),
43
- e.closable ? (o(), s("button", {
44
- key: 1,
45
- type: "button",
46
- "aria-label": "关闭提示",
47
- onClick: h
48
- }, [
49
- N(t(z), { size: 14 })
50
- ])) : l("", !0)
51
- ], 16, D)) : l("", !0);
52
- }
53
- });
1
+ import o from "./HysAlert2.vue.js";
2
+ /* empty css */
3
+ import t from "../../_virtual/_plugin-vue_export-helper.js";
4
+ const p = /* @__PURE__ */ t(o, [["__scopeId", "data-v-aa88a78b"]]);
54
5
  export {
55
- j as default
6
+ p as default
56
7
  };
@@ -1,4 +1,161 @@
1
- import f from "./HysAlert.vue.js";
1
+ import { defineComponent as z, useSlots as T, useAttrs as V, computed as h, openBlock as l, createBlock as v, Transition as $, unref as a, withCtx as E, createElementBlock as o, mergeProps as x, renderSlot as s, normalizeProps as r, guardReactiveProps as n, resolveDynamicComponent as D, createCommentVNode as u, createElementVNode as I, createTextVNode as g, toDisplayString as m } from "vue";
2
+ import { Info as B, CircleAlert as N, TriangleAlert as P, CircleCheck as S, LoaderCircle as R, X as q } from "lucide-vue-next";
3
+ import { useAlert as H } from "../../composables/useAlert.js";
4
+ const X = ["data-effect", "role", "aria-label", "aria-live", "aria-atomic", "aria-busy"], j = {
5
+ key: 0,
6
+ class: "hys-ui-alert-icon",
7
+ "aria-hidden": "true"
8
+ }, F = { class: "hys-ui-alert-content" }, G = {
9
+ key: 0,
10
+ class: "hys-ui-alert-title"
11
+ }, J = {
12
+ key: 1,
13
+ class: "hys-ui-alert-description"
14
+ }, K = {
15
+ key: 1,
16
+ class: "hys-ui-alert-action"
17
+ }, M = ["aria-label", "disabled"], O = { key: 0 }, Y = /* @__PURE__ */ z({
18
+ inheritAttrs: !1,
19
+ __name: "HysAlert",
20
+ props: {
21
+ tone: {},
22
+ title: {},
23
+ description: {},
24
+ closable: { type: Boolean },
25
+ showIcon: { type: Boolean, default: void 0 },
26
+ center: { type: Boolean },
27
+ visible: { type: Boolean, default: void 0 },
28
+ modelValue: { type: Boolean, default: void 0 },
29
+ defaultVisible: { type: Boolean, default: !0 },
30
+ effect: { default: "light" },
31
+ banner: { type: Boolean },
32
+ bordered: { type: Boolean, default: !0 },
33
+ size: { default: "md" },
34
+ closeText: {},
35
+ closeLabel: { default: "关闭提示" },
36
+ disabled: { type: Boolean },
37
+ beforeClose: {},
38
+ transition: { default: "fade" },
39
+ transitionDuration: { default: 180 },
40
+ appear: { type: Boolean },
41
+ ariaLabel: {},
42
+ ariaLive: {},
43
+ ariaAtomic: { type: Boolean, default: !0 }
44
+ },
45
+ emits: ["close", "update:visible", "update:modelValue", "visibleChange", "closeRequest", "closeError", "afterClose"],
46
+ setup(t, { expose: k, emit: L }) {
47
+ const b = t, C = L, c = T(), p = V(), e = H(b, (i, ...d) => C(i, ...d)), A = h(
48
+ () => ({
49
+ success: S,
50
+ warning: P,
51
+ danger: N,
52
+ info: B,
53
+ primary: B
54
+ })[e.tone.value]
55
+ ), y = h(
56
+ () => !!(b.description || c.default || c.description)
57
+ ), w = h(
58
+ () => ({
59
+ info: "var(--hys-ui-info,#3867f5)",
60
+ primary: "var(--hys-ui-primary,var(--hys-ui-theme-primary))",
61
+ success: "var(--hys-ui-success,#16a46e)",
62
+ warning: "var(--hys-ui-warning,#d9860c)",
63
+ danger: "var(--hys-ui-red,var(--hys-ui-theme-red,#ed4556))"
64
+ })[e.tone.value]
65
+ );
66
+ return k({
67
+ element: e.element,
68
+ visible: e.visible,
69
+ closing: e.closing,
70
+ close: () => e.close(),
71
+ show: e.show
72
+ }), (i, d) => (l(), v($, {
73
+ name: "hys-ui-alert-" + t.transition,
74
+ css: a(e).duration.value > 0,
75
+ duration: a(e).duration.value,
76
+ appear: t.appear,
77
+ onBeforeLeave: a(e).beforeLeave,
78
+ onAfterLeave: a(e).afterLeave,
79
+ onBeforeEnter: a(e).restore,
80
+ onLeaveCancelled: a(e).restore
81
+ }, {
82
+ default: E(() => [
83
+ a(e).visible.value ? (l(), o("div", x({
84
+ key: 0,
85
+ ref: (f) => a(e).element.value = f
86
+ }, { ...a(e).skin.value, ...a(p) }, {
87
+ class: ["hys-ui-ex-alert hys-ui-alert-panel", [
88
+ "hys-ui-ex-" + a(e).tone.value,
89
+ "hys-ui-alert-" + t.size,
90
+ {
91
+ "hys-ui-alert-banner": t.banner,
92
+ "hys-ui-alert-center": t.center,
93
+ "hys-ui-alert-bordered": t.bordered,
94
+ "hys-ui-alert-description": y.value
95
+ }
96
+ ]],
97
+ "data-effect": t.effect,
98
+ style: {
99
+ "--hys-ui-alert-color": w.value,
100
+ "--hys-ui-alert-duration": a(e).duration.value + "ms"
101
+ },
102
+ role: a(p).role || (a(e).tone.value === "danger" ? "alert" : "status"),
103
+ "aria-label": t.ariaLabel,
104
+ "aria-live": t.ariaLive,
105
+ "aria-atomic": t.ariaAtomic,
106
+ "aria-busy": a(e).closing.value || void 0
107
+ }), [
108
+ t.showIcon ?? t.banner ? (l(), o("span", j, [
109
+ s(i.$slots, "icon", r(n(a(e).scope.value)), () => [
110
+ (l(), v(D(A.value), {
111
+ size: y.value ? 22 : 18
112
+ }, null, 8, ["size"]))
113
+ ], !0)
114
+ ])) : u("", !0),
115
+ I("div", F, [
116
+ t.title || c.title ? (l(), o("strong", G, [
117
+ s(i.$slots, "title", r(n(a(e).scope.value)), () => [
118
+ g(m(t.title), 1)
119
+ ], !0)
120
+ ])) : u("", !0),
121
+ y.value ? (l(), o("div", J, [
122
+ s(i.$slots, "default", r(n(a(e).scope.value)), () => [
123
+ s(i.$slots, "description", r(n(a(e).scope.value)), () => [
124
+ g(m(t.description), 1)
125
+ ], !0)
126
+ ], !0)
127
+ ])) : u("", !0)
128
+ ]),
129
+ c.action ? (l(), o("div", K, [
130
+ s(i.$slots, "action", r(n(a(e).scope.value)), void 0, !0)
131
+ ])) : u("", !0),
132
+ t.closable ? (l(), o("button", {
133
+ key: 2,
134
+ type: "button",
135
+ class: "hys-ui-alert-close",
136
+ "aria-label": t.closeLabel,
137
+ disabled: t.disabled || a(e).closing.value,
138
+ onClick: d[0] || (d[0] = (f) => a(e).close("button", f))
139
+ }, [
140
+ a(e).closing.value ? (l(), v(a(R), {
141
+ key: 0,
142
+ class: "hys-ui-alert-spinner",
143
+ size: 16,
144
+ "aria-hidden": "true"
145
+ })) : s(i.$slots, "close-icon", r(n(a(e).scope.value)), () => [
146
+ t.closeText ? (l(), o("span", O, m(t.closeText), 1)) : (l(), v(a(q), {
147
+ key: 1,
148
+ size: 16,
149
+ "aria-hidden": "true"
150
+ }))
151
+ ], !0, 1)
152
+ ], 8, M)) : u("", !0)
153
+ ], 16, X)) : u("", !0)
154
+ ]),
155
+ _: 3
156
+ }, 8, ["name", "css", "duration", "appear", "onBeforeLeave", "onAfterLeave", "onBeforeEnter", "onLeaveCancelled"]));
157
+ }
158
+ });
2
159
  export {
3
- f as default
160
+ Y as default
4
161
  };
@@ -1,7 +1,7 @@
1
1
  import o from "./HysAutocomplete2.vue.js";
2
2
  /* empty css */
3
3
  import t from "../../_virtual/_plugin-vue_export-helper.js";
4
- const c = /* @__PURE__ */ t(o, [["__scopeId", "data-v-d791cd3f"]]);
4
+ const r = /* @__PURE__ */ t(o, [["__scopeId", "data-v-b0abe6f4"]]);
5
5
  export {
6
- c as default
6
+ r as default
7
7
  };