@koi-design/uxd-ui 14.0.2 → 14.0.3

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 (200) hide show
  1. package/es/components/Alert/Alert.mjs +10 -24
  2. package/es/components/Alert/Alert.mjs.map +1 -1
  3. package/es/components/Alert/Alert.type.d.ts +5 -7
  4. package/es/components/Alert/Alert.type.mjs +4 -7
  5. package/es/components/Alert/Alert.type.mjs.map +1 -1
  6. package/es/components/Alert/Alert.vue.d.ts +5 -15
  7. package/es/components/Alert/index.d.ts +9 -27
  8. package/es/components/Alert/index.mjs +1 -1
  9. package/es/components/Calendar/Calendar.vue.d.ts +2 -2
  10. package/es/components/Calendar/index.d.ts +6 -6
  11. package/es/components/DatePicker/DatePicker.vue.d.ts +14 -14
  12. package/es/components/DatePicker/Panel/DatePickerPanel.vue.d.ts +4 -4
  13. package/es/components/DatePicker/Panel/DateRangePanel.vue.d.ts +6 -6
  14. package/es/components/DatePicker/Panel/RangePart.vue.d.ts +2 -2
  15. package/es/components/DatePicker/Trigger/DateRangeInput.vue.d.ts +4 -4
  16. package/es/components/DatePicker/index.d.ts +28 -28
  17. package/es/components/Menu/MenuItem.vue.d.ts +33 -33
  18. package/es/components/Menu/index.d.ts +33 -33
  19. package/es/components/Message/Message.mjs +4 -3
  20. package/es/components/Message/Message.mjs.map +1 -1
  21. package/es/components/Notice/Notice.mjs +15 -13
  22. package/es/components/Notice/Notice.mjs.map +1 -1
  23. package/es/components/Notice/Notice.type.d.ts +3 -2
  24. package/es/components/Notification/Notice.mjs +1 -5
  25. package/es/components/Notification/Notice.mjs.map +1 -1
  26. package/es/components/Notification/Notification.mjs.map +1 -1
  27. package/es/components/Rate/Rate.vue.d.ts +33 -33
  28. package/es/components/Rate/index.d.ts +66 -66
  29. package/es/components/Statistic/Statistic.vue.d.ts +33 -33
  30. package/es/components/Statistic/index.d.ts +66 -66
  31. package/es/components/Table/BaseTable.vue.d.ts +132 -132
  32. package/es/components/Table/BodyTable.vue.d.ts +132 -132
  33. package/es/components/Table/HeadTable.vue.d.ts +132 -132
  34. package/es/components/Table/Table.vue.d.ts +264 -264
  35. package/es/components/Table/TableBox.vue.d.ts +264 -264
  36. package/es/components/Table/tableUnits/ExpandRows.vue.d.ts +33 -33
  37. package/es/components/Table/tableUnits/FilterDropdown.vue.d.ts +66 -66
  38. package/es/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +66 -66
  39. package/es/components/Table/tableUnits/TableBody.vue.d.ts +66 -66
  40. package/es/components/Table/tableUnits/TableCell.vue.d.ts +33 -33
  41. package/es/components/Table/tableUnits/TableHeader.vue.d.ts +66 -66
  42. package/es/components/Table/tableUnits/TableHeaderRow.vue.d.ts +66 -66
  43. package/es/components/Table/tableUnits/TableRow.vue.d.ts +33 -33
  44. package/es/components/ThemePanel/ThemePanel.vue.d.ts +33 -33
  45. package/es/components/ThemePanel/index.d.ts +66 -66
  46. package/es/components/TimePicker/Panel/TimeRangePane.vue.d.ts +4 -4
  47. package/es/components/TimePicker/TimePicker.vue.d.ts +12 -12
  48. package/es/components/TimePicker/Trigger/TimeRangeInput.vue.d.ts +4 -4
  49. package/es/components/TimePicker/index.d.ts +28 -28
  50. package/es/components/Tooltip/Tooltip.mjs +84 -8
  51. package/es/components/Tooltip/Tooltip.mjs.map +1 -1
  52. package/es/components/Tooltip/Tooltip.type.d.ts +2 -2
  53. package/es/components/Tooltip/Tooltip.type.mjs +1 -3
  54. package/es/components/Tooltip/Tooltip.type.mjs.map +1 -1
  55. package/es/components/Tooltip/Tooltip.vue.d.ts +13 -13
  56. package/es/components/Tooltip/index.d.ts +33 -33
  57. package/es/components/index.mjs +1 -1
  58. package/es/index.mjs +1 -1
  59. package/lib/components/Alert/Alert.js +9 -23
  60. package/lib/components/Alert/Alert.js.map +1 -1
  61. package/lib/components/Alert/Alert.type.d.ts +5 -7
  62. package/lib/components/Alert/Alert.type.js +4 -6
  63. package/lib/components/Alert/Alert.type.js.map +1 -1
  64. package/lib/components/Alert/Alert.vue.d.ts +5 -15
  65. package/lib/components/Alert/index.d.ts +9 -27
  66. package/lib/components/Alert/index.js +1 -0
  67. package/lib/components/Alert/index.js.map +1 -1
  68. package/lib/components/Calendar/Calendar.vue.d.ts +2 -2
  69. package/lib/components/Calendar/index.d.ts +6 -6
  70. package/lib/components/DatePicker/DatePicker.vue.d.ts +14 -14
  71. package/lib/components/DatePicker/Panel/DatePickerPanel.vue.d.ts +4 -4
  72. package/lib/components/DatePicker/Panel/DateRangePanel.vue.d.ts +6 -6
  73. package/lib/components/DatePicker/Panel/RangePart.vue.d.ts +2 -2
  74. package/lib/components/DatePicker/Trigger/DateRangeInput.vue.d.ts +4 -4
  75. package/lib/components/DatePicker/index.d.ts +28 -28
  76. package/lib/components/Menu/MenuItem.vue.d.ts +33 -33
  77. package/lib/components/Menu/index.d.ts +33 -33
  78. package/lib/components/Message/Message.js +4 -3
  79. package/lib/components/Message/Message.js.map +1 -1
  80. package/lib/components/Notice/Notice.js +15 -13
  81. package/lib/components/Notice/Notice.js.map +1 -1
  82. package/lib/components/Notice/Notice.type.d.ts +3 -2
  83. package/lib/components/Notification/Notice.js +1 -5
  84. package/lib/components/Notification/Notice.js.map +1 -1
  85. package/lib/components/Notification/Notification.js.map +1 -1
  86. package/lib/components/Rate/Rate.vue.d.ts +33 -33
  87. package/lib/components/Rate/index.d.ts +66 -66
  88. package/lib/components/Statistic/Statistic.vue.d.ts +33 -33
  89. package/lib/components/Statistic/index.d.ts +66 -66
  90. package/lib/components/Table/BaseTable.vue.d.ts +132 -132
  91. package/lib/components/Table/BodyTable.vue.d.ts +132 -132
  92. package/lib/components/Table/HeadTable.vue.d.ts +132 -132
  93. package/lib/components/Table/Table.vue.d.ts +264 -264
  94. package/lib/components/Table/TableBox.vue.d.ts +264 -264
  95. package/lib/components/Table/tableUnits/ExpandRows.vue.d.ts +33 -33
  96. package/lib/components/Table/tableUnits/FilterDropdown.vue.d.ts +66 -66
  97. package/lib/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +66 -66
  98. package/lib/components/Table/tableUnits/TableBody.vue.d.ts +66 -66
  99. package/lib/components/Table/tableUnits/TableCell.vue.d.ts +33 -33
  100. package/lib/components/Table/tableUnits/TableHeader.vue.d.ts +66 -66
  101. package/lib/components/Table/tableUnits/TableHeaderRow.vue.d.ts +66 -66
  102. package/lib/components/Table/tableUnits/TableRow.vue.d.ts +33 -33
  103. package/lib/components/ThemePanel/ThemePanel.vue.d.ts +33 -33
  104. package/lib/components/ThemePanel/index.d.ts +66 -66
  105. package/lib/components/TimePicker/Panel/TimeRangePane.vue.d.ts +4 -4
  106. package/lib/components/TimePicker/TimePicker.vue.d.ts +12 -12
  107. package/lib/components/TimePicker/Trigger/TimeRangeInput.vue.d.ts +4 -4
  108. package/lib/components/TimePicker/index.d.ts +28 -28
  109. package/lib/components/Tooltip/Tooltip.js +84 -8
  110. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  111. package/lib/components/Tooltip/Tooltip.type.d.ts +2 -2
  112. package/lib/components/Tooltip/Tooltip.type.js +1 -3
  113. package/lib/components/Tooltip/Tooltip.type.js.map +1 -1
  114. package/lib/components/Tooltip/Tooltip.vue.d.ts +13 -13
  115. package/lib/components/Tooltip/index.d.ts +33 -33
  116. package/lib/components/index.js +1 -0
  117. package/lib/components/index.js.map +1 -1
  118. package/lib/index.js +1 -0
  119. package/lib/index.js.map +1 -1
  120. package/package.json +1 -1
  121. package/styles/components/alert/index.css +1 -1
  122. package/styles/components/alert/index.less +51 -48
  123. package/styles/components/alert/var.less +8 -42
  124. package/styles/components/autoComplete/index.css +1 -1
  125. package/styles/components/avatar/index.css +1 -1
  126. package/styles/components/badge/index.css +1 -1
  127. package/styles/components/badge/var.less +2 -2
  128. package/styles/components/button/index.css +1 -1
  129. package/styles/components/carousel/index.css +1 -1
  130. package/styles/components/cascader/index.css +1 -1
  131. package/styles/components/datePicker/index.css +1 -1
  132. package/styles/components/form/index.css +1 -1
  133. package/styles/components/icon/index.css +1 -1
  134. package/styles/components/input/index.css +1 -1
  135. package/styles/components/inputNumber/index.css +1 -1
  136. package/styles/components/link/index.css +1 -1
  137. package/styles/components/mentions/index.css +1 -1
  138. package/styles/components/message/index.css +1 -1
  139. package/styles/components/message/index.less +63 -30
  140. package/styles/components/message/var.less +6 -27
  141. package/styles/components/modal/index.css +1 -1
  142. package/styles/components/notice/index.css +1 -1
  143. package/styles/components/notice/index.less +93 -49
  144. package/styles/components/notice/var.less +10 -33
  145. package/styles/components/select/index.css +1 -1
  146. package/styles/components/spin/index.css +1 -1
  147. package/styles/components/tag/index.css +1 -1
  148. package/styles/components/tag/var.less +17 -17
  149. package/styles/components/timePicker/index.css +1 -1
  150. package/styles/components/tooltip/index.css +1 -1
  151. package/styles/components/tooltip/index.less +3 -55
  152. package/styles/components/tooltip/var.less +15 -14
  153. package/styles/cssVariable.css +1 -1
  154. package/styles/cssVariable.less +8 -9
  155. package/styles/index.css +1 -1
  156. package/types/components/Alert/Alert.type.d.ts +5 -7
  157. package/types/components/Alert/Alert.vue.d.ts +5 -15
  158. package/types/components/Alert/index.d.ts +9 -27
  159. package/types/components/Calendar/Calendar.vue.d.ts +2 -2
  160. package/types/components/Calendar/index.d.ts +6 -6
  161. package/types/components/DatePicker/DatePicker.vue.d.ts +14 -14
  162. package/types/components/DatePicker/Panel/DatePickerPanel.vue.d.ts +4 -4
  163. package/types/components/DatePicker/Panel/DateRangePanel.vue.d.ts +6 -6
  164. package/types/components/DatePicker/Panel/RangePart.vue.d.ts +2 -2
  165. package/types/components/DatePicker/Trigger/DateRangeInput.vue.d.ts +4 -4
  166. package/types/components/DatePicker/index.d.ts +28 -28
  167. package/types/components/Menu/MenuItem.vue.d.ts +33 -33
  168. package/types/components/Menu/index.d.ts +33 -33
  169. package/types/components/Notice/Notice.type.d.ts +3 -2
  170. package/types/components/Rate/Rate.vue.d.ts +33 -33
  171. package/types/components/Rate/index.d.ts +66 -66
  172. package/types/components/Statistic/Statistic.vue.d.ts +33 -33
  173. package/types/components/Statistic/index.d.ts +66 -66
  174. package/types/components/Table/BaseTable.vue.d.ts +132 -132
  175. package/types/components/Table/BodyTable.vue.d.ts +132 -132
  176. package/types/components/Table/HeadTable.vue.d.ts +132 -132
  177. package/types/components/Table/Table.vue.d.ts +264 -264
  178. package/types/components/Table/TableBox.vue.d.ts +264 -264
  179. package/types/components/Table/tableUnits/ExpandRows.vue.d.ts +33 -33
  180. package/types/components/Table/tableUnits/FilterDropdown.vue.d.ts +66 -66
  181. package/types/components/Table/tableUnits/SelectionCheckAll.vue.d.ts +66 -66
  182. package/types/components/Table/tableUnits/TableBody.vue.d.ts +66 -66
  183. package/types/components/Table/tableUnits/TableCell.vue.d.ts +33 -33
  184. package/types/components/Table/tableUnits/TableHeader.vue.d.ts +66 -66
  185. package/types/components/Table/tableUnits/TableHeaderRow.vue.d.ts +66 -66
  186. package/types/components/Table/tableUnits/TableRow.vue.d.ts +33 -33
  187. package/types/components/ThemePanel/ThemePanel.vue.d.ts +33 -33
  188. package/types/components/ThemePanel/index.d.ts +66 -66
  189. package/types/components/TimePicker/Panel/TimeRangePane.vue.d.ts +4 -4
  190. package/types/components/TimePicker/TimePicker.vue.d.ts +12 -12
  191. package/types/components/TimePicker/Trigger/TimeRangeInput.vue.d.ts +4 -4
  192. package/types/components/TimePicker/index.d.ts +28 -28
  193. package/types/components/Tooltip/Tooltip.type.d.ts +2 -2
  194. package/types/components/Tooltip/Tooltip.vue.d.ts +13 -13
  195. package/types/components/Tooltip/index.d.ts +33 -33
  196. package/uxd-ui.css +1 -1
  197. package/uxd-ui.esm.min.mjs +6 -6
  198. package/uxd-ui.esm.mjs +122 -64
  199. package/uxd-ui.umd.js +121 -62
  200. package/uxd-ui.umd.min.js +6 -6
@@ -34,7 +34,8 @@ const getMessageInstance = () => {
34
34
  const notice = (args) => {
35
35
  const {
36
36
  type,
37
- content
37
+ content,
38
+ showIcon = true
38
39
  } = args;
39
40
  const duration = args.duration !== void 0 ? args.duration : defaultDuration;
40
41
  const iconType = iconTypes[type];
@@ -51,8 +52,8 @@ const notice = (args) => {
51
52
  background: args.background,
52
53
  content: () => createVNode("div", {
53
54
  "class": `${prefixCls}-custom-content ${prefixCls}-${type}`,
54
- "data-color": type
55
- }, [createVNode(UIcon, {
55
+ "data-type": type
56
+ }, [showIcon && createVNode(UIcon, {
56
57
  "spin": type === "loading"
57
58
  }, {
58
59
  default: () => [createVNode(iconType, null, null)]
@@ -1 +1 @@
1
- {"version":3,"file":"Message.mjs","sources":["../../../../src/components/Message/Message.tsx"],"sourcesContent":["import type { Component } from 'vue';\nimport Notification from '@uxd-ui/components/Notification';\nimport UIcon from '@uxd-ui/components/Icon';\nimport { Info, CheckCircle, AlertCircle, CircleX, LoaderCircle } from 'lucide-vue-next';\nimport type { NoticationPublicInstance } from '../Notification/Notication.type';\nimport type { MessageOption, MessageParams, MessageType } from './Message.type';\n\nlet prefixCls = 'uui-message';\nconst prefixKey = 'uui_message_key_';\nlet defaultDuration = 3;\nlet defaultTop = '24px';\nlet key = 0;\nlet messageInstance: NoticationPublicInstance | null;\nlet transitionName = 'move-up';\nlet maxCount: number;\n\nconst iconTypes: Record<MessageType, Component> = {\n info: Info,\n success: CheckCircle,\n warning: AlertCircle,\n error: CircleX,\n loading: LoaderCircle\n};\n\nconst getMessageInstance = () => {\n messageInstance =\n messageInstance ||\n (Notification.newInstance({\n prefixCls,\n transitionName,\n style: { top: defaultTop },\n maxCount,\n type: 'message'\n }) as NoticationPublicInstance);\n return messageInstance;\n};\n\nconst notice = (args: MessageParams) => {\n const { type, content } = args;\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const iconType = iconTypes[type];\n key += 1;\n const target = args.key || `${prefixKey}${key}`;\n\n const instance = getMessageInstance();\n instance &&\n instance.notice({\n key: target,\n duration,\n style: {},\n msgType: type,\n closable: args.closable,\n onClose: args.onClose,\n background: args.background,\n content: () => (\n <div class={`${prefixCls}-custom-content ${prefixCls}-${type}`} data-color={type}>\n <UIcon spin={type === 'loading'}>\n <iconType />\n </UIcon>\n <span>{typeof content === 'function' ? content() : content}</span>\n </div>\n )\n });\n\n const result = () => {\n if (messageInstance) {\n messageInstance.remove(target);\n }\n };\n return result;\n};\n\nconst api = {\n config(options: MessageOption) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null;\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n messageInstance = null;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null;\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n },\n message(type: MessageType, options: string | Omit<MessageParams, 'type'>, duration?: number) {\n let opt: MessageParams;\n if (typeof options === 'string') {\n opt = {\n type,\n content: options,\n duration\n };\n } else {\n opt = {\n type,\n ...options,\n ...(duration ? { duration } : {})\n };\n }\n return notice(opt);\n },\n close(closeKey: string) {\n if (messageInstance) {\n messageInstance.remove(closeKey);\n }\n },\n destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n }\n};\n\nexport type MessageFunction = (options: string | Omit<MessageParams, 'type'>, duration?: number) => () => void;\n\nexport interface Message {\n config(options: MessageOption): void;\n message(type: MessageType, options: string | Omit<MessageParams, 'type'>, duration?: number | undefined): () => void;\n close(closeKey: string): void;\n destroy(): void;\n success: MessageFunction;\n info: MessageFunction;\n error: MessageFunction;\n warning: MessageFunction;\n loading: MessageFunction;\n}\n\n(['success', 'info', 'error', 'warning', 'loading'] as MessageType[]).forEach((type) => {\n (api as Message)[type] = (options: string | Omit<MessageParams, 'type'>, duration?: number) => {\n return api.message(type, options, duration);\n };\n});\n\nexport default api as Message;\n"],"names":["prefixCls","prefixKey","defaultDuration","defaultTop","key","messageInstance","transitionName","maxCount","iconTypes","info","Info","success","CheckCircle","warning","AlertCircle","error","CircleX","loading","LoaderCircle","getMessageInstance","Notification","newInstance","style","top","type","notice","args","content","duration","undefined","iconType","target","instance","msgType","closable","onClose","background","_createVNode","UIcon","default","result","remove","api","config","options","message","opt","close","closeKey","destroy","forEach"],"mappings":"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"}
1
+ {"version":3,"file":"Message.mjs","sources":["../../../../src/components/Message/Message.tsx"],"sourcesContent":["import type { Component } from 'vue';\nimport Notification from '@uxd-ui/components/Notification';\nimport UIcon from '@uxd-ui/components/Icon';\nimport { Info, CheckCircle, AlertCircle, CircleX, LoaderCircle } from 'lucide-vue-next';\nimport type { NoticationPublicInstance } from '../Notification/Notication.type';\nimport type { MessageOption, MessageParams, MessageType } from './Message.type';\n\nlet prefixCls = 'uui-message';\nconst prefixKey = 'uui_message_key_';\nlet defaultDuration = 3;\nlet defaultTop = '24px';\nlet key = 0;\nlet messageInstance: NoticationPublicInstance | null;\nlet transitionName = 'move-up';\nlet maxCount: number;\n\nconst iconTypes: Record<MessageType, Component> = {\n info: Info,\n success: CheckCircle,\n warning: AlertCircle,\n error: CircleX,\n loading: LoaderCircle\n};\n\nconst getMessageInstance = () => {\n messageInstance =\n messageInstance ||\n (Notification.newInstance({\n prefixCls,\n transitionName,\n style: { top: defaultTop },\n maxCount,\n type: 'message'\n }) as NoticationPublicInstance);\n return messageInstance;\n};\n\nconst notice = (args: MessageParams) => {\n const { type, content, showIcon = true } = args;\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n const iconType = iconTypes[type];\n key += 1;\n const target = args.key || `${prefixKey}${key}`;\n\n const instance = getMessageInstance();\n instance &&\n instance.notice({\n key: target,\n duration,\n style: {},\n msgType: type,\n closable: args.closable,\n onClose: args.onClose,\n background: args.background,\n content: () => (\n <div class={`${prefixCls}-custom-content ${prefixCls}-${type}`} data-type={type}>\n {showIcon && (\n <UIcon spin={type === 'loading'}>\n <iconType />\n </UIcon>\n )}\n <span>{typeof content === 'function' ? content() : content}</span>\n </div>\n )\n });\n\n const result = () => {\n if (messageInstance) {\n messageInstance.remove(target);\n }\n };\n return result;\n};\n\nconst api = {\n config(options: MessageOption) {\n if (options.top !== undefined) {\n defaultTop = options.top;\n messageInstance = null;\n }\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n messageInstance = null;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.transitionName !== undefined) {\n transitionName = options.transitionName;\n messageInstance = null;\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n messageInstance = null;\n }\n },\n message(type: MessageType, options: string | Omit<MessageParams, 'type'>, duration?: number) {\n let opt: MessageParams;\n if (typeof options === 'string') {\n opt = {\n type,\n content: options,\n duration\n };\n } else {\n opt = {\n type,\n ...options,\n ...(duration ? { duration } : {})\n };\n }\n return notice(opt);\n },\n close(closeKey: string) {\n if (messageInstance) {\n messageInstance.remove(closeKey);\n }\n },\n destroy() {\n if (messageInstance) {\n messageInstance.destroy();\n messageInstance = null;\n }\n }\n};\n\nexport type MessageFunction = (options: string | Omit<MessageParams, 'type'>, duration?: number) => () => void;\n\nexport interface Message {\n config(options: MessageOption): void;\n message(type: MessageType, options: string | Omit<MessageParams, 'type'>, duration?: number | undefined): () => void;\n close(closeKey: string): void;\n destroy(): void;\n success: MessageFunction;\n info: MessageFunction;\n error: MessageFunction;\n warning: MessageFunction;\n loading: MessageFunction;\n}\n\n(['success', 'info', 'error', 'warning', 'loading'] as MessageType[]).forEach((type) => {\n (api as Message)[type] = (options: string | Omit<MessageParams, 'type'>, duration?: number) => {\n return api.message(type, options, duration);\n };\n});\n\nexport default api as Message;\n"],"names":["prefixCls","prefixKey","defaultDuration","defaultTop","key","messageInstance","transitionName","maxCount","iconTypes","info","Info","success","CheckCircle","warning","AlertCircle","error","CircleX","loading","LoaderCircle","getMessageInstance","Notification","newInstance","style","top","type","notice","args","content","showIcon","duration","undefined","iconType","target","instance","msgType","closable","onClose","background","_createVNode","UIcon","default","result","remove","api","config","options","message","opt","close","closeKey","destroy","forEach"],"mappings":"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"}
@@ -7,9 +7,9 @@ import Notification from '../Notification/Notification.mjs';
7
7
  let prefixCls = "uui-notice";
8
8
  const prefixKey = "uui_notice_key_";
9
9
  let defaultDuration = 4.5;
10
- let defaultPlacement = "top-right";
11
- let defaultBottom = "24px";
12
- let defaultTop = "24px";
10
+ let defaultPlacement = "bottom-right";
11
+ let defaultBottom = "0px";
12
+ let defaultTop = "0px";
13
13
  let key = 0;
14
14
  const noticeInstance = {};
15
15
  const transitionName = "move-notice";
@@ -84,7 +84,8 @@ const notice = (args) => {
84
84
  placement,
85
85
  top,
86
86
  bottom,
87
- btn
87
+ action,
88
+ showIcon = true
88
89
  } = args;
89
90
  const duration = args.duration !== void 0 ? args.duration : defaultDuration;
90
91
  let iconType = propIconType || void 0;
@@ -98,15 +99,14 @@ const notice = (args) => {
98
99
  top,
99
100
  bottom
100
101
  });
101
- const IconNode = iconType ? createVNode("span", {
102
- "class": `${prefixCls}-icon ${prefixCls}-icon-${type}`,
103
- "data-color": type || void 0
102
+ const IconNode = showIcon && iconType ? createVNode("span", {
103
+ "class": `${prefixCls}-icon ${prefixCls}-icon-${type}`
104
104
  }, [createVNode(UIcon, {
105
105
  "class": `${iconClass || ""}`
106
106
  }, {
107
107
  default: () => [createVNode(iconType, null, null)]
108
108
  })]) : null;
109
- const withIconCls = iconType ? `${prefixCls}-with-icon ${prefixCls}-with-${type} ` : "";
109
+ const withIconCls = showIcon && iconType ? `${prefixCls}-with-icon ${prefixCls}-with-${type} ` : "";
110
110
  const withDescCls = desc ? `${prefixCls}-with-desc` : "";
111
111
  instance.notice({
112
112
  key: target,
@@ -116,14 +116,16 @@ const notice = (args) => {
116
116
  style: args.style || {},
117
117
  class: args.class,
118
118
  content: () => createVNode("div", {
119
- "class": `${withIconCls} ${withDescCls}`
120
- }, [IconNode, createVNode("div", {
119
+ "class": `${prefixCls}-wrapper ${withIconCls} ${withDescCls}`,
120
+ "data-type": type || void 0
121
+ }, [IconNode, createVNode("div", null, [createVNode("div", {
121
122
  "class": `${prefixCls}-title`
122
123
  }, [typeof title === "function" ? title() : title]), createVNode("div", {
123
124
  "class": `${prefixCls}-desc`
124
- }, [typeof desc === "function" ? desc() : desc]), btn ? createVNode("span", {
125
- "class": `${prefixCls}-btn`
126
- }, [typeof btn === "function" ? btn() : btn]) : null])
125
+ }, [typeof desc === "function" ? desc() : desc])]), action ? createVNode("button", {
126
+ "class": `${prefixCls}-btn`,
127
+ "onClick": args.onAction
128
+ }, [action]) : null])
127
129
  });
128
130
  const result = () => {
129
131
  const cls = `${prefixCls}-${placement}`;
@@ -1 +1 @@
1
- {"version":3,"file":"Notice.mjs","sources":["../../../../src/components/Notice/Notice.tsx"],"sourcesContent":["import type { Component } from 'vue';\nimport Notification from '@uxd-ui/components/Notification';\nimport UIcon from '@uxd-ui/components/Icon';\nimport { Info, CircleCheck, CircleAlert, CircleX } from 'lucide-vue-next';\nimport type { NoticationPublicInstance } from '../Notification/Notication.type';\nimport type { Notice, NoticeOptions, NoticeParams, NoticePlacement, NoticeType } from './Notice.type';\n\nlet prefixCls = 'uui-notice';\nconst prefixKey = 'uui_notice_key_';\nlet defaultDuration = 4.5;\nlet defaultPlacement: NoticePlacement = 'top-right';\nlet defaultBottom = '24px';\nlet defaultTop = '24px';\nlet key = 0;\nconst noticeInstance: Record<string, NoticationPublicInstance> = {};\nconst transitionName = 'move-notice';\nlet maxCount: number;\n\nconst iconTypes: Record<NoticeType, Component[]> = {\n info: [Info, Info],\n success: [CircleCheck, CircleCheck],\n warning: [CircleAlert, CircleAlert],\n error: [CircleX, CircleX]\n};\n\nconst getStyle = (placement: NoticePlacement, top = defaultTop, bottom = defaultBottom) => {\n let style;\n switch (placement) {\n case 'top-left':\n style = {\n left: '0px',\n top,\n bottom: 'auto'\n };\n break;\n case 'top-right':\n style = {\n right: '0px',\n top,\n bottom: 'auto'\n };\n break;\n case 'bottom-left':\n style = {\n left: '0px',\n top: 'auto',\n bottom\n };\n break;\n default:\n style = {\n right: '0px',\n top: 'auto',\n bottom\n };\n break;\n }\n return style;\n};\n\nconst getNoticeInstance = ({ placement = defaultPlacement, top, bottom }: NoticeParams) => {\n const cls = `${prefixCls}-${placement}`;\n if (noticeInstance[cls]) {\n return noticeInstance[cls];\n }\n const instance: NoticationPublicInstance = Notification.newInstance({\n prefixCls,\n class: cls,\n style: getStyle(placement, top, bottom),\n transitionName,\n maxCount,\n type: 'notice'\n });\n noticeInstance[cls] = instance;\n return instance;\n};\n\nconst notice = (args: NoticeParams) => {\n const { type, iconType: propIconType, iconClass, title, desc, placement, top, bottom, btn } = args;\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n let iconType = propIconType || undefined;\n if (type && !iconType) {\n iconType = desc ? iconTypes[type][1] : iconTypes[type][0];\n }\n key += 1;\n const target = args.key || `${prefixKey}${key}`;\n const instance = getNoticeInstance({\n placement,\n top,\n bottom\n } as NoticeParams);\n\n // const computedColor = {\n // info: 'blue',\n // error: 'red',\n // warning: 'orange',\n // success: 'green'\n // };\n\n const IconNode = iconType ? (\n <span class={`${prefixCls}-icon ${prefixCls}-icon-${type}`} data-color={type || undefined}>\n <UIcon class={`${iconClass || ''}`}>\n <iconType />\n </UIcon>\n </span>\n ) : null;\n const withIconCls = iconType ? `${prefixCls}-with-icon ${prefixCls}-with-${type} ` : '';\n const withDescCls = desc ? `${prefixCls}-with-desc` : '';\n instance.notice({\n key: target,\n duration,\n closable: true,\n onClose: args.onClose,\n style: args.style || {},\n class: args.class,\n content: () => (\n <div class={`${withIconCls} ${withDescCls}`}>\n {IconNode}\n <div class={`${prefixCls}-title`}>{typeof title === 'function' ? title() : title}</div>\n <div class={`${prefixCls}-desc`}>{typeof desc === 'function' ? desc() : desc}</div>\n {btn ? <span class={`${prefixCls}-btn`}>{typeof btn === 'function' ? btn() : btn}</span> : null}\n </div>\n )\n });\n\n const result = () => {\n const cls = `${prefixCls}-${placement}`;\n if (noticeInstance[cls]) {\n noticeInstance[cls].remove(target);\n }\n };\n return result;\n};\n\nconst api = {\n config(options: NoticeOptions) {\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.placement !== undefined) {\n defaultPlacement = options.placement;\n }\n if (options.bottom !== undefined) {\n defaultBottom = typeof options.bottom === 'number' ? `${options.bottom}px` : options.bottom;\n }\n if (options.top !== undefined) {\n defaultTop = typeof options.top === 'number' ? `${options.top}px` : options.top;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n }\n },\n open: notice,\n close(closeKey: string) {\n Object.keys(noticeInstance).forEach((cls) => {\n noticeInstance[cls].remove(closeKey);\n });\n },\n destroy() {\n Object.keys(noticeInstance).forEach((cls) => {\n noticeInstance[cls].destroy();\n delete noticeInstance[cls];\n });\n }\n};\n\n(['success', 'info', 'error', 'warning'] as NoticeType[]).forEach((type) => {\n (api as Notice)[type] = (args: Omit<NoticeParams, 'type'>) => {\n return api.open({ type, ...args });\n };\n});\n\nexport default api as Notice;\n"],"names":["prefixCls","prefixKey","defaultDuration","defaultPlacement","defaultBottom","defaultTop","key","noticeInstance","transitionName","maxCount","iconTypes","info","Info","success","CircleCheck","warning","CircleAlert","error","CircleX","getStyle","placement","top","bottom","style","left","right","getNoticeInstance","cls","instance","Notification","newInstance","class","type","notice","args","iconType","propIconType","iconClass","title","desc","btn","duration","undefined","target","IconNode","_createVNode","UIcon","default","withIconCls","withDescCls","closable","onClose","content","result","remove","api","config","options","open","close","closeKey","Object","keys","forEach","destroy"],"mappings":"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"}
1
+ {"version":3,"file":"Notice.mjs","sources":["../../../../src/components/Notice/Notice.tsx"],"sourcesContent":["import type { Component } from 'vue';\nimport Notification from '@uxd-ui/components/Notification';\nimport UIcon from '@uxd-ui/components/Icon';\nimport { Info, CircleCheck, CircleAlert, CircleX } from 'lucide-vue-next';\nimport type { NoticationPublicInstance } from '../Notification/Notication.type';\nimport type { Notice, NoticeOptions, NoticeParams, NoticePlacement, NoticeType } from './Notice.type';\n\nlet prefixCls = 'uui-notice';\nconst prefixKey = 'uui_notice_key_';\nlet defaultDuration = 4.5;\nlet defaultPlacement: NoticePlacement = 'bottom-right';\nlet defaultBottom = '0px';\nlet defaultTop = '0px';\nlet key = 0;\nconst noticeInstance: Record<string, NoticationPublicInstance> = {};\nconst transitionName = 'move-notice';\nlet maxCount: number;\n\nconst iconTypes: Record<NoticeType, Component[]> = {\n info: [Info, Info],\n success: [CircleCheck, CircleCheck],\n warning: [CircleAlert, CircleAlert],\n error: [CircleX, CircleX]\n};\n\nconst getStyle = (placement: NoticePlacement, top = defaultTop, bottom = defaultBottom) => {\n let style;\n switch (placement) {\n case 'top-left':\n style = {\n left: '0px',\n top,\n bottom: 'auto'\n };\n break;\n case 'top-right':\n style = {\n right: '0px',\n top,\n bottom: 'auto'\n };\n break;\n case 'bottom-left':\n style = {\n left: '0px',\n top: 'auto',\n bottom\n };\n break;\n default:\n style = {\n right: '0px',\n top: 'auto',\n bottom\n };\n break;\n }\n return style;\n};\n\nconst getNoticeInstance = ({ placement = defaultPlacement, top, bottom }: NoticeParams) => {\n const cls = `${prefixCls}-${placement}`;\n if (noticeInstance[cls]) {\n return noticeInstance[cls];\n }\n const instance: NoticationPublicInstance = Notification.newInstance({\n prefixCls,\n class: cls,\n style: getStyle(placement, top, bottom),\n transitionName,\n maxCount,\n type: 'notice'\n });\n noticeInstance[cls] = instance;\n return instance;\n};\n\nconst notice = (args: NoticeParams) => {\n const { type, iconType: propIconType, iconClass, title, desc, placement, top, bottom, action, showIcon = true } = args;\n const duration = args.duration !== undefined ? args.duration : defaultDuration;\n let iconType = propIconType || undefined;\n if (type && !iconType) {\n iconType = desc ? iconTypes[type][1] : iconTypes[type][0];\n }\n key += 1;\n const target = args.key || `${prefixKey}${key}`;\n const instance = getNoticeInstance({\n placement,\n top,\n bottom\n } as NoticeParams);\n\n // const computedColor = {\n // info: 'blue',\n // error: 'red',\n // warning: 'orange',\n // success: 'green'\n // };\n\n const IconNode =\n showIcon && iconType ? (\n <span class={`${prefixCls}-icon ${prefixCls}-icon-${type}`}>\n <UIcon class={`${iconClass || ''}`}>\n <iconType />\n </UIcon>\n </span>\n ) : null;\n const withIconCls = showIcon && iconType ? `${prefixCls}-with-icon ${prefixCls}-with-${type} ` : '';\n const withDescCls = desc ? `${prefixCls}-with-desc` : '';\n instance.notice({\n key: target,\n duration,\n closable: true,\n onClose: args.onClose,\n style: args.style || {},\n class: args.class,\n content: () => (\n <div class={`${prefixCls}-wrapper ${withIconCls} ${withDescCls}`} data-type={type || undefined}>\n {IconNode}\n <div>\n <div class={`${prefixCls}-title`}>{typeof title === 'function' ? title() : title}</div>\n <div class={`${prefixCls}-desc`}>{typeof desc === 'function' ? desc() : desc}</div>\n </div>\n {action ? (\n <button class={`${prefixCls}-btn`} onClick={args.onAction}>\n {action}\n </button>\n ) : null}\n </div>\n )\n });\n\n const result = () => {\n const cls = `${prefixCls}-${placement}`;\n if (noticeInstance[cls]) {\n noticeInstance[cls].remove(target);\n }\n };\n return result;\n};\n\nconst api = {\n config(options: NoticeOptions) {\n if (options.duration !== undefined) {\n defaultDuration = options.duration;\n }\n if (options.placement !== undefined) {\n defaultPlacement = options.placement;\n }\n if (options.bottom !== undefined) {\n defaultBottom = typeof options.bottom === 'number' ? `${options.bottom}px` : options.bottom;\n }\n if (options.top !== undefined) {\n defaultTop = typeof options.top === 'number' ? `${options.top}px` : options.top;\n }\n if (options.prefixCls !== undefined) {\n prefixCls = options.prefixCls;\n }\n if (options.maxCount !== undefined) {\n maxCount = options.maxCount;\n }\n },\n open: notice,\n close(closeKey: string) {\n Object.keys(noticeInstance).forEach((cls) => {\n noticeInstance[cls].remove(closeKey);\n });\n },\n destroy() {\n Object.keys(noticeInstance).forEach((cls) => {\n noticeInstance[cls].destroy();\n delete noticeInstance[cls];\n });\n }\n};\n\n(['success', 'info', 'error', 'warning'] as NoticeType[]).forEach((type) => {\n (api as Notice)[type] = (args: Omit<NoticeParams, 'type'>) => {\n return api.open({ type, ...args });\n };\n});\n\nexport default api as Notice;\n"],"names":["prefixCls","prefixKey","defaultDuration","defaultPlacement","defaultBottom","defaultTop","key","noticeInstance","transitionName","maxCount","iconTypes","info","Info","success","CircleCheck","warning","CircleAlert","error","CircleX","getStyle","placement","top","bottom","style","left","right","getNoticeInstance","cls","instance","Notification","newInstance","class","type","notice","args","iconType","propIconType","iconClass","title","desc","action","showIcon","duration","undefined","target","IconNode","_createVNode","UIcon","default","withIconCls","withDescCls","closable","onClose","content","onAction","result","remove","api","config","options","open","close","closeKey","Object","keys","forEach","destroy"],"mappings":"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"}
@@ -5,16 +5,17 @@ export interface NoticeParams {
5
5
  key?: string;
6
6
  type?: NoticeType;
7
7
  iconType?: Component;
8
+ showIcon?: boolean;
8
9
  iconClass?: string;
9
10
  title?: string | (() => VNodeChild);
10
11
  desc?: string | (() => VNodeChild);
11
12
  placement?: NoticePlacement;
12
13
  top?: string;
13
14
  bottom?: string;
14
- btn?: () => VNodeChild;
15
+ action?: string;
15
16
  duration?: number;
16
17
  onClose?: () => void;
17
- onClick?: (e?: any) => void;
18
+ onAction?: () => void;
18
19
  style?: CSSProperties;
19
20
  class?: string;
20
21
  }
@@ -105,11 +105,7 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
105
105
  }
106
106
  ])
107
107
  }, [
108
- createElementVNode("div", {
109
- class: normalizeClass(`${_ctx.prefixCls}-content-text`)
110
- }, [
111
- createVNode(_component_Render, { render: _ctx.content }, null, 8, ["render"])
112
- ], 2),
108
+ createVNode(_component_Render, { render: _ctx.content }, null, 8, ["render"]),
113
109
  _ctx.closable ? (openBlock(), createElementBlock("a", {
114
110
  key: 0,
115
111
  tabindex: "0",
@@ -1 +1 @@
1
- {"version":3,"file":"Notice.mjs","sources":["../../../../src/components/Notification/Notice.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n prefixCls,\n {\n [`${prefixCls}-closable`]: closable,\n [`${prefixCls}-background`]: background\n }\n ]\"\n @mouseenter=\"clearCloseTimer\"\n @mouseleave=\"startCloseTimer\"\n >\n <div\n :class=\"[\n `${prefixCls}-content`,\n {\n [`${prefixCls}-content-${msgType}`]: msgType\n }\n ]\"\n >\n <div :class=\"`${prefixCls}-content-text`\">\n <Render :render=\"content\" />\n </div>\n <a v-if=\"closable\" tabindex=\"0\" :class=\"`${prefixCls}-close`\" @click.stop.prevent=\"handleClose\">\n <UIcon>\n <X />\n </UIcon>\n </a>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, onMounted, onBeforeUnmount, watch } from 'vue';\nimport type { PropType, VNodeChild } from 'vue';\nimport { X } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport type { JSX } from 'vue/jsx-runtime';\nimport Render from '../base/Render';\nimport type { NoticeProps } from './Notication.type';\n\nexport default defineComponent({\n components: {\n UIcon,\n X,\n Render\n },\n props: {\n prefix: {\n type: String\n },\n duration: {\n type: Number,\n default: 1.5\n },\n closable: {\n type: Boolean,\n default: undefined as undefined\n },\n onClose: {\n type: Function as PropType<() => void>\n },\n content: {\n type: Function as PropType<() => VNodeChild | JSX.Element>\n },\n background: {\n type: Boolean,\n default: undefined as undefined\n },\n msgType: {\n type: String\n }\n },\n emits: ['close'],\n setup(props: NoticeProps, { emit }) {\n const prefixCls = computed(() => {\n return `${props.prefix}-notice`;\n });\n\n let closeTimer: any = null;\n let willDestory = false;\n\n const clearCloseTimer = () => {\n if (closeTimer) {\n clearTimeout(closeTimer);\n closeTimer = null;\n }\n };\n\n const handleClose = () => {\n clearCloseTimer();\n emit('close');\n };\n\n const startCloseTimer = () => {\n clearCloseTimer();\n if (props.duration !== 0 && !willDestory) {\n closeTimer = setTimeout(() => {\n handleClose();\n }, props.duration * 1000);\n }\n };\n\n onMounted(() => {\n startCloseTimer();\n });\n\n onBeforeUnmount(() => {\n clearCloseTimer();\n willDestory = true;\n });\n\n watch(\n () => props.duration,\n () => {\n startCloseTimer();\n }\n );\n\n return {\n prefixCls,\n handleClose,\n startCloseTimer,\n clearCloseTimer\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_createVNode"],"mappings":";;;;;;AAyCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AACF,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA;AACR,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA;AACR,IACA,SAAS;AAAA,MACP,MAAM;AAAA;AACR,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA;AACR;AACF,EACA,OAAO,CAAC,OAAO;AAAA,EACf,MAAM,OAAoB,EAAE,QAAQ;UAC5B,YAAY,SAAS,MAAM;aACxB,GAAG,MAAM;AAAA,KACjB;QAEG,aAAkB;QAClB,cAAc;UAEZ,kBAAkB,MAAM;UACxB,YAAY;qBACD,UAAU;qBACV;AAAA;AACf;UAGI,cAAc,MAAM;;WAEnB,OAAO;AAAA;UAGR,kBAAkB,MAAM;;UAExB,MAAM,aAAa,KAAK,CAAC,aAAa;qBAC3B,WAAW,MAAM;;AAChB,WACX,MAAM,WAAW,GAAI;AAAA;AAC1B;cAGQ,MAAM;;AACE,KACjB;oBAEe,MAAM;;oBAEN;AAAA,KACf;;MAGC,MAAM,MAAM;AAAA,MACZ,MAAM;;AACY;AAClB;WAGK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;;sBA7HCA,mBA4BM;IA3BH,OAAKC;MAAU;;YAA+B,4BAAuB;YAAsB,8BAAyB;;;IAOpH,cAAU,uCAAE;IACZ,cAAU,uCAAE;;IAEbC,mBAgBM;MAfH,OAAKD;WAAe;;cAA6C,0BAAqB,iBAAY;;;;MAOnGC,mBAEM;QAFA,OAAKD,kBAAK,6BAAS;AAAA;QACvBE,YAA4B,qBAAnB,QAAQ;;MAEV,8BAATH,mBAII;;QAJe,UAAS;AAAA,QAAK,OAAKC,kBAAK,sBAAS;AAAA,QAAW,SAAK,qDAAe,+CAAW;;QAC5FE,YAEQ;2BADN,MAAK;AAAA,YAALA,YAAK;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Notice.mjs","sources":["../../../../src/components/Notification/Notice.vue"],"sourcesContent":["<template>\n <div\n :class=\"[\n prefixCls,\n {\n [`${prefixCls}-closable`]: closable,\n [`${prefixCls}-background`]: background\n }\n ]\"\n @mouseenter=\"clearCloseTimer\"\n @mouseleave=\"startCloseTimer\"\n >\n <div\n :class=\"[\n `${prefixCls}-content`,\n {\n [`${prefixCls}-content-${msgType}`]: msgType\n }\n ]\"\n >\n <Render :render=\"content\" />\n\n <a v-if=\"closable\" tabindex=\"0\" :class=\"`${prefixCls}-close`\" @click.stop.prevent=\"handleClose\">\n <UIcon>\n <X />\n </UIcon>\n </a>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, computed, onMounted, onBeforeUnmount, watch } from 'vue';\nimport type { PropType, VNodeChild } from 'vue';\nimport { X } from 'lucide-vue-next';\nimport UIcon from '@uxd-ui/components/Icon';\nimport type { JSX } from 'vue/jsx-runtime';\nimport Render from '../base/Render';\nimport type { NoticeProps } from './Notication.type';\n\nexport default defineComponent({\n components: {\n UIcon,\n X,\n Render\n },\n props: {\n prefix: {\n type: String\n },\n duration: {\n type: Number,\n default: 1.5\n },\n closable: {\n type: Boolean,\n default: undefined as undefined\n },\n onClose: {\n type: Function as PropType<() => void>\n },\n content: {\n type: Function as PropType<() => VNodeChild | JSX.Element>\n },\n background: {\n type: Boolean,\n default: undefined as undefined\n },\n msgType: {\n type: String\n }\n },\n emits: ['close'],\n setup(props: NoticeProps, { emit }) {\n const prefixCls = computed(() => {\n return `${props.prefix}-notice`;\n });\n\n let closeTimer: any = null;\n let willDestory = false;\n\n const clearCloseTimer = () => {\n if (closeTimer) {\n clearTimeout(closeTimer);\n closeTimer = null;\n }\n };\n\n const handleClose = () => {\n clearCloseTimer();\n emit('close');\n };\n\n const startCloseTimer = () => {\n clearCloseTimer();\n if (props.duration !== 0 && !willDestory) {\n closeTimer = setTimeout(() => {\n handleClose();\n }, props.duration * 1000);\n }\n };\n\n onMounted(() => {\n startCloseTimer();\n });\n\n onBeforeUnmount(() => {\n clearCloseTimer();\n willDestory = true;\n });\n\n watch(\n () => props.duration,\n () => {\n startCloseTimer();\n }\n );\n\n return {\n prefixCls,\n handleClose,\n startCloseTimer,\n clearCloseTimer\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createElementVNode","_createVNode"],"mappings":";;;;;;AAwCA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA;AACF,EACA,OAAO;AAAA,IACL,QAAQ;AAAA,MACN,MAAM;AAAA;AACR,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA;AACR,IACA,SAAS;AAAA,MACP,MAAM;AAAA;AACR,IACA,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA;AACX,IACA,SAAS;AAAA,MACP,MAAM;AAAA;AACR;AACF,EACA,OAAO,CAAC,OAAO;AAAA,EACf,MAAM,OAAoB,EAAE,QAAQ;UAC5B,YAAY,SAAS,MAAM;aACxB,GAAG,MAAM;AAAA,KACjB;QAEG,aAAkB;QAClB,cAAc;UAEZ,kBAAkB,MAAM;UACxB,YAAY;qBACD,UAAU;qBACV;AAAA;AACf;UAGI,cAAc,MAAM;;WAEnB,OAAO;AAAA;UAGR,kBAAkB,MAAM;;UAExB,MAAM,aAAa,KAAK,CAAC,aAAa;qBAC3B,WAAW,MAAM;;AAChB,WACX,MAAM,WAAW,GAAI;AAAA;AAC1B;cAGQ,MAAM;;AACE,KACjB;oBAEe,MAAM;;oBAEN;AAAA,KACf;;MAGC,MAAM,MAAM;AAAA,MACZ,MAAM;;AACY;AAClB;WAGK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;;;sBA5HCA,mBA2BM;IA1BH,OAAKC;MAAU;;YAA+B,4BAAuB;YAAsB,8BAAyB;;;IAOpH,cAAU,uCAAE;IACZ,cAAU,uCAAE;;IAEbC,mBAeM;MAdH,OAAKD;WAAe;;cAA6C,0BAAqB,iBAAY;;;;MAOnGE,YAA4B,qBAAnB,QAAQ;MAER,8BAATH,mBAII;;QAJe,UAAS;AAAA,QAAK,OAAKC,kBAAK,sBAAS;AAAA,QAAW,SAAK,qDAAe,+CAAW;;QAC5FE,YAEQ;2BADN,MAAK;AAAA,YAALA,YAAK;;;;;;;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Notification.mjs","sources":["../../../../src/components/Notification/Notification.vue"],"sourcesContent":["<template>\n <div :class=\"[prefixCls]\">\n <transition-group tag=\"span\" appear :name=\"transitionName\" :leave-active-class=\"type === 'message' ? 'message-up-leave' : undefined\">\n <Notice\n v-for=\"notice in notices\"\n :key=\"notice.key\"\n :prefix=\"prefixCls\"\n :duration=\"notice.duration\"\n :closable=\"notice.closable\"\n :style=\"notice.style\"\n :background=\"notice.background\"\n :content=\"notice.content\"\n :class=\"notice.class\"\n :msg-type=\"notice.msgType\"\n @close=\"handleClose(notice)\"\n @click=\"notice.onClick || noop\"\n >\n </Notice>\n </transition-group>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport type { PropType, Ref } from 'vue';\nimport { oneOf } from '../../utils/propsValidators';\nimport Notice from './Notice.vue';\nimport type { NoticeInstance, NoticationType } from './Notication.type';\n\nfunction noop() {}\nlet i = 0;\nconst generateId = () => {\n return (prefix = 'uui-notification') => {\n i += 1;\n return `${prefix}-${i}`;\n };\n};\nconst defineProps = {\n prefixCls: {\n type: String,\n default: 'uui-notifiction'\n },\n transitionName: {\n type: String,\n default: 'fade'\n },\n maxCount: {\n type: Number\n },\n type: {\n type: String as PropType<NoticationType>,\n validator: oneOf(['message', 'notice'])\n }\n};\nexport default defineComponent({\n components: {\n Notice\n },\n props: defineProps,\n setup(props) {\n const notices: Ref<NoticeInstance[]> = ref([]);\n\n const add = (notice: NoticeInstance) => {\n const key = notice.key || generateId()(props.prefixCls);\n notice.key = key;\n const noticeIndex = notices.value.findIndex((x) => x.key === notice.key);\n if (noticeIndex !== -1) {\n notices.value.splice(noticeIndex, 1, notice);\n } else {\n if (props.maxCount && notices.value.length >= props.maxCount) {\n notices.value.shift();\n }\n notices.value.push(notice);\n }\n };\n const remove = (key: string) => {\n notices.value = notices.value.filter((x) => x.key !== key);\n };\n\n const handleClose = (n: NoticeInstance) => {\n remove(n.key as string);\n if (n.onClose) {\n n.onClose();\n }\n };\n\n return {\n notices,\n add,\n remove,\n handleClose,\n noop\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createVNode","_TransitionGroup","_Fragment","_createBlock","_normalizeStyle"],"mappings":";;;;;AA6BA,SAAS,OAAO;AAAC;AACjB,IAAI,IAAI;AACR,MAAM,aAAa,MAAM;SAChB,CAAC,SAAS,uBAAuB;SACjC;WACE,GAAG,UAAU;AAAA;AAExB;AACA,MAAM,cAAc;AAAA,EAClB,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,IACR,MAAM;AAAA;AACR,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW,MAAM,CAAC,WAAW,QAAQ,CAAC;AAAA;AAE1C;AACA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA;AACF,EACA,OAAO;AAAA,EACP,MAAM,OAAO;UACL,UAAiC,IAAI,EAAE;UAEvC,MAAM,CAAC,WAA2B;YAChC,MAAM,OAAO,OAAO,aAAa,MAAM,SAAS;aAC/C,MAAM;YACP,cAAc,QAAQ,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,OAAO,GAAG;UACnE,gBAAgB,IAAI;gBACd,MAAM,OAAO,aAAa,GAAG,MAAM;AAAA,aACtC;YACD,MAAM,YAAY,QAAQ,MAAM,UAAU,MAAM,UAAU;kBACpD,MAAM;AAAM;gBAEd,MAAM,KAAK,MAAM;AAAA;AAC3B;UAEI,SAAS,CAAC,QAAgB;cACtB,QAAQ,QAAQ,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG;AAAA;UAGrD,cAAc,CAAC,MAAsB;aAClC,EAAE,GAAa;UAClB,EAAE,SAAS;UACX;AAAQ;AACZ;WAGK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;sBA7FCA,mBAkBM;IAlBA,OAAKC,gBAAG,cAAS;;IACrBC,YAgBmBC;MAhBD,KAAI;AAAA,MAAO;MAAQ,MAAM;MAAiB,sBAAoB,cAAI,iCAAsC;AAAA;uBAEtH,MAAyB;AAAA,0BAD3BH,mBAcSI,2BAbU,cAAO,CAAjB,WAAM;8BADfC,YAcS;YAZN,KAAK,OAAO;AAAA,YACZ,QAAQ;YACR,UAAU,OAAO;AAAA,YACjB,UAAU,OAAO;AAAA,YACjB,OAAKC,eAAE,OAAO,KAAK;AAAA,YACnB,YAAY,OAAO;AAAA,YACnB,SAAS,OAAO;AAAA,YAChB,OAAKL,eAAE,OAAO,KAAK;AAAA,YACnB,YAAU,OAAO;AAAA,YACjB,SAAK,YAAE,iBAAY,MAAM;AAAA,YACzB,SAAK,YAAE,OAAO,WAAW;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Notification.mjs","sources":["../../../../src/components/Notification/Notification.vue"],"sourcesContent":["<template>\n <div :class=\"[prefixCls]\">\n <transition-group tag=\"span\" appear :name=\"transitionName\" :leave-active-class=\"type === 'message' ? 'message-up-leave' : undefined\">\n <Notice\n v-for=\"notice in notices\"\n :key=\"notice.key\"\n :prefix=\"prefixCls\"\n :duration=\"notice.duration\"\n :closable=\"notice.closable\"\n :style=\"notice.style\"\n :background=\"notice.background\"\n :content=\"notice.content\"\n :class=\"notice.class\"\n :msg-type=\"notice.msgType\"\n @close=\"handleClose(notice)\"\n @click=\"notice.onClick || noop\"\n />\n </transition-group>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, ref } from 'vue';\nimport type { PropType, Ref } from 'vue';\nimport { oneOf } from '../../utils/propsValidators';\nimport Notice from './Notice.vue';\nimport type { NoticeInstance, NoticationType } from './Notication.type';\n\nfunction noop() {}\nlet i = 0;\nconst generateId = () => {\n return (prefix = 'uui-notification') => {\n i += 1;\n return `${prefix}-${i}`;\n };\n};\nconst defineProps = {\n prefixCls: {\n type: String,\n default: 'uui-notifiction'\n },\n transitionName: {\n type: String,\n default: 'fade'\n },\n maxCount: {\n type: Number\n },\n type: {\n type: String as PropType<NoticationType>,\n validator: oneOf(['message', 'notice'])\n }\n};\nexport default defineComponent({\n components: {\n Notice\n },\n props: defineProps,\n setup(props) {\n const notices: Ref<NoticeInstance[]> = ref([]);\n\n const add = (notice: NoticeInstance) => {\n const key = notice.key || generateId()(props.prefixCls);\n notice.key = key;\n const noticeIndex = notices.value.findIndex((x) => x.key === notice.key);\n if (noticeIndex !== -1) {\n notices.value.splice(noticeIndex, 1, notice);\n } else {\n if (props.maxCount && notices.value.length >= props.maxCount) {\n notices.value.shift();\n }\n notices.value.push(notice);\n }\n };\n const remove = (key: string) => {\n notices.value = notices.value.filter((x) => x.key !== key);\n };\n\n const handleClose = (n: NoticeInstance) => {\n remove(n.key as string);\n if (n.onClose) {\n n.onClose();\n }\n };\n\n return {\n notices,\n add,\n remove,\n handleClose,\n noop\n };\n }\n});\n</script>\n"],"names":["_createElementBlock","_normalizeClass","_createVNode","_TransitionGroup","_Fragment","_createBlock","_normalizeStyle"],"mappings":";;;;;AA4BA,SAAS,OAAO;AAAC;AACjB,IAAI,IAAI;AACR,MAAM,aAAa,MAAM;SAChB,CAAC,SAAS,uBAAuB;SACjC;WACE,GAAG,UAAU;AAAA;AAExB;AACA,MAAM,cAAc;AAAA,EAClB,WAAW;AAAA,IACT,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,gBAAgB;AAAA,IACd,MAAM;AAAA,IACN,SAAS;AAAA;AACX,EACA,UAAU;AAAA,IACR,MAAM;AAAA;AACR,EACA,MAAM;AAAA,IACJ,MAAM;AAAA,IACN,WAAW,MAAM,CAAC,WAAW,QAAQ,CAAC;AAAA;AAE1C;AACA,MAAK,YAAa,gBAAa;AAAA,EAC7B,YAAY;AAAA,IACV;AAAA;AACF,EACA,OAAO;AAAA,EACP,MAAM,OAAO;UACL,UAAiC,IAAI,EAAE;UAEvC,MAAM,CAAC,WAA2B;YAChC,MAAM,OAAO,OAAO,aAAa,MAAM,SAAS;aAC/C,MAAM;YACP,cAAc,QAAQ,MAAM,UAAU,CAAC,MAAM,EAAE,QAAQ,OAAO,GAAG;UACnE,gBAAgB,IAAI;gBACd,MAAM,OAAO,aAAa,GAAG,MAAM;AAAA,aACtC;YACD,MAAM,YAAY,QAAQ,MAAM,UAAU,MAAM,UAAU;kBACpD,MAAM;AAAM;gBAEd,MAAM,KAAK,MAAM;AAAA;AAC3B;UAEI,SAAS,CAAC,QAAgB;cACtB,QAAQ,QAAQ,MAAM,OAAO,CAAC,MAAM,EAAE,QAAQ,GAAG;AAAA;UAGrD,cAAc,CAAC,MAAsB;aAClC,EAAE,GAAa;UAClB,EAAE,SAAS;UACX;AAAQ;AACZ;WAGK;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AACF;AAEJ,CAAC;;;sBA5FCA,mBAiBM;IAjBA,OAAKC,gBAAG,cAAS;;IACrBC,YAemBC;MAfD,KAAI;AAAA,MAAO;MAAQ,MAAM;MAAiB,sBAAoB,cAAI,iCAAsC;AAAA;uBAEtH,MAAyB;AAAA,0BAD3BH,mBAaEI,2BAZiB,cAAO,CAAjB,WAAM;8BADfC,YAaE;YAXC,KAAK,OAAO;AAAA,YACZ,QAAQ;YACR,UAAU,OAAO;AAAA,YACjB,UAAU,OAAO;AAAA,YACjB,OAAKC,eAAE,OAAO,KAAK;AAAA,YACnB,YAAY,OAAO;AAAA,YACnB,SAAS,OAAO;AAAA,YAChB,OAAKL,eAAE,OAAO,KAAK;AAAA,YACnB,YAAU,OAAO;AAAA,YACjB,SAAK,YAAE,iBAAY,MAAM;AAAA,YACzB,SAAK,YAAE,OAAO,WAAW;;;;;;;;;;;;"}
@@ -370,8 +370,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
370
370
  default: boolean;
371
371
  };
372
372
  color: {
373
- type: import("vue").PropType<"primary" | "blue" | "light" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint">;
374
- default: "primary" | "blue" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint";
373
+ type: import("vue").PropType<"light" | "red">;
374
+ default: "light" | "red";
375
375
  validator: (val: string) => boolean;
376
376
  };
377
377
  }>> & Readonly<{
@@ -383,41 +383,41 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
383
383
  prefixCls: import("vue").ComputedRef<string>;
384
384
  arrowStyle: import("vue").ComputedRef<{
385
385
  top: string;
386
+ right: string;
386
387
  transform: string;
387
388
  bottom?: undefined;
388
389
  left?: undefined;
389
- right?: undefined;
390
390
  } | {
391
391
  bottom: string;
392
+ right: string;
392
393
  transform: string;
393
394
  top?: undefined;
394
395
  left?: undefined;
395
- right?: undefined;
396
396
  } | {
397
+ top: string;
397
398
  left: string;
398
399
  transform: string;
399
- top?: undefined;
400
- bottom?: undefined;
401
400
  right?: undefined;
401
+ bottom?: undefined;
402
402
  } | {
403
- right: string;
403
+ bottom: string;
404
+ left: string;
404
405
  transform: string;
405
406
  top?: undefined;
406
- bottom?: undefined;
407
- left?: undefined;
407
+ right?: undefined;
408
408
  } | {
409
409
  top?: undefined;
410
+ right?: undefined;
410
411
  transform?: undefined;
411
412
  bottom?: undefined;
412
413
  left?: undefined;
413
- right?: undefined;
414
414
  }>;
415
415
  onVisibleChange: (val: boolean) => void;
416
416
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
417
417
  'visible-change': (v: boolean) => boolean;
418
418
  'update:visible': (v: boolean) => boolean;
419
419
  }, import("vue").PublicProps, {
420
- color: "primary" | "blue" | "light" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint";
420
+ color: "light" | "red";
421
421
  offset: number[];
422
422
  visible: boolean;
423
423
  placement: "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end";
@@ -671,8 +671,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
671
671
  default: boolean;
672
672
  };
673
673
  color: {
674
- type: import("vue").PropType<"primary" | "blue" | "light" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint">;
675
- default: "primary" | "blue" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint";
674
+ type: import("vue").PropType<"light" | "red">;
675
+ default: "light" | "red";
676
676
  validator: (val: string) => boolean;
677
677
  };
678
678
  }>> & Readonly<{
@@ -684,38 +684,38 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
684
684
  prefixCls: import("vue").ComputedRef<string>;
685
685
  arrowStyle: import("vue").ComputedRef<{
686
686
  top: string;
687
+ right: string;
687
688
  transform: string;
688
689
  bottom?: undefined;
689
690
  left?: undefined;
690
- right?: undefined;
691
691
  } | {
692
692
  bottom: string;
693
+ right: string;
693
694
  transform: string;
694
695
  top?: undefined;
695
696
  left?: undefined;
696
- right?: undefined;
697
697
  } | {
698
+ top: string;
698
699
  left: string;
699
700
  transform: string;
700
- top?: undefined;
701
- bottom?: undefined;
702
701
  right?: undefined;
702
+ bottom?: undefined;
703
703
  } | {
704
- right: string;
704
+ bottom: string;
705
+ left: string;
705
706
  transform: string;
706
707
  top?: undefined;
707
- bottom?: undefined;
708
- left?: undefined;
708
+ right?: undefined;
709
709
  } | {
710
710
  top?: undefined;
711
+ right?: undefined;
711
712
  transform?: undefined;
712
713
  bottom?: undefined;
713
714
  left?: undefined;
714
- right?: undefined;
715
715
  }>;
716
716
  onVisibleChange: (val: boolean) => void;
717
717
  }, {}, {}, {}, {
718
- color: "primary" | "blue" | "light" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint";
718
+ color: "light" | "red";
719
719
  offset: number[];
720
720
  visible: boolean;
721
721
  placement: "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end";
@@ -778,8 +778,8 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
778
778
  default: boolean;
779
779
  };
780
780
  color: {
781
- type: import("vue").PropType<"primary" | "blue" | "light" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint">;
782
- default: "primary" | "blue" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint";
781
+ type: import("vue").PropType<"light" | "red">;
782
+ default: "light" | "red";
783
783
  validator: (val: string) => boolean;
784
784
  };
785
785
  }>> & Readonly<{
@@ -791,41 +791,41 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
791
791
  prefixCls: import("vue").ComputedRef<string>;
792
792
  arrowStyle: import("vue").ComputedRef<{
793
793
  top: string;
794
+ right: string;
794
795
  transform: string;
795
796
  bottom?: undefined;
796
797
  left?: undefined;
797
- right?: undefined;
798
798
  } | {
799
799
  bottom: string;
800
+ right: string;
800
801
  transform: string;
801
802
  top?: undefined;
802
803
  left?: undefined;
803
- right?: undefined;
804
804
  } | {
805
+ top: string;
805
806
  left: string;
806
807
  transform: string;
807
- top?: undefined;
808
- bottom?: undefined;
809
808
  right?: undefined;
809
+ bottom?: undefined;
810
810
  } | {
811
- right: string;
811
+ bottom: string;
812
+ left: string;
812
813
  transform: string;
813
814
  top?: undefined;
814
- bottom?: undefined;
815
- left?: undefined;
815
+ right?: undefined;
816
816
  } | {
817
817
  top?: undefined;
818
+ right?: undefined;
818
819
  transform?: undefined;
819
820
  bottom?: undefined;
820
821
  left?: undefined;
821
- right?: undefined;
822
822
  }>;
823
823
  onVisibleChange: (val: boolean) => void;
824
824
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
825
825
  'visible-change': (v: boolean) => boolean;
826
826
  'update:visible': (v: boolean) => boolean;
827
827
  }, string, {
828
- color: "primary" | "blue" | "light" | "red" | "orange" | "green" | "iris" | "cyan" | "yellow" | "amber" | "purple" | "lime" | "sky" | "violet" | "pink" | "mint";
828
+ color: "light" | "red";
829
829
  offset: number[];
830
830
  visible: boolean;
831
831
  placement: "top" | "bottom" | "auto" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right" | "right-start" | "right-end" | "left" | "left-start" | "left-end";