easy-component-ui 3.0.15 → 4.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 (738) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +162 -162
  3. package/dist/assets/icon.css +1 -1
  4. package/dist/components/ea-alert.js +237 -197
  5. package/dist/components/ea-avatar.js +176 -131
  6. package/dist/components/ea-backtop.js +127 -120
  7. package/dist/components/ea-badge.js +133 -132
  8. package/dist/components/ea-breadcrumb.js +125 -126
  9. package/dist/components/ea-button.js +289 -246
  10. package/dist/components/ea-calendar.js +9 -7
  11. package/dist/components/ea-calendar2.js +633 -620
  12. package/dist/components/ea-card.js +84 -99
  13. package/dist/components/ea-carousel.js +406 -371
  14. package/dist/components/ea-checkbox.js +393 -392
  15. package/dist/components/ea-collapse.js +320 -279
  16. package/dist/components/ea-color-picker.js +1024 -784
  17. package/dist/components/ea-container.js +191 -183
  18. package/dist/components/ea-countdown.js +140 -127
  19. package/dist/components/ea-date-picker.js +494 -559
  20. package/dist/components/ea-descriptions.js +443 -443
  21. package/dist/components/ea-dialog.js +212 -227
  22. package/dist/components/ea-drawer.js +153 -198
  23. package/dist/components/ea-dropdown.js +262 -188
  24. package/dist/components/ea-empty.js +87 -77
  25. package/dist/components/ea-icon.js +151 -148
  26. package/dist/components/ea-image-preview.js +354 -509
  27. package/dist/components/ea-image.js +355 -308
  28. package/dist/components/ea-infinite-scroll.js +140 -86
  29. package/dist/components/ea-input-number.js +446 -336
  30. package/dist/components/ea-input.js +558 -542
  31. package/dist/components/ea-layout.js +132 -124
  32. package/dist/components/ea-link.js +136 -87
  33. package/dist/components/ea-loading.js +198 -0
  34. package/dist/components/ea-menu.js +598 -371
  35. package/dist/components/ea-message-box.js +528 -549
  36. package/dist/components/ea-message.js +259 -283
  37. package/dist/components/ea-notification.js +306 -306
  38. package/dist/components/ea-overlay.js +264 -155
  39. package/dist/components/ea-page-header.js +91 -84
  40. package/dist/components/ea-pagination.js +435 -437
  41. package/dist/components/ea-popconfirm.js +279 -257
  42. package/dist/components/ea-popover.js +247 -121
  43. package/dist/components/ea-popper.js +207 -173
  44. package/dist/components/ea-progress.js +271 -255
  45. package/dist/components/ea-radio.js +390 -316
  46. package/dist/components/ea-rate.js +226 -207
  47. package/dist/components/ea-result.js +91 -89
  48. package/dist/components/ea-scrollbar.js +236 -219
  49. package/dist/components/ea-segmented.js +262 -194
  50. package/dist/components/ea-select.js +681 -534
  51. package/dist/components/ea-skeleton.js +197 -238
  52. package/dist/components/ea-slider.js +437 -391
  53. package/dist/components/ea-space.js +127 -112
  54. package/dist/components/ea-splitter.js +352 -204
  55. package/dist/components/ea-statistic.js +65 -56
  56. package/dist/components/ea-steps.js +268 -304
  57. package/dist/components/ea-switch.js +246 -242
  58. package/dist/components/ea-table.js +920 -997
  59. package/dist/components/ea-tabs.js +453 -444
  60. package/dist/components/ea-tag.js +220 -189
  61. package/dist/components/ea-text.js +114 -99
  62. package/dist/components/ea-theme-toggle.js +75 -0
  63. package/dist/components/ea-time-picker.js +398 -439
  64. package/dist/components/ea-timeline.js +159 -158
  65. package/dist/components/ea-tooltip.js +164 -124
  66. package/dist/components/ea-tour.js +472 -456
  67. package/dist/components/ea-transfer.js +886 -851
  68. package/dist/components/ea-tree.js +752 -1074
  69. package/dist/components/index.js +4 -0
  70. package/dist/core/EaBase.ts.js +133 -0
  71. package/dist/core/EaFormAssociatedBase.ts.js +294 -0
  72. package/dist/core/constants.js +20 -0
  73. package/dist/core/decorator.js +506 -0
  74. package/dist/css/ea-alert.style.js +1 -1
  75. package/dist/css/ea-aside.style.js +1 -1
  76. package/dist/css/ea-avatar.style.js +1 -1
  77. package/dist/css/ea-backtop.style.js +1 -1
  78. package/dist/css/ea-badge.style.js +1 -1
  79. package/dist/css/ea-breadcrumb-item.style.js +1 -1
  80. package/dist/css/ea-breadcrumb.style.js +1 -1
  81. package/dist/css/ea-button-group.style.js +1 -1
  82. package/dist/css/ea-button.style.js +1 -1
  83. package/dist/css/ea-calendar.style.js +1 -1
  84. package/dist/css/ea-card.style.js +1 -1
  85. package/dist/css/ea-carousel.style.js +2 -2
  86. package/dist/css/ea-check-tag.style.js +2 -2
  87. package/dist/css/ea-checkbox-group.style.js +1 -1
  88. package/dist/css/ea-checkbox.style.js +1 -1
  89. package/dist/css/ea-col.style.js +1 -1
  90. package/dist/css/ea-collapse-item.style.js +1 -1
  91. package/dist/css/ea-color-picker-panel.style.js +1 -1
  92. package/dist/css/ea-color-picker.style.js +1 -1
  93. package/dist/css/ea-countdown.style.js +4 -0
  94. package/dist/css/ea-date-picker.style.js +1 -1
  95. package/dist/css/ea-descriptions-item.style.js +1 -1
  96. package/dist/css/ea-descriptions.style.js +1 -1
  97. package/dist/css/ea-dialog.style.js +1 -1
  98. package/dist/css/ea-drawer.style.js +1 -1
  99. package/dist/css/ea-dropdown-menu.style.js +1 -1
  100. package/dist/css/ea-dropdown.style.js +1 -1
  101. package/dist/css/ea-empty.style.js +1 -1
  102. package/dist/css/ea-footer.style.js +1 -1
  103. package/dist/css/ea-header.style.js +1 -1
  104. package/dist/css/ea-icon.style.js +2 -2
  105. package/dist/css/ea-image-preview.style.js +1 -1
  106. package/dist/css/ea-image.style.js +1 -1
  107. package/dist/css/ea-infinite-scroll.style.js +1 -1
  108. package/dist/css/ea-input-number.style.js +1 -1
  109. package/dist/css/ea-input.style.js +2 -2
  110. package/dist/css/ea-link.style.js +1 -1
  111. package/dist/css/ea-loading.style.js +4 -0
  112. package/dist/css/ea-main.style.js +1 -1
  113. package/dist/css/ea-menu-item.style.js +1 -1
  114. package/dist/css/ea-menu.style.js +1 -1
  115. package/dist/css/ea-message-box.style.js +1 -1
  116. package/dist/css/ea-message.style.js +1 -1
  117. package/dist/css/ea-notification.style.js +1 -1
  118. package/dist/css/ea-option.style.js +1 -1
  119. package/dist/css/ea-overlay.style.js +1 -1
  120. package/dist/css/ea-page-header.style.js +1 -1
  121. package/dist/css/ea-pagination.style.js +1 -1
  122. package/dist/css/ea-popconfirm.style.js +1 -1
  123. package/dist/css/ea-popover.style.js +1 -1
  124. package/dist/css/ea-popper.style.js +1 -1
  125. package/dist/css/ea-progress.style.js +1 -1
  126. package/dist/css/ea-radio-group.style.js +1 -1
  127. package/dist/css/ea-radio.style.js +1 -1
  128. package/dist/css/ea-result.style.js +1 -1
  129. package/dist/css/ea-row.style.js +1 -1
  130. package/dist/css/ea-scrollbar.style.js +1 -1
  131. package/dist/css/ea-segmented.style.js +1 -1
  132. package/dist/css/ea-select.style.js +1 -1
  133. package/dist/css/ea-skeleton-item.style.js +1 -1
  134. package/dist/css/ea-skeleton.style.js +1 -1
  135. package/dist/css/ea-slider.style.js +1 -1
  136. package/dist/css/ea-space.style.js +1 -1
  137. package/dist/css/ea-splitter-bar.style.js +2 -2
  138. package/dist/css/ea-splitter-panel.style.js +1 -1
  139. package/dist/css/ea-splitter.style.js +1 -1
  140. package/dist/css/ea-step.style.js +1 -1
  141. package/dist/css/ea-steps.style.js +1 -1
  142. package/dist/css/ea-sub-menu.style.js +1 -1
  143. package/dist/css/ea-switch.style.js +1 -1
  144. package/dist/css/ea-tab.style.js +1 -1
  145. package/dist/css/ea-table-column.style.js +1 -1
  146. package/dist/css/ea-table.style.js +1 -1
  147. package/dist/css/ea-tabs.style.js +1 -1
  148. package/dist/css/ea-tag.style.js +1 -1
  149. package/dist/css/ea-text.style.js +1 -1
  150. package/dist/css/ea-theme-toggle.style.js +4 -0
  151. package/dist/css/ea-time-picker.style.js +1 -1
  152. package/dist/css/ea-timeline-item.style.js +1 -1
  153. package/dist/css/ea-timeline.style.js +2 -2
  154. package/dist/css/ea-tooltip.style.js +1 -1
  155. package/dist/css/ea-tour-step.style.js +2 -2
  156. package/dist/css/ea-tour.style.js +1 -1
  157. package/dist/css/ea-transfer.style.js +3 -3
  158. package/dist/css/ea-tree.style.js +2 -4
  159. package/dist/css/ea-ui-component.style.js +4 -1
  160. package/dist/themes/controller.js +38 -0
  161. package/dist/themes/dark.js +4 -0
  162. package/dist/themes/light.js +4 -0
  163. package/dist/themes/source.js +4 -0
  164. package/dist/types/common/ea-overlay/events/EaOverlayCloseEvent.d.ts +4 -0
  165. package/dist/types/common/ea-overlay/events/EaOverlayCloseEvent.d.ts.map +1 -0
  166. package/dist/types/common/ea-overlay/events/EaOverlayClosedEvent.d.ts +9 -0
  167. package/dist/types/common/ea-overlay/events/EaOverlayClosedEvent.d.ts.map +1 -0
  168. package/dist/types/common/ea-overlay/events/EaOverlayOpenEvent.d.ts +4 -0
  169. package/dist/types/common/ea-overlay/events/EaOverlayOpenEvent.d.ts.map +1 -0
  170. package/dist/types/common/ea-overlay/events/EaOverlayOpenedEvent.d.ts +9 -0
  171. package/dist/types/common/ea-overlay/events/EaOverlayOpenedEvent.d.ts.map +1 -0
  172. package/dist/types/common/ea-overlay/index.d.ts +71 -0
  173. package/dist/types/common/ea-overlay/index.d.ts.map +1 -0
  174. package/dist/types/common/ea-popper/events/EaPopperHiddenEvent.d.ts +12 -0
  175. package/dist/types/common/ea-popper/events/EaPopperHiddenEvent.d.ts.map +1 -0
  176. package/dist/types/common/ea-popper/events/EaPopperHideEvent.d.ts +12 -0
  177. package/dist/types/common/ea-popper/events/EaPopperHideEvent.d.ts.map +1 -0
  178. package/dist/types/common/ea-popper/events/EaPopperShowEvent.d.ts +12 -0
  179. package/dist/types/common/ea-popper/events/EaPopperShowEvent.d.ts.map +1 -0
  180. package/dist/types/common/ea-popper/events/EaPopperShownEvent.d.ts +12 -0
  181. package/dist/types/common/ea-popper/events/EaPopperShownEvent.d.ts.map +1 -0
  182. package/dist/types/common/ea-popper/index.d.ts +65 -0
  183. package/dist/types/common/ea-popper/index.d.ts.map +1 -0
  184. package/dist/types/components/ea-alert/events/EaAlertCloseEvent.d.ts +8 -0
  185. package/dist/types/components/ea-alert/events/EaAlertCloseEvent.d.ts.map +1 -0
  186. package/dist/types/components/ea-alert/events/EaAlertOpenEvent.d.ts +7 -0
  187. package/dist/types/components/ea-alert/events/EaAlertOpenEvent.d.ts.map +1 -0
  188. package/dist/types/components/ea-alert/index.d.ts +81 -0
  189. package/dist/types/components/ea-alert/index.d.ts.map +1 -0
  190. package/dist/types/components/ea-avatar/assets/avatarPlaceholder.d.ts +3 -0
  191. package/dist/types/components/ea-avatar/assets/avatarPlaceholder.d.ts.map +1 -0
  192. package/dist/types/components/ea-avatar/index.d.ts +65 -0
  193. package/dist/types/components/ea-avatar/index.d.ts.map +1 -0
  194. package/dist/types/components/ea-backtop/index.d.ts +62 -0
  195. package/dist/types/components/ea-backtop/index.d.ts.map +1 -0
  196. package/dist/types/components/ea-badge/index.d.ts +42 -0
  197. package/dist/types/components/ea-badge/index.d.ts.map +1 -0
  198. package/dist/types/components/ea-breadcrumb/components/ea-breadcrumb/index.d.ts +37 -0
  199. package/dist/types/components/ea-breadcrumb/components/ea-breadcrumb/index.d.ts.map +1 -0
  200. package/dist/types/components/ea-breadcrumb/components/ea-breadcrumb-item/index.d.ts +35 -0
  201. package/dist/types/components/ea-breadcrumb/components/ea-breadcrumb-item/index.d.ts.map +1 -0
  202. package/dist/types/components/ea-breadcrumb/index.d.ts +9 -0
  203. package/dist/types/components/ea-breadcrumb/index.d.ts.map +1 -0
  204. package/dist/types/components/ea-button/components/ea-button/index.d.ts +53 -0
  205. package/dist/types/components/ea-button/components/ea-button/index.d.ts.map +1 -0
  206. package/dist/types/components/ea-button/components/ea-button-group/index.d.ts +21 -0
  207. package/dist/types/components/ea-button/components/ea-button-group/index.d.ts.map +1 -0
  208. package/dist/types/components/ea-button/index.d.ts +9 -0
  209. package/dist/types/components/ea-button/index.d.ts.map +1 -0
  210. package/dist/types/components/ea-calendar/events/EaCalendarSelectEvent.d.ts +12 -0
  211. package/dist/types/components/ea-calendar/events/EaCalendarSelectEvent.d.ts.map +1 -0
  212. package/dist/types/components/ea-calendar/index.d.ts +121 -0
  213. package/dist/types/components/ea-calendar/index.d.ts.map +1 -0
  214. package/dist/types/components/ea-card/index.d.ts +44 -0
  215. package/dist/types/components/ea-card/index.d.ts.map +1 -0
  216. package/dist/types/components/ea-carousel/components/ea-carousel/index.d.ts +137 -0
  217. package/dist/types/components/ea-carousel/components/ea-carousel/index.d.ts.map +1 -0
  218. package/dist/types/components/ea-carousel/components/ea-carousel-item/index.d.ts +15 -0
  219. package/dist/types/components/ea-carousel/components/ea-carousel-item/index.d.ts.map +1 -0
  220. package/dist/types/components/ea-carousel/index.d.ts +4 -0
  221. package/dist/types/components/ea-carousel/index.d.ts.map +1 -0
  222. package/dist/types/components/ea-checkbox/components/ea-checkbox/index.d.ts +72 -0
  223. package/dist/types/components/ea-checkbox/components/ea-checkbox/index.d.ts.map +1 -0
  224. package/dist/types/components/ea-checkbox/components/ea-checkbox-group/index.d.ts +57 -0
  225. package/dist/types/components/ea-checkbox/components/ea-checkbox-group/index.d.ts.map +1 -0
  226. package/dist/types/components/ea-checkbox/events/EaCheckboxBlurEvent.d.ts +9 -0
  227. package/dist/types/components/ea-checkbox/events/EaCheckboxBlurEvent.d.ts.map +1 -0
  228. package/dist/types/components/ea-checkbox/events/EaCheckboxChangeEvent.d.ts +9 -0
  229. package/dist/types/components/ea-checkbox/events/EaCheckboxChangeEvent.d.ts.map +1 -0
  230. package/dist/types/components/ea-checkbox/events/EaCheckboxFocusEvent.d.ts +9 -0
  231. package/dist/types/components/ea-checkbox/events/EaCheckboxFocusEvent.d.ts.map +1 -0
  232. package/dist/types/components/ea-checkbox/index.d.ts +4 -0
  233. package/dist/types/components/ea-checkbox/index.d.ts.map +1 -0
  234. package/dist/types/components/ea-collapse/components/ea-collapse/events/EaCollapseChangeEvent.d.ts +10 -0
  235. package/dist/types/components/ea-collapse/components/ea-collapse/events/EaCollapseChangeEvent.d.ts.map +1 -0
  236. package/dist/types/components/ea-collapse/components/ea-collapse/index.d.ts +49 -0
  237. package/dist/types/components/ea-collapse/components/ea-collapse/index.d.ts.map +1 -0
  238. package/dist/types/components/ea-collapse/components/ea-collapse-item/index.d.ts +64 -0
  239. package/dist/types/components/ea-collapse/components/ea-collapse-item/index.d.ts.map +1 -0
  240. package/dist/types/components/ea-collapse/index.d.ts +5 -0
  241. package/dist/types/components/ea-collapse/index.d.ts.map +1 -0
  242. package/dist/types/components/ea-color-picker/components/ea-color-picker/index.d.ts +102 -0
  243. package/dist/types/components/ea-color-picker/components/ea-color-picker/index.d.ts.map +1 -0
  244. package/dist/types/components/ea-color-picker/components/ea-color-picker-panel/index.d.ts +95 -0
  245. package/dist/types/components/ea-color-picker/components/ea-color-picker-panel/index.d.ts.map +1 -0
  246. package/dist/types/components/ea-color-picker/events/EaColorPickerActiveChangeEvent.d.ts +13 -0
  247. package/dist/types/components/ea-color-picker/events/EaColorPickerActiveChangeEvent.d.ts.map +1 -0
  248. package/dist/types/components/ea-color-picker/events/EaColorPickerClearEvent.d.ts +7 -0
  249. package/dist/types/components/ea-color-picker/events/EaColorPickerClearEvent.d.ts.map +1 -0
  250. package/dist/types/components/ea-color-picker/events/EaColorPickerPanelInvalidColorEvent.d.ts +13 -0
  251. package/dist/types/components/ea-color-picker/events/EaColorPickerPanelInvalidColorEvent.d.ts.map +1 -0
  252. package/dist/types/components/ea-color-picker/index.d.ts +5 -0
  253. package/dist/types/components/ea-color-picker/index.d.ts.map +1 -0
  254. package/dist/types/components/ea-color-picker/utils/Color.d.ts +40 -0
  255. package/dist/types/components/ea-color-picker/utils/Color.d.ts.map +1 -0
  256. package/dist/types/components/ea-container/components/ea-aside/index.d.ts +18 -0
  257. package/dist/types/components/ea-container/components/ea-aside/index.d.ts.map +1 -0
  258. package/dist/types/components/ea-container/components/ea-container/index.d.ts +29 -0
  259. package/dist/types/components/ea-container/components/ea-container/index.d.ts.map +1 -0
  260. package/dist/types/components/ea-container/components/ea-footer/index.d.ts +19 -0
  261. package/dist/types/components/ea-container/components/ea-footer/index.d.ts.map +1 -0
  262. package/dist/types/components/ea-container/components/ea-header/index.d.ts +19 -0
  263. package/dist/types/components/ea-container/components/ea-header/index.d.ts.map +1 -0
  264. package/dist/types/components/ea-container/components/ea-main/index.d.ts +17 -0
  265. package/dist/types/components/ea-container/components/ea-main/index.d.ts.map +1 -0
  266. package/dist/types/components/ea-container/index.d.ts +1 -0
  267. package/dist/types/components/ea-container/index.d.ts.map +1 -0
  268. package/dist/types/components/ea-countdown/events/EaCountdownChangeEvent.d.ts +9 -0
  269. package/dist/types/components/ea-countdown/events/EaCountdownChangeEvent.d.ts.map +1 -0
  270. package/dist/types/components/ea-countdown/events/EaCountdownFinishEvent.d.ts +14 -0
  271. package/dist/types/components/ea-countdown/events/EaCountdownFinishEvent.d.ts.map +1 -0
  272. package/dist/types/components/ea-countdown/index.d.ts +48 -0
  273. package/dist/types/components/ea-countdown/index.d.ts.map +1 -0
  274. package/dist/types/components/ea-date-picker/events/EaDatePickerChangeEvent.d.ts +12 -0
  275. package/dist/types/components/ea-date-picker/events/EaDatePickerChangeEvent.d.ts.map +1 -0
  276. package/dist/types/components/ea-date-picker/events/EaDatePickerPanelChangeEvent.d.ts +15 -0
  277. package/dist/types/components/ea-date-picker/events/EaDatePickerPanelChangeEvent.d.ts.map +1 -0
  278. package/dist/types/components/ea-date-picker/events/EaDatePickerVisibleChangeEvent.d.ts +13 -0
  279. package/dist/types/components/ea-date-picker/events/EaDatePickerVisibleChangeEvent.d.ts.map +1 -0
  280. package/dist/types/components/ea-date-picker/index.d.ts +162 -0
  281. package/dist/types/components/ea-date-picker/index.d.ts.map +1 -0
  282. package/dist/types/components/ea-descriptions/components/ea-descriptions/index.d.ts +127 -0
  283. package/dist/types/components/ea-descriptions/components/ea-descriptions/index.d.ts.map +1 -0
  284. package/dist/types/components/ea-descriptions/components/ea-descriptions-item/index.d.ts +41 -0
  285. package/dist/types/components/ea-descriptions/components/ea-descriptions-item/index.d.ts.map +1 -0
  286. package/dist/types/components/ea-descriptions/index.d.ts +5 -0
  287. package/dist/types/components/ea-descriptions/index.d.ts.map +1 -0
  288. package/dist/types/components/ea-dialog/index.d.ts +81 -0
  289. package/dist/types/components/ea-dialog/index.d.ts.map +1 -0
  290. package/dist/types/components/ea-drawer/index.d.ts +70 -0
  291. package/dist/types/components/ea-drawer/index.d.ts.map +1 -0
  292. package/dist/types/components/ea-dropdown/components/ea-dropdown/index.d.ts +57 -0
  293. package/dist/types/components/ea-dropdown/components/ea-dropdown/index.d.ts.map +1 -0
  294. package/dist/types/components/ea-dropdown/components/ea-dropdown-item/index.d.ts +35 -0
  295. package/dist/types/components/ea-dropdown/components/ea-dropdown-item/index.d.ts.map +1 -0
  296. package/dist/types/components/ea-dropdown/components/ea-dropdown-menu/index.d.ts +15 -0
  297. package/dist/types/components/ea-dropdown/components/ea-dropdown-menu/index.d.ts.map +1 -0
  298. package/dist/types/components/ea-dropdown/events/EaDropdownCommandEvent.d.ts +13 -0
  299. package/dist/types/components/ea-dropdown/events/EaDropdownCommandEvent.d.ts.map +1 -0
  300. package/dist/types/components/ea-dropdown/index.d.ts +6 -0
  301. package/dist/types/components/ea-dropdown/index.d.ts.map +1 -0
  302. package/dist/types/components/ea-empty/assets/emptyStatusSVG.d.ts +2 -0
  303. package/dist/types/components/ea-empty/assets/emptyStatusSVG.d.ts.map +1 -0
  304. package/dist/types/components/ea-empty/index.d.ts +39 -0
  305. package/dist/types/components/ea-empty/index.d.ts.map +1 -0
  306. package/dist/types/components/ea-icon/index.d.ts +56 -0
  307. package/dist/types/components/ea-icon/index.d.ts.map +1 -0
  308. package/dist/types/components/ea-image/components/ea-image/events/EaImageErrorEvent.d.ts +4 -0
  309. package/dist/types/components/ea-image/components/ea-image/events/EaImageErrorEvent.d.ts.map +1 -0
  310. package/dist/types/components/ea-image/components/ea-image/events/EaImageLoadEvent.d.ts +4 -0
  311. package/dist/types/components/ea-image/components/ea-image/events/EaImageLoadEvent.d.ts.map +1 -0
  312. package/dist/types/components/ea-image/components/ea-image/index.d.ts +99 -0
  313. package/dist/types/components/ea-image/components/ea-image/index.d.ts.map +1 -0
  314. package/dist/types/components/ea-image/index.d.ts +3 -0
  315. package/dist/types/components/ea-image/index.d.ts.map +1 -0
  316. package/dist/types/components/ea-image-preview/events/EaImagePreviewErrorEvent.d.ts +9 -0
  317. package/dist/types/components/ea-image-preview/events/EaImagePreviewErrorEvent.d.ts.map +1 -0
  318. package/dist/types/components/ea-image-preview/events/EaImagePreviewRotateEvent.d.ts +14 -0
  319. package/dist/types/components/ea-image-preview/events/EaImagePreviewRotateEvent.d.ts.map +1 -0
  320. package/dist/types/components/ea-image-preview/events/EaImagePreviewSwitchEvent.d.ts +15 -0
  321. package/dist/types/components/ea-image-preview/events/EaImagePreviewSwitchEvent.d.ts.map +1 -0
  322. package/dist/types/components/ea-image-preview/index.d.ts +87 -0
  323. package/dist/types/components/ea-image-preview/index.d.ts.map +1 -0
  324. package/dist/types/components/ea-infinite-scroll/events/EaInfiniteScrollLoadmoreEvent.d.ts +14 -0
  325. package/dist/types/components/ea-infinite-scroll/events/EaInfiniteScrollLoadmoreEvent.d.ts.map +1 -0
  326. package/dist/types/components/ea-infinite-scroll/index.d.ts +47 -0
  327. package/dist/types/components/ea-infinite-scroll/index.d.ts.map +1 -0
  328. package/dist/types/components/ea-input/events/EaClearEvent.d.ts +8 -0
  329. package/dist/types/components/ea-input/events/EaClearEvent.d.ts.map +1 -0
  330. package/dist/types/components/ea-input/events/EaInputBlurEvent.d.ts +7 -0
  331. package/dist/types/components/ea-input/events/EaInputBlurEvent.d.ts.map +1 -0
  332. package/dist/types/components/ea-input/events/EaInputChangeEvent.d.ts +8 -0
  333. package/dist/types/components/ea-input/events/EaInputChangeEvent.d.ts.map +1 -0
  334. package/dist/types/components/ea-input/events/EaInputFocusEvent.d.ts +7 -0
  335. package/dist/types/components/ea-input/events/EaInputFocusEvent.d.ts.map +1 -0
  336. package/dist/types/components/ea-input/events/EaInputInputEvent.d.ts +8 -0
  337. package/dist/types/components/ea-input/events/EaInputInputEvent.d.ts.map +1 -0
  338. package/dist/types/components/ea-input/index.d.ts +130 -0
  339. package/dist/types/components/ea-input/index.d.ts.map +1 -0
  340. package/dist/types/components/ea-input-number/events/EaInputNumberBlurEvent.d.ts +4 -0
  341. package/dist/types/components/ea-input-number/events/EaInputNumberBlurEvent.d.ts.map +1 -0
  342. package/dist/types/components/ea-input-number/events/EaInputNumberChangeEvent.d.ts +9 -0
  343. package/dist/types/components/ea-input-number/events/EaInputNumberChangeEvent.d.ts.map +1 -0
  344. package/dist/types/components/ea-input-number/events/EaInputNumberFocusEvent.d.ts +4 -0
  345. package/dist/types/components/ea-input-number/events/EaInputNumberFocusEvent.d.ts.map +1 -0
  346. package/dist/types/components/ea-input-number/index.d.ts +146 -0
  347. package/dist/types/components/ea-input-number/index.d.ts.map +1 -0
  348. package/dist/types/components/ea-layout/components/ea-col/index.d.ts +27 -0
  349. package/dist/types/components/ea-layout/components/ea-col/index.d.ts.map +1 -0
  350. package/dist/types/components/ea-layout/components/ea-row/index.d.ts +30 -0
  351. package/dist/types/components/ea-layout/components/ea-row/index.d.ts.map +1 -0
  352. package/dist/types/components/ea-layout/index.d.ts +5 -0
  353. package/dist/types/components/ea-layout/index.d.ts.map +1 -0
  354. package/dist/types/components/ea-link/index.d.ts +47 -0
  355. package/dist/types/components/ea-link/index.d.ts.map +1 -0
  356. package/dist/types/components/ea-loading/index.d.ts +60 -0
  357. package/dist/types/components/ea-loading/index.d.ts.map +1 -0
  358. package/dist/types/components/ea-loading/utils/EaLoadingInstance.d.ts +21 -0
  359. package/dist/types/components/ea-loading/utils/EaLoadingInstance.d.ts.map +1 -0
  360. package/dist/types/components/ea-menu/components/ea-menu/index.d.ts +67 -0
  361. package/dist/types/components/ea-menu/components/ea-menu/index.d.ts.map +1 -0
  362. package/dist/types/components/ea-menu/components/ea-menu-item/index.d.ts +32 -0
  363. package/dist/types/components/ea-menu/components/ea-menu-item/index.d.ts.map +1 -0
  364. package/dist/types/components/ea-menu/components/ea-menu-item-group/index.d.ts +32 -0
  365. package/dist/types/components/ea-menu/components/ea-menu-item-group/index.d.ts.map +1 -0
  366. package/dist/types/components/ea-menu/components/ea-sub-menu/index.d.ts +94 -0
  367. package/dist/types/components/ea-menu/components/ea-sub-menu/index.d.ts.map +1 -0
  368. package/dist/types/components/ea-menu/index.d.ts +13 -0
  369. package/dist/types/components/ea-menu/index.d.ts.map +1 -0
  370. package/dist/types/components/ea-message/components/index.d.ts +65 -0
  371. package/dist/types/components/ea-message/components/index.d.ts.map +1 -0
  372. package/dist/types/components/ea-message/events/EaMessageCloseEvent.d.ts +8 -0
  373. package/dist/types/components/ea-message/events/EaMessageCloseEvent.d.ts.map +1 -0
  374. package/dist/types/components/ea-message/index.d.ts +4 -0
  375. package/dist/types/components/ea-message/index.d.ts.map +1 -0
  376. package/dist/types/components/ea-message/utils/EaMessageInstance.d.ts +31 -0
  377. package/dist/types/components/ea-message/utils/EaMessageInstance.d.ts.map +1 -0
  378. package/dist/types/components/ea-message-box/component/index.d.ts +107 -0
  379. package/dist/types/components/ea-message-box/component/index.d.ts.map +1 -0
  380. package/dist/types/components/ea-message-box/events/EaMessageBoxCancelEvent.d.ts +12 -0
  381. package/dist/types/components/ea-message-box/events/EaMessageBoxCancelEvent.d.ts.map +1 -0
  382. package/dist/types/components/ea-message-box/events/EaMessageBoxConfirmEvent.d.ts +8 -0
  383. package/dist/types/components/ea-message-box/events/EaMessageBoxConfirmEvent.d.ts.map +1 -0
  384. package/dist/types/components/ea-message-box/events/EaMessageBoxMessageCloseEvent.d.ts +12 -0
  385. package/dist/types/components/ea-message-box/events/EaMessageBoxMessageCloseEvent.d.ts.map +1 -0
  386. package/dist/types/components/ea-message-box/index.d.ts +12 -0
  387. package/dist/types/components/ea-message-box/index.d.ts.map +1 -0
  388. package/dist/types/components/ea-message-box/utils/EaMessageBoxInstance.d.ts +44 -0
  389. package/dist/types/components/ea-message-box/utils/EaMessageBoxInstance.d.ts.map +1 -0
  390. package/dist/types/components/ea-notification/components/index.d.ts +77 -0
  391. package/dist/types/components/ea-notification/components/index.d.ts.map +1 -0
  392. package/dist/types/components/ea-notification/index.d.ts +4 -0
  393. package/dist/types/components/ea-notification/index.d.ts.map +1 -0
  394. package/dist/types/components/ea-notification/utils/EaNotificationInstance.d.ts +36 -0
  395. package/dist/types/components/ea-notification/utils/EaNotificationInstance.d.ts.map +1 -0
  396. package/dist/types/components/ea-page-header/events/EaPageHeaderBackEvent.d.ts +12 -0
  397. package/dist/types/components/ea-page-header/events/EaPageHeaderBackEvent.d.ts.map +1 -0
  398. package/dist/types/components/ea-page-header/index.d.ts +59 -0
  399. package/dist/types/components/ea-page-header/index.d.ts.map +1 -0
  400. package/dist/types/components/ea-pagination/components/moreItem.d.ts +2 -0
  401. package/dist/types/components/ea-pagination/components/moreItem.d.ts.map +1 -0
  402. package/dist/types/components/ea-pagination/components/pageItem.d.ts +2 -0
  403. package/dist/types/components/ea-pagination/components/pageItem.d.ts.map +1 -0
  404. package/dist/types/components/ea-pagination/events/EaPaginationCurrentChangeEvent.d.ts +8 -0
  405. package/dist/types/components/ea-pagination/events/EaPaginationCurrentChangeEvent.d.ts.map +1 -0
  406. package/dist/types/components/ea-pagination/events/EaPaginationNextClickEvent.d.ts +13 -0
  407. package/dist/types/components/ea-pagination/events/EaPaginationNextClickEvent.d.ts.map +1 -0
  408. package/dist/types/components/ea-pagination/events/EaPaginationPrevClickEvent.d.ts +13 -0
  409. package/dist/types/components/ea-pagination/events/EaPaginationPrevClickEvent.d.ts.map +1 -0
  410. package/dist/types/components/ea-pagination/events/EaPaginationSizeChangeEvent.d.ts +13 -0
  411. package/dist/types/components/ea-pagination/events/EaPaginationSizeChangeEvent.d.ts.map +1 -0
  412. package/dist/types/components/ea-pagination/index.d.ts +107 -0
  413. package/dist/types/components/ea-pagination/index.d.ts.map +1 -0
  414. package/dist/types/components/ea-popconfirm/events/EaPopconfirmCancelEvent.d.ts +12 -0
  415. package/dist/types/components/ea-popconfirm/events/EaPopconfirmCancelEvent.d.ts.map +1 -0
  416. package/dist/types/components/ea-popconfirm/events/EaPopconfirmConfirmEvent.d.ts +7 -0
  417. package/dist/types/components/ea-popconfirm/events/EaPopconfirmConfirmEvent.d.ts.map +1 -0
  418. package/dist/types/components/ea-popconfirm/index.d.ts +81 -0
  419. package/dist/types/components/ea-popconfirm/index.d.ts.map +1 -0
  420. package/dist/types/components/ea-popover/index.d.ts +67 -0
  421. package/dist/types/components/ea-popover/index.d.ts.map +1 -0
  422. package/dist/types/components/ea-progress/components/circleItem.d.ts +2 -0
  423. package/dist/types/components/ea-progress/components/circleItem.d.ts.map +1 -0
  424. package/dist/types/components/ea-progress/components/dashboardItem.d.ts +2 -0
  425. package/dist/types/components/ea-progress/components/dashboardItem.d.ts.map +1 -0
  426. package/dist/types/components/ea-progress/events/EaProgressChangeEvent.d.ts +8 -0
  427. package/dist/types/components/ea-progress/events/EaProgressChangeEvent.d.ts.map +1 -0
  428. package/dist/types/components/ea-progress/index.d.ts +73 -0
  429. package/dist/types/components/ea-progress/index.d.ts.map +1 -0
  430. package/dist/types/components/ea-radio/components/ea-radio/index.d.ts +68 -0
  431. package/dist/types/components/ea-radio/components/ea-radio/index.d.ts.map +1 -0
  432. package/dist/types/components/ea-radio/components/ea-radio-group/index.d.ts +52 -0
  433. package/dist/types/components/ea-radio/components/ea-radio-group/index.d.ts.map +1 -0
  434. package/dist/types/components/ea-radio/events/EaRadioBlurEvent.d.ts +9 -0
  435. package/dist/types/components/ea-radio/events/EaRadioBlurEvent.d.ts.map +1 -0
  436. package/dist/types/components/ea-radio/events/EaRadioChangeEvent.d.ts +9 -0
  437. package/dist/types/components/ea-radio/events/EaRadioChangeEvent.d.ts.map +1 -0
  438. package/dist/types/components/ea-radio/events/EaRadioFocusEvent.d.ts +9 -0
  439. package/dist/types/components/ea-radio/events/EaRadioFocusEvent.d.ts.map +1 -0
  440. package/dist/types/components/ea-radio/index.d.ts +4 -0
  441. package/dist/types/components/ea-radio/index.d.ts.map +1 -0
  442. package/dist/types/components/ea-rate/events/EaRateChangeEvent.d.ts +8 -0
  443. package/dist/types/components/ea-rate/events/EaRateChangeEvent.d.ts.map +1 -0
  444. package/dist/types/components/ea-rate/events/EaRateHoverEvent.d.ts +14 -0
  445. package/dist/types/components/ea-rate/events/EaRateHoverEvent.d.ts.map +1 -0
  446. package/dist/types/components/ea-rate/index.d.ts +62 -0
  447. package/dist/types/components/ea-rate/index.d.ts.map +1 -0
  448. package/dist/types/components/ea-result/index.d.ts +51 -0
  449. package/dist/types/components/ea-result/index.d.ts.map +1 -0
  450. package/dist/types/components/ea-scrollbar/index.d.ts +69 -0
  451. package/dist/types/components/ea-scrollbar/index.d.ts.map +1 -0
  452. package/dist/types/components/ea-segmented/events/EaSegmentedChangeEvent.d.ts +8 -0
  453. package/dist/types/components/ea-segmented/events/EaSegmentedChangeEvent.d.ts.map +1 -0
  454. package/dist/types/components/ea-segmented/index.d.ts +70 -0
  455. package/dist/types/components/ea-segmented/index.d.ts.map +1 -0
  456. package/dist/types/components/ea-select/components/ea-option/index.d.ts +24 -0
  457. package/dist/types/components/ea-select/components/ea-option/index.d.ts.map +1 -0
  458. package/dist/types/components/ea-select/components/ea-option-group/index.d.ts +23 -0
  459. package/dist/types/components/ea-select/components/ea-option-group/index.d.ts.map +1 -0
  460. package/dist/types/components/ea-select/components/ea-select/index.d.ts +122 -0
  461. package/dist/types/components/ea-select/components/ea-select/index.d.ts.map +1 -0
  462. package/dist/types/components/ea-select/events/EaSelectChangeEvent.d.ts +8 -0
  463. package/dist/types/components/ea-select/events/EaSelectChangeEvent.d.ts.map +1 -0
  464. package/dist/types/components/ea-select/events/EaSelectClearEvent.d.ts +7 -0
  465. package/dist/types/components/ea-select/events/EaSelectClearEvent.d.ts.map +1 -0
  466. package/dist/types/components/ea-select/events/EaSelectRemoveTagEvent.d.ts +14 -0
  467. package/dist/types/components/ea-select/events/EaSelectRemoveTagEvent.d.ts.map +1 -0
  468. package/dist/types/components/ea-select/events/EaSelectVisibleChangeEvent.d.ts +13 -0
  469. package/dist/types/components/ea-select/events/EaSelectVisibleChangeEvent.d.ts.map +1 -0
  470. package/dist/types/components/ea-select/index.d.ts +4 -0
  471. package/dist/types/components/ea-select/index.d.ts.map +1 -0
  472. package/dist/types/components/ea-skeleton/components/ea-skeleton/index.d.ts +49 -0
  473. package/dist/types/components/ea-skeleton/components/ea-skeleton/index.d.ts.map +1 -0
  474. package/dist/types/components/ea-skeleton/components/ea-skeleton-item/assets/imageSVG.d.ts +2 -0
  475. package/dist/types/components/ea-skeleton/components/ea-skeleton-item/assets/imageSVG.d.ts.map +1 -0
  476. package/dist/types/components/ea-skeleton/components/ea-skeleton-item/index.d.ts +32 -0
  477. package/dist/types/components/ea-skeleton/components/ea-skeleton-item/index.d.ts.map +1 -0
  478. package/dist/types/components/ea-skeleton/index.d.ts +9 -0
  479. package/dist/types/components/ea-skeleton/index.d.ts.map +1 -0
  480. package/dist/types/components/ea-slider/events/EaSliderChangeEvent.d.ts +8 -0
  481. package/dist/types/components/ea-slider/events/EaSliderChangeEvent.d.ts.map +1 -0
  482. package/dist/types/components/ea-slider/events/EaSliderInputEvent.d.ts +8 -0
  483. package/dist/types/components/ea-slider/events/EaSliderInputEvent.d.ts.map +1 -0
  484. package/dist/types/components/ea-slider/index.d.ts +138 -0
  485. package/dist/types/components/ea-slider/index.d.ts.map +1 -0
  486. package/dist/types/components/ea-space/index.d.ts +40 -0
  487. package/dist/types/components/ea-space/index.d.ts.map +1 -0
  488. package/dist/types/components/ea-splitter/components/ea-splitter/events/EaSplitterPanelResizeEndEvent.d.ts +13 -0
  489. package/dist/types/components/ea-splitter/components/ea-splitter/events/EaSplitterPanelResizeEndEvent.d.ts.map +1 -0
  490. package/dist/types/components/ea-splitter/components/ea-splitter/events/EaSplitterPanelResizeEvent.d.ts +13 -0
  491. package/dist/types/components/ea-splitter/components/ea-splitter/events/EaSplitterPanelResizeEvent.d.ts.map +1 -0
  492. package/dist/types/components/ea-splitter/components/ea-splitter/events/EaSplitterPanelResizeStartEvent.d.ts +13 -0
  493. package/dist/types/components/ea-splitter/components/ea-splitter/events/EaSplitterPanelResizeStartEvent.d.ts.map +1 -0
  494. package/dist/types/components/ea-splitter/components/ea-splitter/index.d.ts +86 -0
  495. package/dist/types/components/ea-splitter/components/ea-splitter/index.d.ts.map +1 -0
  496. package/dist/types/components/ea-splitter/components/ea-splitter-bar/index.d.ts +27 -0
  497. package/dist/types/components/ea-splitter/components/ea-splitter-bar/index.d.ts.map +1 -0
  498. package/dist/types/components/ea-splitter/components/ea-splitter-panel/index.d.ts +25 -0
  499. package/dist/types/components/ea-splitter/components/ea-splitter-panel/index.d.ts.map +1 -0
  500. package/dist/types/components/ea-splitter/index.d.ts +9 -0
  501. package/dist/types/components/ea-splitter/index.d.ts.map +1 -0
  502. package/dist/types/components/ea-statistic/index.d.ts +15 -0
  503. package/dist/types/components/ea-statistic/index.d.ts.map +1 -0
  504. package/dist/types/components/ea-steps/components/ea-step/index.d.ts +65 -0
  505. package/dist/types/components/ea-steps/components/ea-step/index.d.ts.map +1 -0
  506. package/dist/types/components/ea-steps/components/ea-steps/index.d.ts +42 -0
  507. package/dist/types/components/ea-steps/components/ea-steps/index.d.ts.map +1 -0
  508. package/dist/types/components/ea-steps/index.d.ts +9 -0
  509. package/dist/types/components/ea-steps/index.d.ts.map +1 -0
  510. package/dist/types/components/ea-switch/events/EaSwitchChangeEvent.d.ts +8 -0
  511. package/dist/types/components/ea-switch/events/EaSwitchChangeEvent.d.ts.map +1 -0
  512. package/dist/types/components/ea-switch/index.d.ts +75 -0
  513. package/dist/types/components/ea-switch/index.d.ts.map +1 -0
  514. package/dist/types/components/ea-table/components/colgroup/index.d.ts +3 -0
  515. package/dist/types/components/ea-table/components/colgroup/index.d.ts.map +1 -0
  516. package/dist/types/components/ea-table/components/ea-table/index.d.ts +188 -0
  517. package/dist/types/components/ea-table/components/ea-table/index.d.ts.map +1 -0
  518. package/dist/types/components/ea-table/components/ea-table-column/index.d.ts +57 -0
  519. package/dist/types/components/ea-table/components/ea-table-column/index.d.ts.map +1 -0
  520. package/dist/types/components/ea-table/components/tfoot/index.d.ts +3 -0
  521. package/dist/types/components/ea-table/components/tfoot/index.d.ts.map +1 -0
  522. package/dist/types/components/ea-table/components/thead/index.d.ts +3 -0
  523. package/dist/types/components/ea-table/components/thead/index.d.ts.map +1 -0
  524. package/dist/types/components/ea-table/events/EaTableCellClickEvent.d.ts +19 -0
  525. package/dist/types/components/ea-table/events/EaTableCellClickEvent.d.ts.map +1 -0
  526. package/dist/types/components/ea-table/events/EaTableCellContextmenuEvent.d.ts +19 -0
  527. package/dist/types/components/ea-table/events/EaTableCellContextmenuEvent.d.ts.map +1 -0
  528. package/dist/types/components/ea-table/events/EaTableCellDBLClickEvent.d.ts +19 -0
  529. package/dist/types/components/ea-table/events/EaTableCellDBLClickEvent.d.ts.map +1 -0
  530. package/dist/types/components/ea-table/events/EaTableCellMouseLeaveEvent.d.ts +19 -0
  531. package/dist/types/components/ea-table/events/EaTableCellMouseLeaveEvent.d.ts.map +1 -0
  532. package/dist/types/components/ea-table/events/EaTableCurrentChangeEvent.d.ts +14 -0
  533. package/dist/types/components/ea-table/events/EaTableCurrentChangeEvent.d.ts.map +1 -0
  534. package/dist/types/components/ea-table/events/EaTableHeaderClickEvent.d.ts +17 -0
  535. package/dist/types/components/ea-table/events/EaTableHeaderClickEvent.d.ts.map +1 -0
  536. package/dist/types/components/ea-table/events/EaTableHeaderContextmenuEvent.d.ts +17 -0
  537. package/dist/types/components/ea-table/events/EaTableHeaderContextmenuEvent.d.ts.map +1 -0
  538. package/dist/types/components/ea-table/events/EaTableMouseEnterEvent.d.ts +19 -0
  539. package/dist/types/components/ea-table/events/EaTableMouseEnterEvent.d.ts.map +1 -0
  540. package/dist/types/components/ea-table/events/EaTableRowClickEvent.d.ts +19 -0
  541. package/dist/types/components/ea-table/events/EaTableRowClickEvent.d.ts.map +1 -0
  542. package/dist/types/components/ea-table/events/EaTableRowContextmenuEvent.d.ts +19 -0
  543. package/dist/types/components/ea-table/events/EaTableRowContextmenuEvent.d.ts.map +1 -0
  544. package/dist/types/components/ea-table/events/EaTableRowDBLClickEvent.d.ts +19 -0
  545. package/dist/types/components/ea-table/events/EaTableRowDBLClickEvent.d.ts.map +1 -0
  546. package/dist/types/components/ea-table/events/EaTableSelectAllEvent.d.ts +15 -0
  547. package/dist/types/components/ea-table/events/EaTableSelectAllEvent.d.ts.map +1 -0
  548. package/dist/types/components/ea-table/events/EaTableSelectEvent.d.ts +12 -0
  549. package/dist/types/components/ea-table/events/EaTableSelectEvent.d.ts.map +1 -0
  550. package/dist/types/components/ea-table/events/EaTableSelectionChangeEvent.d.ts +14 -0
  551. package/dist/types/components/ea-table/events/EaTableSelectionChangeEvent.d.ts.map +1 -0
  552. package/dist/types/components/ea-table/events/EaTableSortChangeEvent.d.ts +17 -0
  553. package/dist/types/components/ea-table/events/EaTableSortChangeEvent.d.ts.map +1 -0
  554. package/dist/types/components/ea-table/events/EaTableTemplateCellClickEvent.d.ts +21 -0
  555. package/dist/types/components/ea-table/events/EaTableTemplateCellClickEvent.d.ts.map +1 -0
  556. package/dist/types/components/ea-table/index.d.ts +9 -0
  557. package/dist/types/components/ea-table/index.d.ts.map +1 -0
  558. package/dist/types/components/ea-table/types.d.ts +16 -0
  559. package/dist/types/components/ea-table/types.d.ts.map +1 -0
  560. package/dist/types/components/ea-table/utils/h.d.ts +2 -0
  561. package/dist/types/components/ea-table/utils/h.d.ts.map +1 -0
  562. package/dist/types/components/ea-table/utils/setAttribute.d.ts +2 -0
  563. package/dist/types/components/ea-table/utils/setAttribute.d.ts.map +1 -0
  564. package/dist/types/components/ea-tabs/components/ea-tab/index.d.ts +35 -0
  565. package/dist/types/components/ea-tabs/components/ea-tab/index.d.ts.map +1 -0
  566. package/dist/types/components/ea-tabs/components/ea-tab-panel/index.d.ts +23 -0
  567. package/dist/types/components/ea-tabs/components/ea-tab-panel/index.d.ts.map +1 -0
  568. package/dist/types/components/ea-tabs/components/ea-tabs/events/EaTabClickEvent.d.ts +14 -0
  569. package/dist/types/components/ea-tabs/components/ea-tabs/events/EaTabClickEvent.d.ts.map +1 -0
  570. package/dist/types/components/ea-tabs/components/ea-tabs/events/EaTabRemoveEvent.d.ts +13 -0
  571. package/dist/types/components/ea-tabs/components/ea-tabs/events/EaTabRemoveEvent.d.ts.map +1 -0
  572. package/dist/types/components/ea-tabs/components/ea-tabs/events/EaTabsChangeEvent.d.ts +13 -0
  573. package/dist/types/components/ea-tabs/components/ea-tabs/events/EaTabsChangeEvent.d.ts.map +1 -0
  574. package/dist/types/components/ea-tabs/components/ea-tabs/index.d.ts +96 -0
  575. package/dist/types/components/ea-tabs/components/ea-tabs/index.d.ts.map +1 -0
  576. package/dist/types/components/ea-tabs/index.d.ts +11 -0
  577. package/dist/types/components/ea-tabs/index.d.ts.map +1 -0
  578. package/dist/types/components/ea-tag/components/ea-check-tag/index.d.ts +27 -0
  579. package/dist/types/components/ea-tag/components/ea-check-tag/index.d.ts.map +1 -0
  580. package/dist/types/components/ea-tag/components/ea-tag/index.d.ts +48 -0
  581. package/dist/types/components/ea-tag/components/ea-tag/index.d.ts.map +1 -0
  582. package/dist/types/components/ea-tag/events/EaCheckTagChangeEvent.d.ts +8 -0
  583. package/dist/types/components/ea-tag/events/EaCheckTagChangeEvent.d.ts.map +1 -0
  584. package/dist/types/components/ea-tag/events/EaTagRemoveEvent.d.ts +13 -0
  585. package/dist/types/components/ea-tag/events/EaTagRemoveEvent.d.ts.map +1 -0
  586. package/dist/types/components/ea-tag/index.d.ts +6 -0
  587. package/dist/types/components/ea-tag/index.d.ts.map +1 -0
  588. package/dist/types/components/ea-text/index.d.ts +45 -0
  589. package/dist/types/components/ea-text/index.d.ts.map +1 -0
  590. package/dist/types/components/ea-theme-toggle/index.d.ts +31 -0
  591. package/dist/types/components/ea-theme-toggle/index.d.ts.map +1 -0
  592. package/dist/types/components/ea-time-picker/events/EaTimePickerBlurEvent.d.ts +4 -0
  593. package/dist/types/components/ea-time-picker/events/EaTimePickerBlurEvent.d.ts.map +1 -0
  594. package/dist/types/components/ea-time-picker/events/EaTimePickerChangeEvent.d.ts +8 -0
  595. package/dist/types/components/ea-time-picker/events/EaTimePickerChangeEvent.d.ts.map +1 -0
  596. package/dist/types/components/ea-time-picker/events/EaTimePickerFocusEvent.d.ts +4 -0
  597. package/dist/types/components/ea-time-picker/events/EaTimePickerFocusEvent.d.ts.map +1 -0
  598. package/dist/types/components/ea-time-picker/events/EaTimePickerVisibleChangeEvent.d.ts +13 -0
  599. package/dist/types/components/ea-time-picker/events/EaTimePickerVisibleChangeEvent.d.ts.map +1 -0
  600. package/dist/types/components/ea-time-picker/index.d.ts +148 -0
  601. package/dist/types/components/ea-time-picker/index.d.ts.map +1 -0
  602. package/dist/types/components/ea-timeline/components/ea-timeline/index.d.ts +15 -0
  603. package/dist/types/components/ea-timeline/components/ea-timeline/index.d.ts.map +1 -0
  604. package/dist/types/components/ea-timeline/components/ea-timeline-item/index.d.ts +47 -0
  605. package/dist/types/components/ea-timeline/components/ea-timeline-item/index.d.ts.map +1 -0
  606. package/dist/types/components/ea-timeline/index.d.ts +9 -0
  607. package/dist/types/components/ea-timeline/index.d.ts.map +1 -0
  608. package/dist/types/components/ea-tooltip/index.d.ts +58 -0
  609. package/dist/types/components/ea-tooltip/index.d.ts.map +1 -0
  610. package/dist/types/components/ea-tour/components/ea-tour/index.d.ts +65 -0
  611. package/dist/types/components/ea-tour/components/ea-tour/index.d.ts.map +1 -0
  612. package/dist/types/components/ea-tour/components/ea-tour-step/index.d.ts +77 -0
  613. package/dist/types/components/ea-tour/components/ea-tour-step/index.d.ts.map +1 -0
  614. package/dist/types/components/ea-tour/events/EaTourCloseEvent.d.ts +8 -0
  615. package/dist/types/components/ea-tour/events/EaTourCloseEvent.d.ts.map +1 -0
  616. package/dist/types/components/ea-tour/index.d.ts +9 -0
  617. package/dist/types/components/ea-tour/index.d.ts.map +1 -0
  618. package/dist/types/components/ea-transfer/components/panel/index.d.ts +119 -0
  619. package/dist/types/components/ea-transfer/components/panel/index.d.ts.map +1 -0
  620. package/dist/types/components/ea-transfer/events/EaTransferLeftCheckChangeEvent.d.ts +14 -0
  621. package/dist/types/components/ea-transfer/events/EaTransferLeftCheckChangeEvent.d.ts.map +1 -0
  622. package/dist/types/components/ea-transfer/events/EaTransferRightCheckChangeEvent.d.ts +14 -0
  623. package/dist/types/components/ea-transfer/events/EaTransferRightCheckChangeEvent.d.ts.map +1 -0
  624. package/dist/types/components/ea-transfer/index.d.ts +113 -0
  625. package/dist/types/components/ea-transfer/index.d.ts.map +1 -0
  626. package/dist/types/components/ea-tree/events/EaTreeCheckChangeEvent.d.ts +15 -0
  627. package/dist/types/components/ea-tree/events/EaTreeCheckChangeEvent.d.ts.map +1 -0
  628. package/dist/types/components/ea-tree/events/EaTreeCheckEvent.d.ts +19 -0
  629. package/dist/types/components/ea-tree/events/EaTreeCheckEvent.d.ts.map +1 -0
  630. package/dist/types/components/ea-tree/events/EaTreeCurrentChangeEvent.d.ts +9 -0
  631. package/dist/types/components/ea-tree/events/EaTreeCurrentChangeEvent.d.ts.map +1 -0
  632. package/dist/types/components/ea-tree/events/EaTreeNodeClickEvent.d.ts +13 -0
  633. package/dist/types/components/ea-tree/events/EaTreeNodeClickEvent.d.ts.map +1 -0
  634. package/dist/types/components/ea-tree/events/EaTreeNodeCollapseEvent.d.ts +15 -0
  635. package/dist/types/components/ea-tree/events/EaTreeNodeCollapseEvent.d.ts.map +1 -0
  636. package/dist/types/components/ea-tree/events/EaTreeNodeContextmenuEvent.d.ts +14 -0
  637. package/dist/types/components/ea-tree/events/EaTreeNodeContextmenuEvent.d.ts.map +1 -0
  638. package/dist/types/components/ea-tree/events/EaTreeNodeExpandEvent.d.ts +15 -0
  639. package/dist/types/components/ea-tree/events/EaTreeNodeExpandEvent.d.ts.map +1 -0
  640. package/dist/types/components/ea-tree/events/EaTreeNodeSelectEvent.d.ts +14 -0
  641. package/dist/types/components/ea-tree/events/EaTreeNodeSelectEvent.d.ts.map +1 -0
  642. package/dist/types/components/ea-tree/index.d.ts +208 -0
  643. package/dist/types/components/ea-tree/index.d.ts.map +1 -0
  644. package/dist/types/components/index.d.ts +1 -0
  645. package/dist/types/components/index.d.ts.map +1 -0
  646. package/dist/types/constants/variant.d.ts +19 -0
  647. package/dist/types/constants/variant.d.ts.map +1 -0
  648. package/dist/types/core/EaBase.d.ts +75 -0
  649. package/dist/types/core/EaBase.d.ts.map +1 -0
  650. package/dist/types/core/EaFormAssociatedBase.d.ts +134 -0
  651. package/dist/types/core/EaFormAssociatedBase.d.ts.map +1 -0
  652. package/dist/types/decorator/attribute.d.ts +11 -0
  653. package/dist/types/decorator/attribute.d.ts.map +1 -0
  654. package/dist/types/decorator/children.d.ts +15 -0
  655. package/dist/types/decorator/children.d.ts.map +1 -0
  656. package/dist/types/decorator/custom-element.d.ts +32 -0
  657. package/dist/types/decorator/custom-element.d.ts.map +1 -0
  658. package/dist/types/decorator/index.d.ts +7 -0
  659. package/dist/types/decorator/index.d.ts.map +1 -0
  660. package/dist/types/decorator/listen.d.ts +29 -0
  661. package/dist/types/decorator/listen.d.ts.map +1 -0
  662. package/dist/types/decorator/property.d.ts +33 -0
  663. package/dist/types/decorator/property.d.ts.map +1 -0
  664. package/dist/types/decorator/query.d.ts +30 -0
  665. package/dist/types/decorator/query.d.ts.map +1 -0
  666. package/dist/types/index.d.ts +8 -0
  667. package/dist/types/index.d.ts.map +1 -0
  668. package/dist/types/stores/element-attributes.d.ts +10 -0
  669. package/dist/types/stores/element-attributes.d.ts.map +1 -0
  670. package/dist/types/stores/element-properties.d.ts +10 -0
  671. package/dist/types/stores/element-properties.d.ts.map +1 -0
  672. package/dist/types/stores/index.d.ts +4 -0
  673. package/dist/types/stores/index.d.ts.map +1 -0
  674. package/dist/types/stores/stylesheet-cache.d.ts +10 -0
  675. package/dist/types/stores/stylesheet-cache.d.ts.map +1 -0
  676. package/dist/types/themes/__tests__/controller.test.d.ts +2 -0
  677. package/dist/types/themes/__tests__/controller.test.d.ts.map +1 -0
  678. package/dist/types/themes/controller.d.ts +22 -0
  679. package/dist/types/themes/controller.d.ts.map +1 -0
  680. package/dist/types/themes/dark.entry.d.ts +2 -0
  681. package/dist/types/themes/dark.entry.d.ts.map +1 -0
  682. package/dist/types/themes/light.entry.d.ts +2 -0
  683. package/dist/types/themes/light.entry.d.ts.map +1 -0
  684. package/dist/types/themes/source.entry.d.ts +2 -0
  685. package/dist/types/themes/source.entry.d.ts.map +1 -0
  686. package/dist/types/types/attribute.d.ts +45 -0
  687. package/dist/types/types/attribute.d.ts.map +1 -0
  688. package/dist/types/types/element.d.ts +32 -0
  689. package/dist/types/types/element.d.ts.map +1 -0
  690. package/dist/types/types/events.d.ts +33 -0
  691. package/dist/types/types/events.d.ts.map +1 -0
  692. package/dist/types/types/index.d.ts +4 -0
  693. package/dist/types/types/index.d.ts.map +1 -0
  694. package/dist/types/types/property.d.ts +29 -0
  695. package/dist/types/types/property.d.ts.map +1 -0
  696. package/dist/types/utils/Enum.d.ts +17 -0
  697. package/dist/types/utils/Enum.d.ts.map +1 -0
  698. package/dist/types/utils/I18nManager.d.ts +92 -0
  699. package/dist/types/utils/I18nManager.d.ts.map +1 -0
  700. package/dist/types/utils/Utils.d.ts +3 -0
  701. package/dist/types/utils/Utils.d.ts.map +1 -0
  702. package/dist/types/utils/Variables.d.ts +4 -0
  703. package/dist/types/utils/Variables.d.ts.map +1 -0
  704. package/dist/types/utils/bem.d.ts +44 -0
  705. package/dist/types/utils/bem.d.ts.map +1 -0
  706. package/dist/types/utils/case-convert.d.ts +21 -0
  707. package/dist/types/utils/case-convert.d.ts.map +1 -0
  708. package/dist/types/utils/h.d.ts +24 -0
  709. package/dist/types/utils/h.d.ts.map +1 -0
  710. package/dist/types/utils/html.d.ts +8 -0
  711. package/dist/types/utils/html.d.ts.map +1 -0
  712. package/dist/types/utils/parseAttributeValue.d.ts +20 -0
  713. package/dist/types/utils/parseAttributeValue.d.ts.map +1 -0
  714. package/dist/types/utils/parseTime.d.ts +2 -0
  715. package/dist/types/utils/parseTime.d.ts.map +1 -0
  716. package/dist/types/utils/roving-tabindex.d.ts +41 -0
  717. package/dist/types/utils/roving-tabindex.d.ts.map +1 -0
  718. package/dist/types/utils/timeout.d.ts +8 -0
  719. package/dist/types/utils/timeout.d.ts.map +1 -0
  720. package/dist/utils/Enum.ts.js +6 -0
  721. package/dist/utils/{I18nManager.js → I18nManager.ts.js} +35 -52
  722. package/dist/utils/Utils.ts.js +4 -0
  723. package/dist/utils/bem.ts.js +15 -0
  724. package/dist/utils/case-convert.ts.js +10 -0
  725. package/dist/utils/h.ts.js +18 -0
  726. package/dist/utils/html.ts.js +701 -0
  727. package/dist/utils/parseAttributeValue.ts.js +75 -0
  728. package/dist/utils/{parseTime.js → parseTime.ts.js} +21 -31
  729. package/dist/utils/roving-tabindex.ts.js +75 -0
  730. package/dist/utils/timeout.ts.js +9 -0
  731. package/package.json +403 -308
  732. package/dist/components/Base.js +0 -941
  733. package/dist/core/FormBase.js +0 -238
  734. package/dist/utils/Color.js +0 -439
  735. package/dist/utils/Utils.js +0 -65
  736. package/dist/utils/Variables.js +0 -12
  737. package/dist/utils/timeout.js +0 -9
  738. /package/dist/css/{ea-option-gropu.style.js → ea-option-group.style.js} +0 -0
@@ -1,1125 +1,803 @@
1
- var Ee = Object.defineProperty;
2
- var pe = (d) => {
3
- throw TypeError(d);
4
- };
5
- var ve = (d, o, e) => o in d ? Ee(d, o, { enumerable: !0, configurable: !0, writable: !0, value: e }) : d[o] = e;
6
- var b = (d, o, e) => ve(d, typeof o != "symbol" ? o + "" : o, e), fe = (d, o, e) => o.has(d) || pe("Cannot " + e);
7
- var s = (d, o, e) => (fe(d, o, "read from private field"), e ? e.call(d) : o.get(d)), n = (d, o, e) => o.has(d) ? pe("Cannot add the same private member more than once") : o instanceof WeakSet ? o.add(d) : o.set(d, e), f = (d, o, e, t) => (fe(d, o, "write to private field"), t ? t.call(d, e) : o.set(d, e), e);
8
- import { n as ce } from "./ea-calendar2.js";
9
- import { B as he } from "./Base.js";
10
- import { s as Ne, a as we, b as Ae } from "../css/ea-tree.style.js";
1
+ import { E as K } from "../core/EaBase.ts.js";
2
+ import { q as D, l as p, C as T, a as _, p as b } from "../core/decorator.js";
3
+ import { t as k } from "../utils/timeout.ts.js";
11
4
  import "./ea-checkbox.js";
12
- import { t as ke } from "../utils/timeout.js";
13
- class Se extends Event {
14
- constructor(o) {
15
- super("ea-node-expand", { bubbles: !0, composed: !0 }), this.detail = o;
5
+ import "./ea-icon.js";
6
+ import { s as $ } from "../css/ea-tree.style.js";
7
+ import { c as A } from "../utils/bem.ts.js";
8
+ class M extends Event {
9
+ constructor(t) {
10
+ super("ea-check-change", { bubbles: !0, composed: !0 }), this.detail = t;
16
11
  }
17
12
  }
18
- class qe extends Event {
19
- constructor(o) {
20
- super("ea-node-collapse", { bubbles: !0, composed: !0 }), this.detail = o;
13
+ class L extends Event {
14
+ constructor(t) {
15
+ super("ea-check", { bubbles: !0, composed: !0 }), this.detail = t;
21
16
  }
22
17
  }
23
- class Le extends Event {
24
- constructor(o) {
25
- super("ea-node-select", { bubbles: !0, composed: !0 }), this.detail = o;
18
+ class O extends Event {
19
+ constructor(t) {
20
+ super("ea-current-change", { bubbles: !0, composed: !0 }), this.detail = t;
26
21
  }
27
22
  }
28
- class Ce extends Event {
29
- constructor(o) {
30
- super("ea-node-click", { bubbles: !0, composed: !0 }), this.detail = o;
23
+ class C extends Event {
24
+ constructor(t) {
25
+ super("ea-node-click", { bubbles: !0, composed: !0 }), this.detail = t;
31
26
  }
32
27
  }
33
- class Pe extends Event {
34
- constructor(o) {
35
- super("ea-node-contextmenu", { bubbles: !0, composed: !0 }), this.detail = o;
28
+ class I extends Event {
29
+ constructor(t) {
30
+ super("ea-node-collapse", { bubbles: !0, composed: !0 }), this.detail = t;
36
31
  }
37
32
  }
38
- class $e extends Event {
39
- constructor(o) {
40
- super("ea-check-change", { bubbles: !0, composed: !0 }), this.detail = o;
33
+ class B extends Event {
34
+ constructor(t) {
35
+ super("ea-node-contextmenu", { bubbles: !0, composed: !0 }), this.detail = t;
41
36
  }
42
37
  }
43
- class Te extends Event {
44
- constructor(o) {
45
- super("ea-check", { bubbles: !0, composed: !0 }), this.detail = o;
38
+ class H extends Event {
39
+ constructor(t) {
40
+ super("ea-node-expand", { bubbles: !0, composed: !0 }), this.detail = t;
46
41
  }
47
42
  }
48
- class Ke extends Event {
49
- constructor(o) {
50
- super("ea-current-change", { bubbles: !0, composed: !0 }), this.detail = o;
43
+ class q extends Event {
44
+ constructor(t) {
45
+ super("ea-node-select", { bubbles: !0, composed: !0 }), this.detail = t;
51
46
  }
52
47
  }
53
- var v, L, P, k, C, $, T, _, M, W, U;
54
- class Be extends he {
48
+ var F = Object.defineProperty, j = Object.getOwnPropertyDescriptor, l = (e, t, s, n) => {
49
+ for (var a = n > 1 ? void 0 : n ? j(t, s) : t, i = e.length - 1, o; i >= 0; i--)
50
+ (o = e[i]) && (a = (n ? o(t, s, a) : o(a)) || a);
51
+ return n && a && F(t, s, a), a;
52
+ };
53
+ const y = "ea-tree", h = A(y);
54
+ let c = class extends K {
55
55
  constructor() {
56
- super();
57
- /** @type {HTMLElement} */
58
- n(this, v);
59
- /** @type {HTMLElement} */
60
- n(this, L);
61
- /** @type {HTMLElement} */
62
- n(this, P);
63
- /** @type {HTMLElement} */
64
- n(this, k);
65
- /** @type {AbortController} */
66
- n(this, C, new AbortController());
67
- b(this, "state", this.properties({
68
- path: {
69
- type: String,
70
- default: ""
71
- },
72
- label: {
73
- type: String,
74
- default: "",
75
- observer: (e) => {
76
- s(this, L).textContent = e;
77
- }
78
- },
79
- selected: {
80
- type: Boolean,
81
- default: !1,
82
- observer: () => {
83
- this.updateContainerClasslist();
84
- }
85
- },
86
- expanded: {
87
- type: Boolean,
88
- default: !1,
89
- observer: (e) => {
90
- if (!this.hasChildren) return;
91
- this.updateContainerClasslist();
92
- const t = this.nextElementSibling;
93
- t && (t.expanded = e);
94
- }
95
- },
96
- checked: {
97
- type: Boolean,
98
- default: !1,
99
- observer: (e) => {
100
- s(this, $).call(this, e), this.updateContainerClasslist();
101
- }
102
- },
103
- indeterminate: {
104
- type: Boolean,
105
- default: !1,
106
- observer: () => {
107
- s(this, $).call(this), this.updateContainerClasslist();
108
- }
109
- },
110
- disabled: {
111
- type: Boolean,
112
- default: !1,
113
- observer: () => {
114
- s(this, T).call(this), this.updateContainerClasslist();
115
- }
116
- },
117
- "show-checkbox": {
118
- type: Boolean,
119
- default: !1,
120
- observer: () => {
121
- this.updateContainerClasslist();
122
- }
123
- }
124
- }));
125
- b(this, "propStates", this.properties({
126
- hasChildren: {
127
- props: !0,
128
- type: Boolean,
129
- default: !1,
130
- observer: () => {
131
- this.updateContainerClasslist();
132
- }
133
- },
134
- dataProps: {
135
- props: !0,
136
- type: Object,
137
- default: {
138
- children: "children",
139
- label: "label",
140
- disabled: "disabled"
141
- },
142
- observer: () => {
143
- }
144
- },
145
- data: {
146
- props: !0,
147
- type: Object,
148
- default: {},
149
- observer: (e) => {
150
- var i;
151
- const { children: t, label: r, disabled: a } = this.dataProps;
152
- this.label = (e == null ? void 0 : e[r]) || this.label, this.hasChildren = ((i = e == null ? void 0 : e[t]) == null ? void 0 : i.length) > 0, this.disabled = (e == null ? void 0 : e[a]) || !1;
153
- }
154
- }
155
- }));
156
- /**
157
- * 更新 checkbox 状态
158
- * @param {boolean} checked - 是否选中
159
- * @param {boolean} indeterminate - 是否不确定
160
- */
161
- n(this, $, (e = this.checked, t = this.indeterminate) => {
162
- s(this, k) && (s(this, k).checked = e, s(this, k).indeterminate = t);
163
- });
164
- /**
165
- * 更新禁用状态
166
- */
167
- n(this, T, () => {
168
- s(this, k) && (s(this, k).disabled = this.disabled);
169
- });
170
- /**
171
- * 处理复选框变化事件
172
- * @param {Event} e 事件对象
173
- */
174
- n(this, _, (e) => {
175
- e.stopImmediatePropagation(), !this.disabled && (this.checked = e.detail.checked, this.emit("ea-tree-checkbox-click", {
176
- bubbles: !0,
177
- composed: !0,
178
- detail: {
179
- label: this,
180
- checked: e.detail.checked
181
- }
182
- }));
183
- });
184
- /**
185
- * 处理标签点击事件
186
- * @param {Event} e 事件对象
187
- */
188
- n(this, M, (e) => {
189
- if (e.stopImmediatePropagation(), e.target.closest(this.ns.ce("checkbox"))) return;
190
- const r = e.target.closest(this.ns.e("toggle-icon")), a = this.parentElement.querySelector("ea-tree-child");
191
- this.emit("ea-tree-label-click", {
192
- bubbles: !0,
193
- composed: !0,
194
- detail: {
195
- label: this,
196
- child: a,
197
- isIconClick: !!r
198
- }
199
- });
200
- });
201
- /**
202
- * 处理展开/收起图标点击事件
203
- * @param {Event} e 事件对象
204
- */
205
- n(this, W, (e) => {
206
- if (e.stopImmediatePropagation(), !this.hasChildren) return;
207
- const t = this.parentElement.querySelector("ea-tree-child");
208
- this.emit("ea-tree-label-click", {
209
- bubbles: !0,
210
- composed: !0,
211
- detail: {
212
- label: this,
213
- child: t,
214
- isIconClick: !0
215
- }
56
+ super(...arguments), this._nodeStates = /* @__PURE__ */ new Map(), this._treeState = {
57
+ selectedPath: null
58
+ }, this._focusedPath = null, this.showCheckbox = !1, this.checkStrictly = !1, this.nodeKey = "", this.label = "", this.expandOnIconClick = !1, this.data = [], this.dataProps = {
59
+ children: "children",
60
+ label: "label",
61
+ disabled: "disabled"
62
+ }, this.defaultExpandedKeys = [], this.defaultCheckedKeys = [], this._handleDefaultExpandedKeys = (e) => {
63
+ this.nodeKey && e.forEach((s) => {
64
+ const n = this._findPathByKey(s);
65
+ n && this._expandPath(n);
216
66
  });
217
- });
218
- /**
219
- * 绑定事件监听器
220
- */
221
- n(this, U, () => {
222
- s(this, k).addEventListener(
223
- "change",
224
- s(this, _),
225
- {
226
- signal: s(this, C).signal
67
+ }, this._handleDefaultCheckedKeys = (e) => {
68
+ this.nodeKey && e.forEach((s) => {
69
+ const n = this._findPathByKey(s);
70
+ if (n) {
71
+ const a = this._nodeStates.get(n);
72
+ a && !a.disabled && this._handleCheckboxToggle(n, !0);
227
73
  }
228
- ), s(this, v).addEventListener("click", s(this, M), {
229
- signal: s(this, C).signal
230
- }), s(this, P).addEventListener("click", s(this, W), {
231
- signal: s(this, C).signal
232
74
  });
75
+ };
76
+ }
77
+ /** 处理数据变化,重新构建节点状态和渲染树 */
78
+ async _handleDataChange(e) {
79
+ if (await customElements.whenDefined("ea-tree"), this._nodeStates.clear(), this._container.innerHTML = "", this._focusedPath = null, e && e.length > 0) {
80
+ this._buildNodeStates(e, ""), this._container.innerHTML = this._renderTree(e, "");
81
+ const t = this._getRootPaths();
82
+ t.length > 0 && (this._focusedPath = t[0], this._updateNodeDOM(t[0])), k(() => {
83
+ this._handleDefaultExpandedKeys(this.defaultExpandedKeys), this._handleDefaultCheckedKeys(this.defaultCheckedKeys);
84
+ }, 16);
85
+ }
86
+ }
87
+ /** 递归构建节点状态 Map */
88
+ _buildNodeStates(e, t) {
89
+ const { children: s, label: n, disabled: a } = this.dataProps;
90
+ e.forEach((i, o) => {
91
+ const r = t ? `${t}-${o + 1}` : `${o + 1}$`, d = r.split("-").length, f = i[s] || [], u = f.length > 0;
92
+ this._nodeStates.set(r, {
93
+ raw: i,
94
+ path: r,
95
+ depth: d,
96
+ label: i[n] || "",
97
+ disabled: i[a] === !0,
98
+ hasChildren: u,
99
+ expanded: !1,
100
+ checked: !1,
101
+ indeterminate: !1,
102
+ selected: !1
103
+ }), u && this._buildNodeStates(f, r);
233
104
  });
234
- /**
235
- * 获取节点深度
236
- * @returns {number} 节点深度
237
- */
238
- b(this, "getDepth", () => {
239
- const e = this.path;
240
- return e ? e.split("-").length : 0;
241
- });
242
- /**
243
- * 判断是否为根节点
244
- * @returns {boolean} 是否为根节点
245
- */
246
- b(this, "isRoot", () => this.getDepth() === 1);
247
- /**
248
- * 判断是否为叶子节点
249
- * @returns {boolean} 是否为叶子节点
250
- */
251
- b(this, "isLeaf", () => this.hasChildren ? childTree.querySelectorAll("ea-tree-label").length === 0 : !0);
252
- this.stylesheet = Ne, this.$render();
253
- }
254
- static get observedAttributes() {
255
- return [
256
- ...super.observedAttributes,
257
- "label",
258
- "expanded",
259
- "selected",
260
- "checked",
261
- "indeterminate",
262
- "show-checkbox",
263
- "disabled",
264
- "path"
265
- ];
266
105
  }
267
- /**
268
- * 获取 classlist 列表
269
- * @return {string} 属性值
270
- */
271
- updateContainerClasslist() {
272
- const e = this.computedClasslist(
273
- "ea-tree-label",
274
- {
275
- // ['--' + this.type]: this.type,
276
- },
277
- {
278
- "has-children": this.hasChildren,
279
- expanded: this.expanded,
280
- selected: this.selected,
281
- checked: this.checked,
282
- indeterminate: this.indeterminate,
283
- "show-checkbox": this["show-checkbox"],
284
- disabled: this.disabled
285
- }
106
+ /** 生成节点状态类名 */
107
+ _getNodeStateClasses(e) {
108
+ return h.s(
109
+ e.expanded ? "expanded" : "",
110
+ e.selected ? "selected" : "",
111
+ e.checked ? "checked" : "",
112
+ e.indeterminate ? "indeterminate" : "",
113
+ e.hasChildren ? "has-children" : "",
114
+ this.showCheckbox ? "show-checkbox" : ""
286
115
  );
287
- return s(this, v).className = e, e;
288
- }
289
- $render() {
290
- const e = ce("tree-label");
291
- this.ns = e, this.shadowRoot.innerHTML = `
292
- <div class='${e.b()}' part='container'>
293
- <ea-icon name="angle-right" class='${e.e("toggle-icon")}' part='toggle'></ea-icon>
294
- <ea-checkbox class='${e.e("checkbox")}' part='checkbox'></ea-checkbox>
295
- <span class='${e.e("text")}' part='text'></span>
296
- </div>
297
- `, f(this, v, this.shadowRoot.querySelector(`.${e.b()}`)), f(this, L, this.shadowRoot.querySelector(`.${e.e("text")}`)), f(this, k, this.shadowRoot.querySelector(e.ce("checkbox"))), f(this, P, this.shadowRoot.querySelector(
298
- `.${e.e("toggle-icon")}`
299
- )), this.updateContainerClasslist(), s(this, T).call(this);
300
- }
301
- connectedCallback() {
302
- var e;
303
- super.connectedCallback(), (e = s(this, C)) == null || e.abort(), f(this, C, new AbortController()), s(this, U).call(this);
304
- }
305
- $beforeUnmounted() {
306
- var e;
307
- (e = s(this, C)) == null || e.abort();
308
116
  }
309
- }
310
- v = new WeakMap(), L = new WeakMap(), P = new WeakMap(), k = new WeakMap(), C = new WeakMap(), $ = new WeakMap(), T = new WeakMap(), _ = new WeakMap(), M = new WeakMap(), W = new WeakMap(), U = new WeakMap();
311
- window.customElements.get("ea-tree-label") || window.customElements.define("ea-tree-label", Be);
312
- var y, N, F, w, J, K, z, G, Q, X;
313
- class Ie extends he {
314
- constructor() {
315
- super();
316
- /** @type {HTMLElement} */
317
- n(this, y);
318
- /** @type {AbortController} */
319
- n(this, N, new AbortController());
320
- n(this, F, {
321
- expandedNodes: /* @__PURE__ */ new Set(),
322
- selectedNode: null
323
- });
324
- n(this, w, {
325
- /** @type {AbortController} */
326
- dataController: null
327
- });
328
- b(this, "propState", this.properties({
329
- data: {
330
- props: !0,
331
- type: Array,
332
- default: "",
333
- /** @param {Array} newVal */
334
- observer: async (e) => {
335
- var t;
336
- if (await customElements.whenDefined("ea-tree-label"), (t = s(this, w).dataController) == null || t.abort(), Array.isArray(e)) {
337
- s(this, w).dataController = new AbortController();
338
- const r = s(this, K).call(this);
339
- r.innerHTML = "", s(this, Q).call(this, e);
340
- }
341
- }
342
- },
343
- dataProps: {
344
- props: !0,
345
- type: Object,
346
- default: {
347
- children: "children",
348
- label: "label",
349
- disabled: "disabled"
350
- },
351
- observer: () => {
352
- }
353
- },
354
- "node-key": {
355
- props: !0,
356
- type: String,
357
- default: "id"
358
- },
359
- "show-checkbox": {
360
- type: Boolean,
361
- default: !1,
362
- observer: () => {
363
- s(this, J).call(this);
364
- }
365
- },
366
- checked: {
367
- type: Boolean,
368
- default: !1,
369
- observer: (e) => {
370
- s(this, X).call(this, e), this.updateContainerClasslist();
371
- }
372
- },
373
- expanded: {
374
- type: Boolean,
375
- default: !1,
376
- observer: (e) => {
377
- this.hidden = !e, this.updateContainerClasslist();
378
- }
379
- }
380
- }));
381
- /**
382
- * 获取 classlist 列表
383
- * @return {string} 属性值
384
- */
385
- /**
386
- * 更新 checkbox 可见性
387
- */
388
- n(this, J, () => {
389
- s(this, y).querySelectorAll("ea-tree-label").forEach((t) => {
390
- t["show-checkbox"] = this["show-checkbox"];
391
- });
392
- });
393
- /**
394
- * 获取或创建子节点插槽元素
395
- * @return {HTMLElement} 子节点插槽元素
396
- */
397
- n(this, K, () => {
398
- let e = this.querySelector('[slot="children"]');
399
- if (!e) {
400
- const t = document.createElement("div");
401
- t.slot = "children", this.appendChild(t), e = t;
117
+ /** 渲染树 HTML */
118
+ _renderTree(e, t) {
119
+ const { children: s, label: n, disabled: a } = this.dataProps;
120
+ return e.map((i, o) => {
121
+ const r = t ? `${t}-${o + 1}` : `${o + 1}$`, d = this._nodeStates.get(r), f = i[s] || [], u = f.length > 0, x = i[a] === !0, g = i[n] || "", P = !t && o === 0, m = this._getNodeStateClasses(d), E = u ? `<div class="${h.e("children")}" role="group">${this._renderTree(
122
+ f,
123
+ r
124
+ )}</div>` : "", S = u ? `<ea-icon name="angle-right" class="${h.e("toggle-icon")}"></ea-icon>` : "", w = ` aria-selected="${d.selected}"`, v = this.showCheckbox ? ` aria-checked="${d.checked || d.indeterminate ? d.indeterminate ? "mixed" : String(d.checked) : "false"}"` : "", N = P && !this._focusedPath ? 'tabindex="0"' : 'tabindex="-1"';
125
+ return `
126
+ <div class="${h.e("node")} ${m}" data-path="${r}" role="treeitem" aria-label="${g}"${u ? ` aria-expanded="${d.expanded}"` : ""}${w}${v}>
127
+ <div class="${h.e("label")}" data-path="${r}" ${N}>
128
+ ${S}
129
+ <ea-checkbox class="${h.e("checkbox")}"${d.checked ? " checked" : ""}${d.indeterminate ? " indeterminate" : ""}${x ? " disabled" : ""}></ea-checkbox>
130
+ <span class="${h.e("text")}">${g}</span>
131
+ </div>
132
+ ${E}
133
+ </div>`;
134
+ }).join("");
135
+ }
136
+ /** 从事件路径中查找 label 元素 */
137
+ _findLabelInPath(e) {
138
+ return e.find(
139
+ (t) => t instanceof HTMLElement && t.classList.contains(h.e("label"))
140
+ );
141
+ }
142
+ /** 判断事件路径中是否包含 toggle-icon */
143
+ _isToggleInPath(e) {
144
+ return e.some(
145
+ (t) => t instanceof HTMLElement && t.classList.contains(h.e("toggle-icon"))
146
+ );
147
+ }
148
+ /** 判断事件路径中是否包含 checkbox */
149
+ _isCheckboxInPath(e) {
150
+ return e.some(
151
+ (t) => t instanceof HTMLElement && t.classList.contains(h.e("checkbox"))
152
+ );
153
+ }
154
+ /** 根据 path 获取节点 DOM 元素 */
155
+ _getNodeElement(e) {
156
+ return this._container.querySelector(
157
+ `${h.ce("node")}[data-path="${e}"]`
158
+ );
159
+ }
160
+ /** 根据 path 获取 label DOM 元素 */
161
+ _getLabelElement(e) {
162
+ return this._container.querySelector(
163
+ `${h.ce("label")}[data-path="${e}"]`
164
+ );
165
+ }
166
+ /** 根据 path 获取 checkbox 组件 */
167
+ _getCheckboxElement(e) {
168
+ const t = this._getLabelElement(e);
169
+ return t ? t.querySelector(h.ce("checkbox")) : null;
170
+ }
171
+ /** 根据 path 获取子节点容器 */
172
+ _getChildrenElement(e) {
173
+ const t = this._getNodeElement(e);
174
+ return t ? t.querySelector(
175
+ `:scope > ${h.ce("children")}`
176
+ ) : null;
177
+ }
178
+ /** 更新单个节点的 DOM 状态 */
179
+ _updateNodeDOM(e) {
180
+ const t = this._nodeStates.get(e);
181
+ if (!t) return;
182
+ const s = this._getNodeElement(e);
183
+ if (!s) return;
184
+ const n = this._getNodeStateClasses(t);
185
+ if (s.className = `${h.e("node")} ${n}`, t.hasChildren && s.setAttribute("aria-expanded", String(t.expanded)), s.setAttribute("aria-selected", String(t.selected)), this.showCheckbox) {
186
+ const o = t.indeterminate ? "mixed" : String(t.checked);
187
+ s.setAttribute("aria-checked", o);
188
+ } else
189
+ s.removeAttribute("aria-checked");
190
+ const a = this._getLabelElement(e);
191
+ a && a.setAttribute(
192
+ "tabindex",
193
+ this._focusedPath === e ? "0" : "-1"
194
+ );
195
+ const i = this._getCheckboxElement(e);
196
+ i && (i.checked = t.checked, i.indeterminate = t.indeterminate);
197
+ }
198
+ /** 根据 key 查找节点路径 */
199
+ _findPathByKey(e) {
200
+ if (!this.nodeKey) return null;
201
+ const t = this.nodeKey;
202
+ for (const [, s] of this._nodeStates)
203
+ if (s.raw && s.raw[t] === e)
204
+ return s.path;
205
+ return null;
206
+ }
207
+ /** 根据数据对象查找节点路径 */
208
+ _findPathByData(e) {
209
+ if (!this.nodeKey) return null;
210
+ for (const [, t] of this._nodeStates)
211
+ if (JSON.stringify(t.raw) === JSON.stringify(e))
212
+ return t.path;
213
+ return null;
214
+ }
215
+ /** 解析节点路径(支持 key 或数据对象) */
216
+ _resolvePath(e) {
217
+ return e ? typeof e == "string" || typeof e == "number" ? this._findPathByKey(e) : typeof e == "object" ? this._findPathByData(e) : null : null;
218
+ }
219
+ /** 展开指定路径的节点 */
220
+ _expandPath(e) {
221
+ const t = this._nodeStates.get(e);
222
+ !t || !t.hasChildren || (t.expanded = !0, this._updateNodeDOM(e), this.dispatchEvent(
223
+ new H({
224
+ data: t.raw,
225
+ node: t,
226
+ expanded: !0
227
+ })
228
+ ));
229
+ }
230
+ /** 折叠指定路径的节点 */
231
+ _collapsePath(e) {
232
+ const t = this._nodeStates.get(e);
233
+ !t || !t.hasChildren || (t.expanded = !1, this._updateNodeDOM(e), this.dispatchEvent(
234
+ new I({
235
+ data: t.raw,
236
+ node: t,
237
+ expanded: !1
238
+ })
239
+ ));
240
+ }
241
+ /** 切换展开/折叠 */
242
+ _toggleExpand(e) {
243
+ const t = this._nodeStates.get(e);
244
+ !t || !t.hasChildren || (t.expanded ? this._collapsePath(e) : this._expandPath(e));
245
+ }
246
+ /** 选中指定路径的节点 */
247
+ _selectPath(e) {
248
+ if (this._treeState.selectedPath) {
249
+ const s = this._nodeStates.get(this._treeState.selectedPath);
250
+ s && (s.selected = !1, this._updateNodeDOM(this._treeState.selectedPath));
251
+ }
252
+ const t = this._nodeStates.get(e);
253
+ t && (this._treeState.selectedPath = e, t.selected = !0, this._updateNodeDOM(e), this.dispatchEvent(
254
+ new q({
255
+ node: t.raw,
256
+ selected: !0
257
+ })
258
+ ), this.dispatchEvent(
259
+ new O({
260
+ data: t.raw,
261
+ node: t
262
+ })
263
+ ));
264
+ }
265
+ /** 展开指定路径的所有祖先节点 */
266
+ _expandAncestorPaths(e) {
267
+ const t = e.split("-");
268
+ for (let s = 1; s < t.length; s++) {
269
+ const n = t.slice(0, s).join("-"), a = this._nodeStates.get(n);
270
+ a && a.hasChildren && !a.expanded && (a.expanded = !0, this._updateNodeDOM(n));
271
+ }
272
+ }
273
+ /** 处理 checkbox 切换逻辑 */
274
+ _handleCheckboxToggle(e, t) {
275
+ const s = this._nodeStates.get(e);
276
+ if (!s || s.disabled) return;
277
+ const n = t !== void 0 ? t : !s.checked;
278
+ if (!(s.checked === n && !s.indeterminate)) {
279
+ if (s.checked = n, s.indeterminate = !1, this.checkStrictly) {
280
+ this._updateNodeDOM(e), this._emitCheckEvents(e);
281
+ return;
402
282
  }
403
- return e;
404
- });
405
- /**
406
- * 创建树节点路径
407
- * @param {number} index 节点索引
408
- * @returns {string} 节点路径
409
- */
410
- n(this, z, (e) => {
411
- var r;
412
- const t = (r = this.parentElement) == null ? void 0 : r.querySelector("ea-tree-label");
413
- return t ? `${t.getAttribute("path")}-${e + 1}` : (e + 1).toString();
414
- });
415
- /**
416
- * 创建子节点元素
417
- * @param {Object} item 数据项
418
- * @param {number} index 索引
419
- * @returns {Object} 包含section、treeLabel和tree的对象
420
- */
421
- n(this, G, (e, t) => {
422
- if (!e) return { section: null, treeLabel: null, tree: null };
423
- const { children: r, disabled: a } = this.dataProps, i = document.createElement("section"), l = document.createElement("ea-tree-child"), c = document.createElement("ea-tree-label");
424
- return i.className = this.ns.e("children"), i.part = "children-wrapper", l.part = "children", c.part = "label", c.dataProps = this.dataProps, l.dataProps = this.dataProps, c.data = e, l.data = e[r], l.hidden = !0, c["show-checkbox"] = this["show-checkbox"], c.setAttribute("path", s(this, z).call(this, t)), a && e[a] === !0 && c.toggleAttribute("disabled", !0), this["show-checkbox"] && l.toggleAttribute("show-checkbox", !0), e[r] && e[r].length > 0 && (c.hasChildren = !0, l.hidden = !s(this, F).expandedNodes.has(c)), { section: i, treeLabel: c, tree: l };
425
- });
426
- /**
427
- * 渲染树节点
428
- * @param {Array} treeData 树数据
429
- */
430
- n(this, Q, (e) => {
431
- const t = document.createDocumentFragment(), r = s(this, K).call(this);
432
- e.forEach((a, i) => {
433
- const { section: l, treeLabel: c, tree: q } = s(this, G).call(this, a, i);
434
- l.appendChild(c), l.appendChild(q), t.appendChild(l);
435
- }), r.appendChild(t);
283
+ this._setDescendantsChecked(e, n), this._updateAncestorsState(e), this._updateAllCheckboxDOM(), this._emitCheckEvents(e);
284
+ }
285
+ }
286
+ /** 设置所有子孙节点的选中状态 */
287
+ _setDescendantsChecked(e, t) {
288
+ this._nodeStates.forEach((s, n) => {
289
+ n.startsWith(e + "-") && !s.disabled && (s.checked = t, s.indeterminate = !1);
436
290
  });
437
- n(this, X, (e) => {
438
- s(this, y).querySelectorAll("ea-tree-label").forEach((t) => {
439
- t.checked = e;
440
- }), s(this, y).querySelectorAll("ea-tree-child").forEach((t) => {
441
- t.checked = e;
291
+ }
292
+ /** 向上更新祖先节点的选中/半选状态 */
293
+ _updateAncestorsState(e) {
294
+ const t = e.split("-");
295
+ for (; t.length > 1; ) {
296
+ t.pop();
297
+ const s = t.join("-"), n = this._nodeStates.get(s);
298
+ if (!n) continue;
299
+ const a = this._getDirectChildrenPaths(s), i = a.length > 0 && a.every((r) => this._nodeStates.get(r).checked), o = a.some((r) => {
300
+ const d = this._nodeStates.get(r);
301
+ return d.checked || d.indeterminate;
442
302
  });
303
+ n.checked = i, n.indeterminate = !i && o;
304
+ }
305
+ }
306
+ /** 获取直接子节点的路径列表 */
307
+ _getDirectChildrenPaths(e) {
308
+ const t = e.split("-").length, s = [];
309
+ return this._nodeStates.forEach((n, a) => {
310
+ a.split("-").length === t + 1 && a.startsWith(e + "-") && s.push(a);
311
+ }), s;
312
+ }
313
+ /** 更新所有节点的 checkbox DOM */
314
+ _updateAllCheckboxDOM() {
315
+ this._nodeStates.forEach((e, t) => {
316
+ this._updateNodeDOM(t);
443
317
  });
444
- this.stylesheet = we, this.$render();
445
318
  }
446
- static get observedAttributes() {
447
- return [
448
- ...super.observedAttributes,
449
- "show-checkbox",
450
- "checked",
451
- "expanded"
452
- ];
319
+ /** 判断指定路径下是否有已选中的子孙节点 */
320
+ _hasCheckedChildren(e) {
321
+ for (const [t, s] of this._nodeStates)
322
+ if (t.startsWith(e + "-") && s.checked)
323
+ return !0;
324
+ return !1;
453
325
  }
454
- updateContainerClasslist() {
455
- const e = this.computedClasslist(
456
- this.ns.b(),
457
- {
458
- // ['--' + this.type]: this.type,
459
- },
460
- {}
326
+ /** 派发 checkbox 相关事件 */
327
+ _emitCheckEvents(e) {
328
+ const t = this._nodeStates.get(e);
329
+ if (!t) return;
330
+ const s = this._hasCheckedChildren(e);
331
+ this.dispatchEvent(
332
+ new M({
333
+ data: t.raw,
334
+ checked: t.checked,
335
+ hasCheckedChildren: s
336
+ })
337
+ );
338
+ const n = this.getCheckedNodes(), a = this.getCheckedKeys(), i = this.getHalfCheckedNodes(), o = this.getHalfCheckedKeys();
339
+ this.dispatchEvent(
340
+ new L({
341
+ data: t.raw,
342
+ checkedState: {
343
+ checkedNodes: n,
344
+ checkedKeys: a,
345
+ halfCheckedNodes: i,
346
+ halfCheckedKeys: o
347
+ }
348
+ })
461
349
  );
462
- return s(this, y).className = e, e;
463
- }
464
- $render() {
465
- const e = ce("tree-child");
466
- this.ns = e, this.shadowRoot.innerHTML = `
467
- <div class='${e.b()}' part='container'>
468
- <slot name="children"></slot>
469
- </div>
470
- `, f(this, y, this.shadowRoot.querySelector(e.cb()));
471
- }
472
- connectedCallback() {
473
- var e;
474
- super.connectedCallback(), (e = s(this, N)) == null || e.abort(), f(this, N, new AbortController()), this.updateContainerClasslist();
475
- }
476
- $beforeUnmounted() {
477
- var e;
478
- (e = s(this, N)) == null || e.abort();
479
- for (const t of Object.values(s(this, w)))
480
- t == null || t.abort();
481
350
  }
482
- }
483
- y = new WeakMap(), N = new WeakMap(), F = new WeakMap(), w = new WeakMap(), J = new WeakMap(), K = new WeakMap(), z = new WeakMap(), G = new WeakMap(), Q = new WeakMap(), X = new WeakMap();
484
- customElements.get("ea-tree-child") || customElements.define("ea-tree-child", Ie);
485
- var u, x, h, m, A, B, g, Y, Z, O, V, ee, te, S, I, E, se, R, re, H, j, D, ae, ie, ne, oe, le, de;
486
- class Re extends he {
487
- constructor() {
488
- super();
489
- /** @type {HTMLElement} */
490
- n(this, u);
491
- /** @type {AbortController} */
492
- n(this, x, new AbortController());
493
- n(this, h, {
494
- expandedNodes: /* @__PURE__ */ new Set(),
495
- selectedNode: null,
496
- checkedNodes: /* @__PURE__ */ new Set()
351
+ /** 更新所有节点的 checkbox 可见性 */
352
+ _updateCheckboxVisibility() {
353
+ this._nodeStates.forEach((e, t) => {
354
+ this._updateNodeDOM(t);
497
355
  });
498
- n(this, m, {
499
- /** @type {AbortController} */
500
- dataController: null
501
- });
502
- b(this, "attrState", this.properties({
503
- "show-checkbox": {
504
- type: Boolean,
505
- default: !1,
506
- observer: () => {
507
- s(this, se).call(this);
508
- }
509
- },
510
- "check-strictly": {
511
- type: Boolean,
512
- default: !1
513
- },
514
- "node-key": {
515
- type: String,
516
- default: null
517
- },
518
- "expand-on-icon-click": {
519
- type: Boolean,
520
- default: !1
356
+ }
357
+ _handleClick(e) {
358
+ const t = e.composedPath(), s = this._findLabelInPath(t);
359
+ if (!s) return;
360
+ const n = s.dataset.path, a = this._nodeStates.get(n);
361
+ if (!a || (this._moveFocus(n), this._isCheckboxInPath(t))) return;
362
+ const o = this._isToggleInPath(t);
363
+ if (this.expandOnIconClick) {
364
+ o ? this._toggleExpand(n) : (this.dispatchEvent(new C({ data: a.raw })), this._selectPath(n));
365
+ return;
366
+ }
367
+ a.hasChildren && this._toggleExpand(n), this.dispatchEvent(new C({ data: a.raw })), this._selectPath(n);
368
+ }
369
+ _handleCheckboxChange(e) {
370
+ e.stopPropagation();
371
+ const s = e.composedPath().find(
372
+ (r) => r instanceof HTMLElement && r.classList.contains(h.e("label"))
373
+ );
374
+ if (!s) return;
375
+ const n = s.dataset.path, a = this._nodeStates.get(n);
376
+ if (!a || a.disabled) return;
377
+ const i = e.detail, o = (i == null ? void 0 : i.checked) !== void 0 ? i.checked : !a.checked;
378
+ this._handleCheckboxToggle(n, o);
379
+ }
380
+ _handleContextmenu(e) {
381
+ e.preventDefault(), e.stopPropagation();
382
+ const t = e.composedPath(), s = this._findLabelInPath(t);
383
+ if (!s) return;
384
+ const n = s.dataset.path, a = this._nodeStates.get(n);
385
+ a && this.dispatchEvent(
386
+ new B({
387
+ data: a.raw,
388
+ node: a
389
+ })
390
+ );
391
+ }
392
+ _handleKeydown(e) {
393
+ const s = e.target.dataset.path;
394
+ if (!s) return;
395
+ const n = this._nodeStates.get(s);
396
+ if (!n || n.disabled) return;
397
+ const a = this._getVisiblePaths();
398
+ switch (e.key) {
399
+ case "ArrowDown": {
400
+ e.preventDefault();
401
+ const i = a.indexOf(s);
402
+ i < a.length - 1 && this._moveFocus(a[i + 1]);
403
+ break;
521
404
  }
522
- }));
523
- b(this, "propState", this.properties({
524
- data: {
525
- props: !0,
526
- type: Array,
527
- default: "",
528
- /** @param {Array} newVal */
529
- observer: async (e) => {
530
- var t;
531
- await customElements.whenDefined("ea-tree"), await customElements.whenDefined("ea-tree-label"), (t = s(this, m).dataController) == null || t.abort(), s(this, u).innerHTML = "", e && (s(this, m).dataController = new AbortController(), s(this, Z).call(this, e), s(this, ae).call(this), ke(() => {
532
- s(this, O).call(this, this.defaultExpandedKeys), s(this, V).call(this, this.defaultCheckedKeys);
533
- }, 16));
534
- }
535
- },
536
- dataProps: {
537
- props: !0,
538
- type: Object,
539
- default: {
540
- children: "children",
541
- label: "label",
542
- disabled: "disabled"
543
- }
544
- },
545
- defaultExpandedKeys: {
546
- props: !0,
547
- type: Array,
548
- default: [],
549
- observer: () => {
550
- }
551
- },
552
- defaultCheckedKeys: {
553
- props: !0,
554
- type: Array,
555
- default: [],
556
- observer: () => {
557
- }
405
+ case "ArrowUp": {
406
+ e.preventDefault();
407
+ const i = a.indexOf(s);
408
+ i > 0 && this._moveFocus(a[i - 1]);
409
+ break;
558
410
  }
559
- }));
560
- /**
561
- * 根据节点键值查找标签元素
562
- * @param {*} key 节点键值
563
- * @returns {HTMLElement|null} 找到的标签元素或null
564
- */
565
- n(this, A, (e) => {
566
- if (!this["node-key"]) return null;
567
- const t = this["node-key"];
568
- return [...s(this, u).querySelectorAll("ea-tree-label")].find((a) => a.data && a.data[t] === e);
569
- });
570
- /**
571
- * 根据节点数据查找标签元素
572
- * @param {Object} data 节点数据
573
- * @returns {HTMLElement|null} 找到的标签元素或null
574
- */
575
- n(this, B, (e) => this["node-key"] ? [...s(this, u).querySelectorAll("ea-tree-label")].find((r) => r.data ? JSON.stringify(r.data) === JSON.stringify(e) : !1) : null);
576
- n(this, g, (e) => e ? typeof e == "object" ? s(this, B).call(this, e) : typeof e == "number" || typeof e == "string" ? s(this, A).call(this, e) : null : null);
577
- /**
578
- * 创建树节点元素
579
- * @param {Object} item 数据项
580
- * @param {number} index 索引
581
- * @returns {Object} 包含section、treeLabel和tree的对象
582
- */
583
- n(this, Y, (e, t) => {
584
- const { children: r, disabled: a } = this.dataProps, i = document.createElement("section"), l = document.createElement("ea-tree-child"), c = document.createElement("ea-tree-label");
585
- return i.className = "ea-tree__children", i.part = "children-wrapper", l.part = "children", c.part = "label", c.dataProps = this.dataProps, l.dataProps = this.dataProps, c.data = e, l.data = e[r], c["show-checkbox"] = this["show-checkbox"], c.setAttribute("path", (t + 1).toString().concat("$")), a && e[a] === !0 && c.toggleAttribute("disabled", !0), this["show-checkbox"] && l.setAttribute("show-checkbox", ""), e[r] && e[r].length > 0 && (c.hasChildren = !0, l.hidden = !s(this, h).expandedNodes.has(c)), { section: i, treeLabel: c, tree: l };
586
- });
587
- /**
588
- * 渲染树节点
589
- * @param {Array} treeData 树数据
590
- */
591
- n(this, Z, (e) => {
592
- const t = document.createDocumentFragment();
593
- e.forEach((r, a) => {
594
- const { section: i, treeLabel: l, tree: c } = s(this, Y).call(this, r, a);
595
- i.appendChild(l), i.appendChild(c), t.appendChild(i);
596
- }), s(this, u).appendChild(t);
597
- });
598
- /**
599
- * 处理默认展开键
600
- * @param {Array} expandedKeys 展开键数组
601
- */
602
- n(this, O, (e) => {
603
- const t = this["node-key"];
604
- if (!t) return;
605
- const r = [...s(this, u).querySelectorAll("ea-tree-label")];
606
- e.forEach((a) => {
607
- const i = r.find((l) => l.data[t] === a);
608
- i && (s(this, h).expandedNodes.add(i), s(this, S).call(this, i.nextElementSibling, i));
609
- });
610
- });
611
- /**
612
- * 处理默认选中键
613
- * @param {Array} checkedKeys 选中键数组
614
- */
615
- n(this, V, (e) => {
616
- const t = this["node-key"];
617
- if (!t) return;
618
- const r = [...s(this, u).querySelectorAll("ea-tree-label")];
619
- e.forEach((a) => {
620
- const i = r.find((l) => l.data[t] === a);
621
- i && (i.checked = !0, i.dispatchEvent(
622
- new CustomEvent("ea-tree-checkbox-click", {
623
- bubbles: !0,
624
- composed: !0,
625
- detail: {
626
- label: i,
627
- checked: !0
628
- }
629
- })
630
- ));
631
- });
632
- });
633
- /**
634
- * 点击标签事件
635
- * @param {MouseEvent} e 事件对象
636
- */
637
- n(this, ee, (e) => {
638
- e.stopImmediatePropagation();
639
- const t = e.detail.label, r = e.detail.child, a = e.detail.isIconClick;
640
- if (t) {
641
- if (this["expand-on-icon-click"]) {
642
- a ? t.hasChildren && (s(this, h).expandedNodes.has(t) ? (s(this, h).expandedNodes.delete(t), s(this, I).call(this, r, t)) : (s(this, h).expandedNodes.add(t), s(this, S).call(this, r, t))) : (this.dispatchEvent(
643
- new Ce({
644
- data: t.data
645
- })
646
- ), s(this, E).call(this, t));
647
- return;
411
+ case "ArrowRight": {
412
+ if (e.preventDefault(), n.hasChildren)
413
+ if (!n.expanded)
414
+ this._expandPath(s);
415
+ else {
416
+ const i = this._getDirectChildrenPaths(s).filter((o) => this._getNodeElement(o) !== null);
417
+ i.length > 0 && this._moveFocus(i[0]);
418
+ }
419
+ break;
420
+ }
421
+ case "ArrowLeft": {
422
+ if (e.preventDefault(), n.hasChildren && n.expanded)
423
+ this._collapsePath(s);
424
+ else {
425
+ const i = this._getParentPath(s);
426
+ i && this._moveFocus(i);
648
427
  }
649
- this.dispatchEvent(
650
- new Ce({
651
- data: t.data
652
- })
653
- ), t.hasChildren && (s(this, h).expandedNodes.has(t) ? (s(this, h).expandedNodes.delete(t), s(this, I).call(this, r, t)) : (s(this, h).expandedNodes.add(t), s(this, S).call(this, r, t))), s(this, E).call(this, t);
428
+ break;
654
429
  }
655
- });
656
- /**
657
- * 右键点击事件
658
- * @param {MouseEvent} e 事件对象
659
- */
660
- n(this, te, (e) => {
661
- e.preventDefault(), e.stopImmediatePropagation();
662
- const t = e.target.closest("ea-tree-label");
663
- !t || t.disabled || this.dispatchEvent(
664
- new Pe({
665
- data: t.data,
666
- node: t
667
- })
668
- );
669
- });
670
- /**
671
- * 展开节点
672
- * @param {HTMLElement} tree 树元素
673
- * @param {HTMLElement} label 标签元素
674
- */
675
- n(this, S, (e, t) => {
676
- e.toggleAttribute("hidden", !1), t.toggleAttribute("expanded", !0), this.dispatchEvent(
677
- new Se({
678
- data: t.data,
679
- node: t,
680
- expanded: !0
681
- })
682
- );
683
- });
684
- /**
685
- * 收起节点
686
- * @param {HTMLElement} tree 树元素
687
- * @param {HTMLElement} label 标签元素
688
- */
689
- n(this, I, (e, t) => {
690
- e.toggleAttribute("hidden", !0), t.toggleAttribute("expanded", !1), this.dispatchEvent(
691
- new qe({
692
- data: t.data,
693
- node: t,
694
- expanded: !1
695
- })
696
- );
697
- });
698
- /**
699
- * 选中节点
700
- * @param {HTMLElement} label 标签元素
701
- */
702
- n(this, E, (e) => {
703
- s(this, h).selectedNode && (s(this, h).selectedNode.selected = !1), s(this, h).selectedNode = e, e.selected = !0, this.dispatchEvent(
704
- new Le({
705
- node: e.data,
706
- selected: !0
707
- })
708
- ), this.dispatchEvent(
709
- new Ke({
710
- data: e.data,
711
- node: e
712
- })
713
- );
714
- });
715
- /**
716
- * 更新 checkbox 可见性
717
- */
718
- n(this, se, () => {
719
- s(this, u).querySelectorAll("ea-tree-label").forEach((t) => {
720
- t["show-checkbox"] = this["show-checkbox"];
721
- });
722
- });
723
- /**
724
- * 获取相同树路径下的所有节点
725
- * @param {string} treeRootPath 树路径
726
- * @returns {Array} 相同树路径的节点数组
727
- */
728
- n(this, R, (e) => {
729
- const t = [], r = e.split("-");
730
- for (t.push(s(this, u).querySelector(`[path="${r[0]}"]`)); r.length > 1; ) {
731
- const a = r.join("-");
732
- r.pop(), t.push(
733
- ...s(this, u).querySelectorAll(`[path^="${a}"]`)
734
- );
430
+ case "Home": {
431
+ e.preventDefault(), a.length > 0 && this._moveFocus(a[0]);
432
+ break;
735
433
  }
736
- return t;
737
- });
738
- /**
739
- * 检查节点状态
740
- * @param {Array} labelEls 标签元素数组
741
- * @param {HTMLElement} currentNode 当前节点
742
- * @returns {Object} 包含isAllChecked和isAnyChecked的对象
743
- */
744
- n(this, re, (e, t) => {
745
- const r = e.every(
746
- (i) => i.getAttribute("checked") || i === t
747
- ), a = e.some(
748
- (i) => i.getAttribute("checked") && i !== t
749
- );
750
- return { isAllChecked: r, isAnyChecked: a };
751
- });
752
- /**
753
- * 更新节点复选框状态
754
- * @param {HTMLElement} node 节点元素
755
- * @param {boolean} isAllChecked 是否全部选中
756
- * @param {boolean} isAnyChecked 是否有选中
757
- */
758
- n(this, H, (e, t, r) => {
759
- t ? (e.toggleAttribute("checked", !0), e.toggleAttribute("indeterminate", !1)) : r ? (e.toggleAttribute("checked", !1), e.toggleAttribute("indeterminate", !0)) : (e.toggleAttribute("checked", !1), e.toggleAttribute("indeterminate", !1));
760
- });
761
- /**
762
- * 获取所有标签元素
763
- * @returns {Array} 所有标签元素数组
764
- */
765
- n(this, j, () => [...s(this, u).querySelectorAll("ea-tree-label")]);
766
- n(this, D, (e) => {
767
- if (e.disabled) return;
768
- const t = e.getAttribute("path"), r = s(this, R).call(this, t), a = r.filter(
769
- (l) => l.getAttribute("path").startsWith(t) && l !== e
770
- );
771
- r.filter(
772
- (l) => !a.includes(l) && l !== e
773
- ).forEach((l) => {
774
- l.expanded = !0;
775
- });
776
- });
777
- /**
778
- * 绑定树组件事件
779
- */
780
- n(this, ae, () => {
781
- s(this, u).addEventListener(
782
- "ea-tree-label-click",
783
- s(this, ee),
784
- {
785
- signal: s(this, m).dataController.signal
786
- }
787
- ), s(this, u).addEventListener(
788
- "ea-tree-checkbox-click",
789
- s(this, de),
790
- {
791
- signal: s(this, m).dataController.signal
792
- }
793
- ), s(this, u).addEventListener("contextmenu", s(this, te), {
794
- signal: s(this, m).dataController.signal
795
- });
796
- });
797
- /**
798
- * 绑定复选框状态管理事件
799
- */
800
- n(this, ie, () => {
801
- s(this, u).addEventListener(
802
- "ea-tree-checkbox-click",
803
- s(this, le),
804
- {
805
- signal: s(this, x).signal
806
- }
807
- );
808
- });
809
- /**
810
- * 检查节点子树中是否存在被选中的节点
811
- * @param {HTMLElement} label 标签元素
812
- * @returns {boolean} 子树中是否存在被选中的节点
813
- */
814
- n(this, ne, (e) => {
815
- const t = e.getAttribute("path"), r = s(this, u).querySelectorAll(
816
- `[path^="${t}-"]`
817
- );
818
- for (const a of r)
819
- if (a.hasAttribute("checked"))
820
- return !0;
821
- return !1;
822
- });
823
- /**
824
- * 触发 ea-check 事件
825
- * @param {HTMLElement} label 标签元素
826
- * @param {boolean} checked 选中状态
827
- */
828
- n(this, oe, (e, t) => {
829
- const r = this.getCheckedNodes(), a = this.getCheckedKeys(), i = this.getHalfCheckedNodes(), l = this.getHalfCheckedKeys();
830
- this.dispatchEvent(
831
- new Te({
832
- data: e.data,
833
- checkedState: {
834
- checkedNodes: r,
835
- checkedKeys: a,
836
- halfCheckedNodes: i,
837
- halfCheckedKeys: l
838
- }
839
- })
840
- );
841
- });
842
- /**
843
- * 处理复选框状态变化
844
- * @param {CustomEvent} e 事件对象
845
- */
846
- n(this, le, (e) => {
847
- var ue;
848
- e.stopImmediatePropagation();
849
- const { label: t, checked: r } = e.detail;
850
- if (t.disabled) return;
851
- const a = t.getAttribute("path"), i = s(this, R).call(this, a), l = i.filter(
852
- (p) => p.getAttribute("path").startsWith(a) && p !== t
853
- ), c = i.filter(
854
- (p) => p !== t && !l.includes(p)
855
- );
856
- l.forEach((p) => {
857
- p.disabled || (p.checked = r);
858
- }), c.reverse().forEach((p) => {
859
- if (p.disabled) return;
860
- const be = p.closest(".ea-tree-child__children"), me = p.closest(".ea-tree__children"), ye = be ? [...be.querySelectorAll("ea-tree-label")] : [...me.querySelectorAll("ea-tree-label")], { isAllChecked: ge, isAnyChecked: xe } = s(this, re).call(this, ye, p);
861
- s(this, H).call(this, p, ge, xe);
862
- }), (ue = t == null ? void 0 : t.isRoot) != null && ue.call(t) && (s(this, H).call(this, t, r, r), s(this, u).querySelectorAll(`[path^="${a}"]`).forEach((p) => {
863
- p.disabled || (p.checked = r);
864
- }));
865
- const q = s(this, ne).call(this, t);
866
- this.dispatchEvent(
867
- new $e({
868
- data: t.data,
869
- checked: r,
870
- hasCheckedChildren: q
871
- })
872
- ), s(this, oe).call(this, t, r);
873
- });
874
- /**
875
- * 复选框点击事件
876
- * @param {CustomEvent} e 事件对象
877
- */
878
- n(this, de, (e) => {
879
- e.stopImmediatePropagation();
880
- const t = e.detail.label, r = e.detail.checked;
881
- t && this.dispatchEvent(
882
- new CustomEvent("ea-check-change", {
883
- detail: {
884
- node: t.item,
885
- checked: r,
886
- checkedNodes: Array.from(s(this, h).checkedNodes).map(
887
- (a) => a.item
888
- )
889
- }
890
- })
891
- );
892
- });
893
- /**
894
- * 获取半选中节点数据
895
- * @returns {Array} 半选中节点数据数组
896
- */
897
- b(this, "getHalfCheckedNodes", () => {
898
- if (!this["show-checkbox"])
899
- return [];
900
- const e = [...s(this, u).querySelectorAll("ea-tree-label")], t = [];
901
- return e.forEach((r) => {
902
- r.hasAttribute("indeterminate") && t.push(r.data);
903
- }), t;
904
- });
905
- /**
906
- * 获取半选中节点键值
907
- * @returns {Array} 半选中节点键值数组
908
- */
909
- b(this, "getHalfCheckedKeys", () => {
910
- if (!this["show-checkbox"] || !this["node-key"])
911
- return [];
912
- const e = s(this, u).querySelectorAll("ea-tree-label"), t = [], r = this["node-key"];
913
- return e.forEach((a) => {
914
- a.hasAttribute("indeterminate") && a.data && a.data[r] && t.push(a.data[r]);
915
- }), t;
916
- });
917
- /**
918
- * 获取当前选中节点键值
919
- * @returns {*} 当前选中节点键值或null
920
- */
921
- b(this, "getCurrentKey", () => {
922
- if (!this["node-key"] || !s(this, h).selectedNode)
923
- return null;
924
- const e = this["node-key"], t = s(this, h).selectedNode.data;
925
- return t && t[e] ? t[e] : null;
926
- });
927
- /**
928
- * 获取当前选中节点数据
929
- * @returns {*} 当前选中节点数据或null
930
- */
931
- b(this, "getCurrentNode", () => s(this, h).selectedNode ? s(this, h).selectedNode.data : null);
932
- /**
933
- * 更新节点键值的子节点数据
934
- * @param {*} key 节点键值
935
- * @param {Array} data 子节点数据数组
936
- * @returns {boolean} 是否更新成功
937
- */
938
- b(this, "updateKeyChildren", (e, t) => {
939
- if (!this["node-key"])
940
- return console.warn("updateKeyChildren requires node-key to be set"), !1;
941
- const r = s(this, A).call(this, e);
942
- if (!r)
943
- return console.warn(`Node with key ${e} not found`), !1;
944
- const a = r.nextElementSibling;
945
- if (!a || a.tagName !== "EA-TREE-CHILD")
946
- return console.warn("Target node is not a parent node"), !1;
947
- const { children: i } = this.dataProps;
948
- return r.data = { ...r.data, [i]: t }, a.data = t, ke(() => {
949
- r.emit("ea-tree-checkbox-click", {
950
- bubbles: !0,
951
- composed: !0,
952
- detail: {
953
- label: r,
954
- checked: r.checked
955
- }
956
- });
957
- }, 16), !0;
958
- });
959
- /**
960
- * 获取选中节点数据
961
- * @param {boolean} leafOnly 是否仅返回叶子节点
962
- * @param {boolean} includeHalfChecked 是否包含半选中节点
963
- * @returns {Array} 选中节点数据数组
964
- */
965
- b(this, "getCheckedNodes", (e = !1, t = !1) => {
966
- if (!this["show-checkbox"])
967
- return [];
968
- const r = s(this, j).call(this), a = [];
969
- return r.forEach((i) => {
970
- const l = i.hasAttribute("checked"), c = i.hasAttribute("indeterminate");
971
- if (l || t && c) {
972
- if (e && i.hasChildren)
973
- return;
974
- a.push(i.data);
434
+ case "End": {
435
+ e.preventDefault(), a.length > 0 && this._moveFocus(a[a.length - 1]);
436
+ break;
437
+ }
438
+ case "Enter": {
439
+ e.preventDefault(), n.hasChildren ? this._toggleExpand(s) : this._selectPath(s);
440
+ break;
441
+ }
442
+ case " ": {
443
+ e.preventDefault(), this.showCheckbox ? this._handleCheckboxToggle(s) : this._selectPath(s);
444
+ break;
445
+ }
446
+ case "*": {
447
+ e.preventDefault(), this._expandSiblingNodes(s);
448
+ break;
449
+ }
450
+ default: {
451
+ e.key.length === 1 && /[a-zA-Z0-9]/.test(e.key) && (e.preventDefault(), this._handleTypeAhead(s, e.key));
452
+ break;
453
+ }
454
+ }
455
+ }
456
+ /** 获取所有可见节点的路径列表 */
457
+ _getVisiblePaths() {
458
+ const e = [], t = this._getRootPaths(), s = (n) => {
459
+ for (const a of n) {
460
+ const i = this._nodeStates.get(a);
461
+ if (i && (e.push(a), i.hasChildren && i.expanded)) {
462
+ const o = this._getDirectChildrenPaths(a);
463
+ s(o);
975
464
  }
976
- }), a;
977
- });
978
- /**
979
- * 设置选中节点数据
980
- * @param {Array} nodes 选中节点数据数组
981
- * @param {boolean} leafOnly 是否仅选中叶子节点
982
- * @returns {boolean} 是否设置成功
983
- */
984
- b(this, "setCheckedNodes", (e, t = !1) => !this["show-checkbox"] || !this["node-key"] ? (console.warn(
465
+ }
466
+ };
467
+ return s(t), e;
468
+ }
469
+ /** 获取根节点路径列表 */
470
+ _getRootPaths() {
471
+ const e = [];
472
+ return this._nodeStates.forEach((t, s) => {
473
+ t.depth === 1 && e.push(s);
474
+ }), e.sort(), e;
475
+ }
476
+ /** 获取父节点路径 */
477
+ _getParentPath(e) {
478
+ const t = e.split("-");
479
+ return t.length <= 1 ? null : (t.pop(), t.join("-"));
480
+ }
481
+ /** 移动焦点到指定路径的节点 */
482
+ _moveFocus(e) {
483
+ const t = this._focusedPath;
484
+ this._focusedPath = e, t && this._updateNodeDOM(t), this._updateNodeDOM(e);
485
+ const s = this._getLabelElement(e);
486
+ s && s.focus();
487
+ }
488
+ /** 展开同级所有节点 */
489
+ _expandSiblingNodes(e) {
490
+ const t = this._getParentPath(e), s = t ? this._getDirectChildrenPaths(t) : this._getRootPaths();
491
+ for (const n of s) {
492
+ const a = this._nodeStates.get(n);
493
+ a && a.hasChildren && !a.expanded && this._expandPath(n);
494
+ }
495
+ }
496
+ /** 处理 type-ahead 查找 */
497
+ _handleTypeAhead(e, t) {
498
+ const s = this._getVisiblePaths(), n = s.indexOf(e), a = t.toLowerCase();
499
+ for (let i = 1; i < s.length; i++) {
500
+ const o = (n + i) % s.length, r = s[o], d = this._nodeStates.get(r);
501
+ if (d && d.label.toLowerCase().startsWith(a)) {
502
+ this._moveFocus(r);
503
+ return;
504
+ }
505
+ }
506
+ }
507
+ html() {
508
+ return `
509
+ <div class="${h()}" part="container"></div>
510
+ <slot></slot>
511
+ `;
512
+ }
513
+ $mount() {
514
+ this._container.setAttribute("role", "tree"), this._updateTreeAriaAttrs(), this.updateContainerClasslist();
515
+ }
516
+ /** 更新树容器的 ARIA 属性 */
517
+ _updateTreeAriaAttrs() {
518
+ this._container && (this.label ? this._container.setAttribute("aria-label", this.label) : this._container.removeAttribute("aria-label"), this.showCheckbox ? this._container.setAttribute("aria-multiselectable", "true") : this._container.removeAttribute("aria-multiselectable"));
519
+ }
520
+ /** 更新容器类名 */
521
+ updateContainerClasslist() {
522
+ const e = h({}, {});
523
+ return this._container && (this._container.className = e), e;
524
+ }
525
+ /** 获取半选中节点数据数组 */
526
+ getHalfCheckedNodes() {
527
+ if (!this.showCheckbox) return [];
528
+ const e = [];
529
+ return this._nodeStates.forEach((t) => {
530
+ t.indeterminate && e.push(t.raw);
531
+ }), e;
532
+ }
533
+ /** 获取半选中节点键值数组 */
534
+ getHalfCheckedKeys() {
535
+ if (!this.showCheckbox || !this.nodeKey) return [];
536
+ const e = this.nodeKey, t = [];
537
+ return this._nodeStates.forEach((s) => {
538
+ s.indeterminate && s.raw && s.raw[e] && t.push(s.raw[e]);
539
+ }), t;
540
+ }
541
+ /** 获取当前选中节点的键值 */
542
+ getCurrentKey() {
543
+ if (!this.nodeKey || !this._treeState.selectedPath) return null;
544
+ const e = this._nodeStates.get(this._treeState.selectedPath);
545
+ return !e || !e.raw ? null : e.raw[this.nodeKey] || null;
546
+ }
547
+ /** 获取当前选中节点的数据 */
548
+ getCurrentNode() {
549
+ if (!this._treeState.selectedPath) return null;
550
+ const e = this._nodeStates.get(this._treeState.selectedPath);
551
+ return e ? e.raw : null;
552
+ }
553
+ /**
554
+ * 更新指定节点的子节点数据
555
+ * @param key - 节点键值
556
+ * @param data - 新的子节点数据数组
557
+ * @returns 是否更新成功
558
+ */
559
+ updateKeyChildren(e, t) {
560
+ if (!this.nodeKey)
561
+ return console.warn("updateKeyChildren requires node-key to be set"), !1;
562
+ const s = this._findPathByKey(e);
563
+ if (!s)
564
+ return console.warn(`Node with key ${e} not found`), !1;
565
+ const n = this._nodeStates.get(s);
566
+ if (!n || !n.hasChildren)
567
+ return console.warn("Target node is not a parent node"), !1;
568
+ const { children: a } = this.dataProps;
569
+ n.raw = { ...n.raw, [a]: t };
570
+ const i = [];
571
+ this._nodeStates.forEach((r, d) => {
572
+ d.startsWith(s + "-") && i.push(d);
573
+ }), i.forEach((r) => this._nodeStates.delete(r)), this._buildNodeStates(t, s);
574
+ const o = this._getChildrenElement(s);
575
+ return o && (o.innerHTML = this._renderTree(t, s)), k(() => {
576
+ this._handleCheckboxToggle(s, n.checked);
577
+ }, 16), !0;
578
+ }
579
+ /**
580
+ * 获取选中节点数据数组
581
+ * @param leafOnly - 是否仅返回叶子节点
582
+ * @param includeHalfChecked - 是否包含半选节点
583
+ * @returns 选中节点数据数组
584
+ */
585
+ getCheckedNodes(e = !1, t = !1) {
586
+ if (!this.showCheckbox) return [];
587
+ const s = [];
588
+ return this._nodeStates.forEach((n) => {
589
+ if (n.checked || t && n.indeterminate) {
590
+ if (e && n.hasChildren) return;
591
+ s.push(n.raw);
592
+ }
593
+ }), s;
594
+ }
595
+ /**
596
+ * 通过节点数据设置选中状态
597
+ * @param nodes - 要选中的节点数据数组
598
+ * @returns 是否设置成功
599
+ */
600
+ setCheckedNodes(e) {
601
+ return !this.showCheckbox || !this.nodeKey ? (console.warn(
985
602
  "setCheckedNodes requires show-checkbox and node-key to be set"
986
- ), !1) : (e.forEach((r) => {
987
- const a = s(this, g).call(this, r);
988
- a && (a.disabled || (a.checked = !0, a.indeterminate = !1, this["check-strictly"] || a.dispatchEvent(
989
- new CustomEvent("ea-tree-checkbox-click", {
990
- bubbles: !0,
991
- composed: !0,
992
- detail: {
993
- label: a,
994
- checked: !0
995
- }
996
- })
997
- )));
998
- }), !0));
999
- /**
1000
- * 获取选中节点键值
1001
- * @param {boolean} leafOnly 是否仅返回叶子节点
1002
- * @returns {Array} 选中节点键值数组
1003
- */
1004
- b(this, "getCheckedKeys", (e = !1) => {
1005
- if (!this["show-checkbox"] || !this["node-key"])
1006
- return [];
1007
- const t = s(this, j).call(this), r = [], a = this["node-key"];
1008
- return t.forEach((i) => {
1009
- if (i.hasAttribute("checked") && i.data && i.data[a]) {
1010
- if (e && i.hasChildren)
1011
- return;
1012
- r.push(i.data[a]);
1013
- }
1014
- }), r;
1015
- });
1016
- /**
1017
- * 设置选中节点键值
1018
- * @param {Array} keys 选中节点键值数组
1019
- * @param {boolean} leafOnly 是否仅选中叶子节点
1020
- * @returns {boolean} 是否设置成功
1021
- */
1022
- b(this, "setCheckedKeys", (e, t = !1) => !this["show-checkbox"] || !this["node-key"] ? (console.warn(
1023
- "setCheckedKeys requires show-checkbox and node-key to be set"
1024
- ), !1) : (e.forEach((r) => {
1025
- const a = s(this, g).call(this, r);
1026
- a && (a.disabled || t && a.hasChildren || (a.checked = !0, a.indeterminate = !1, this["check-strictly"] || a.dispatchEvent(
1027
- new CustomEvent("ea-tree-checkbox-click", {
1028
- bubbles: !0,
1029
- composed: !0,
1030
- detail: {
1031
- label: a,
1032
- checked: !0
1033
- }
1034
- })
1035
- )));
1036
- }), !0));
1037
- /**
1038
- * 设置节点选中状态
1039
- * @param {*} keyOrData 节点键值或数据对象
1040
- * @param {boolean} checked 是否选中
1041
- * @returns {boolean} 是否设置成功
1042
- */
1043
- b(this, "setChecked", (e, t) => {
1044
- if (!this["show-checkbox"] || !this["node-key"])
1045
- return console.warn("setChecked requires show-checkbox and node-key to be set"), !1;
1046
- let r;
1047
- return typeof e == "object" ? r = s(this, B).call(this, e) : r = s(this, A).call(this, e), r ? r.disabled ? (console.warn("Cannot set checked state for disabled node"), !1) : (r.checked = t, this["check-strictly"] || r.dispatchEvent(
1048
- new CustomEvent("ea-tree-checkbox-click", {
1049
- bubbles: !0,
1050
- composed: !0,
1051
- detail: {
1052
- label: r,
1053
- checked: t
1054
- }
1055
- })
1056
- ), !0) : (console.warn("Node not found"), !1);
1057
- });
1058
- b(this, "setCurrentKey", (e, t = !0) => {
1059
- if (!this["node-key"])
1060
- return console.warn("setCurrentKey requires node-key to be set"), !1;
1061
- if (!e)
1062
- return s(this, h).selectedNode && (s(this, h).selectedNode.selected = !1, s(this, h).selectedNode = null), !0;
1063
- const r = s(this, g).call(this, e);
1064
- return r ? r.disabled ? (console.warn("Cannot select disabled node"), !1) : (s(this, E).call(this, r), t && s(this, D).call(this, r), !0) : (console.warn(`Node with key ${e} not found`), !1);
1065
- });
1066
- b(this, "setCurrentNode", (e, t = !0) => {
1067
- if (!this["node-key"])
1068
- return console.warn("setCurrentNode requires node-key to be set"), !1;
1069
- if (!e)
1070
- return s(this, h).selectedNode && (s(this, h).selectedNode.selected = !1, s(this, h).selectedNode = null), !0;
1071
- const r = s(this, g).call(this, e);
1072
- return r ? r.disabled ? (console.warn("Cannot select disabled node"), !1) : (s(this, E).call(this, r), t && s(this, D).call(this, r), !0) : (console.warn("Node not found"), !1);
1073
- });
1074
- b(this, "getNode", (e) => {
1075
- if (!this["node-key"])
1076
- return console.warn("getNode requires node-key to be set"), null;
1077
- const t = s(this, g).call(this, e);
1078
- return t ? {
1079
- label: t,
1080
- child: t.nextElementSibling,
1081
- data: e
1082
- } : null;
1083
- });
1084
- this.stylesheet = Ae, this.$render();
603
+ ), !1) : (e.forEach((t) => {
604
+ const s = this._resolvePath(t);
605
+ if (!s) return;
606
+ const n = this._nodeStates.get(s);
607
+ !n || n.disabled || this._handleCheckboxToggle(s, !0);
608
+ }), !0);
1085
609
  }
1086
- static get observedAttributes() {
1087
- return [
1088
- ...super.observedAttributes,
1089
- "show-checkbox",
1090
- "check-strictly",
1091
- "node-key",
1092
- "expand-on-icon-click"
1093
- ];
610
+ /**
611
+ * 获取选中节点键值数组
612
+ * @param leafOnly - 是否仅返回叶子节点
613
+ * @returns 选中节点键值数组
614
+ */
615
+ getCheckedKeys(e = !1) {
616
+ if (!this.showCheckbox || !this.nodeKey) return [];
617
+ const t = this.nodeKey, s = [];
618
+ return this._nodeStates.forEach((n) => {
619
+ if (n.checked && n.raw && n.raw[t]) {
620
+ if (e && n.hasChildren) return;
621
+ s.push(n.raw[t]);
622
+ }
623
+ }), s;
1094
624
  }
1095
625
  /**
1096
- * 获取 classlist 列表
1097
- * @return {string} 属性值
626
+ * 通过键值设置选中状态
627
+ * @param keys - 要选中的节点键值数组
628
+ * @param leafOnly - 是否仅选中叶子节点
629
+ * @returns 是否设置成功
1098
630
  */
1099
- updateContainerClasslist() {
1100
- const e = this.computedClasslist("ea-tree", {}, {});
1101
- return s(this, u).className = e, e;
631
+ setCheckedKeys(e, t = !1) {
632
+ return !this.showCheckbox || !this.nodeKey ? (console.warn(
633
+ "setCheckedKeys requires show-checkbox and node-key to be set"
634
+ ), !1) : (e.forEach((s) => {
635
+ const n = this._findPathByKey(s);
636
+ if (!n) return;
637
+ const a = this._nodeStates.get(n);
638
+ !a || a.disabled || t && a.hasChildren || this._handleCheckboxToggle(n, !0);
639
+ }), !0);
1102
640
  }
1103
- $render() {
1104
- const e = ce("tree");
1105
- this.ns = e, this.shadowRoot.innerHTML = `
1106
- <div class='${e.b("tree")}' part='container'></div>
1107
- <slot></slot>
1108
- `, f(this, u, this.shadowRoot.querySelector(e.cb("tree")));
641
+ /**
642
+ * 设置指定节点的选中状态
643
+ * @param keyOrData - 节点键值或数据对象
644
+ * @param checked - 是否选中
645
+ * @returns 是否设置成功
646
+ */
647
+ setChecked(e, t) {
648
+ if (!this.showCheckbox || !this.nodeKey)
649
+ return console.warn("setChecked requires show-checkbox and node-key to be set"), !1;
650
+ const s = this._resolvePath(e);
651
+ if (!s)
652
+ return console.warn("Node not found"), !1;
653
+ const n = this._nodeStates.get(s);
654
+ return !n || n.disabled ? (console.warn("Cannot set checked state for disabled node"), !1) : (this._handleCheckboxToggle(s, t), !0);
1109
655
  }
1110
- connectedCallback() {
1111
- var e;
1112
- super.connectedCallback(), (e = s(this, x)) == null || e.abort(), f(this, x, new AbortController()), s(this, ie).call(this), this.updateContainerClasslist();
656
+ /**
657
+ * 设置当前选中节点的键值
658
+ * @param key - 节点键值,传 null 取消选中
659
+ * @param shouldAutoExpandParent - 是否自动展开父节点
660
+ * @returns 是否设置成功
661
+ */
662
+ setCurrentKey(e, t = !0) {
663
+ if (!this.nodeKey)
664
+ return console.warn("setCurrentKey requires node-key to be set"), !1;
665
+ if (!e) {
666
+ if (this._treeState.selectedPath) {
667
+ const a = this._nodeStates.get(this._treeState.selectedPath);
668
+ a && (a.selected = !1, this._updateNodeDOM(this._treeState.selectedPath)), this._treeState.selectedPath = null;
669
+ }
670
+ return !0;
671
+ }
672
+ const s = this._findPathByKey(e);
673
+ if (!s)
674
+ return console.warn(`Node with key ${e} not found`), !1;
675
+ const n = this._nodeStates.get(s);
676
+ return !n || n.disabled ? (console.warn("Cannot select disabled node"), !1) : (this._selectPath(s), t && this._expandAncestorPaths(s), !0);
1113
677
  }
1114
- $beforeUnmounted() {
1115
- var e;
1116
- (e = s(this, x)) == null || e.abort();
1117
- for (const t of Object.values(s(this, m)))
1118
- t == null || t.abort();
678
+ /**
679
+ * 设置当前选中节点
680
+ * @param node - 节点数据对象,传 null 取消选中
681
+ * @param shouldAutoExpandParent - 是否自动展开父节点
682
+ * @returns 是否设置成功
683
+ */
684
+ setCurrentNode(e, t = !0) {
685
+ if (!this.nodeKey)
686
+ return console.warn("setCurrentNode requires node-key to be set"), !1;
687
+ if (!e) {
688
+ if (this._treeState.selectedPath) {
689
+ const a = this._nodeStates.get(this._treeState.selectedPath);
690
+ a && (a.selected = !1, this._updateNodeDOM(this._treeState.selectedPath)), this._treeState.selectedPath = null;
691
+ }
692
+ return !0;
693
+ }
694
+ const s = this._findPathByData(e);
695
+ if (!s)
696
+ return console.warn("Node not found"), !1;
697
+ const n = this._nodeStates.get(s);
698
+ return !n || n.disabled ? (console.warn("Cannot select disabled node"), !1) : (this._selectPath(s), t && this._expandAncestorPaths(s), !0);
1119
699
  }
1120
- }
1121
- u = new WeakMap(), x = new WeakMap(), h = new WeakMap(), m = new WeakMap(), A = new WeakMap(), B = new WeakMap(), g = new WeakMap(), Y = new WeakMap(), Z = new WeakMap(), O = new WeakMap(), V = new WeakMap(), ee = new WeakMap(), te = new WeakMap(), S = new WeakMap(), I = new WeakMap(), E = new WeakMap(), se = new WeakMap(), R = new WeakMap(), re = new WeakMap(), H = new WeakMap(), j = new WeakMap(), D = new WeakMap(), ae = new WeakMap(), ie = new WeakMap(), ne = new WeakMap(), oe = new WeakMap(), le = new WeakMap(), de = new WeakMap();
1122
- customElements.get("ea-tree") || customElements.define("ea-tree", Re);
700
+ /**
701
+ * 获取节点信息
702
+ * @param data - 节点键值或数据对象
703
+ * @returns 节点信息对象,包含 label(节点状态)、child(子节点容器)、data(原始数据)
704
+ */
705
+ getNode(e) {
706
+ if (!this.nodeKey)
707
+ return console.warn("getNode requires node-key to be set"), null;
708
+ const t = this._resolvePath(e);
709
+ if (!t) return null;
710
+ const s = this._nodeStates.get(t);
711
+ return {
712
+ label: s,
713
+ child: this._getChildrenElement(t),
714
+ data: s.raw
715
+ };
716
+ }
717
+ };
718
+ l([
719
+ D(h.cb())
720
+ ], c.prototype, "_container", 2);
721
+ l([
722
+ _({
723
+ type: Boolean,
724
+ default: !1,
725
+ observer() {
726
+ this._updateCheckboxVisibility(), this._updateTreeAriaAttrs();
727
+ }
728
+ })
729
+ ], c.prototype, "showCheckbox", 2);
730
+ l([
731
+ _({
732
+ type: Boolean,
733
+ default: !1
734
+ })
735
+ ], c.prototype, "checkStrictly", 2);
736
+ l([
737
+ _({
738
+ type: String,
739
+ default: ""
740
+ })
741
+ ], c.prototype, "nodeKey", 2);
742
+ l([
743
+ _({
744
+ type: String,
745
+ default: "",
746
+ observer() {
747
+ this._updateTreeAriaAttrs();
748
+ }
749
+ })
750
+ ], c.prototype, "label", 2);
751
+ l([
752
+ _({
753
+ type: Boolean,
754
+ default: !1
755
+ })
756
+ ], c.prototype, "expandOnIconClick", 2);
757
+ l([
758
+ b({
759
+ type: Array,
760
+ default: [],
761
+ observer(e) {
762
+ this._handleDataChange(e);
763
+ }
764
+ })
765
+ ], c.prototype, "data", 2);
766
+ l([
767
+ b({
768
+ type: Object,
769
+ default: { children: "children", label: "label", disabled: "disabled" }
770
+ })
771
+ ], c.prototype, "dataProps", 2);
772
+ l([
773
+ b({
774
+ type: Array,
775
+ default: []
776
+ })
777
+ ], c.prototype, "defaultExpandedKeys", 2);
778
+ l([
779
+ b({
780
+ type: Array,
781
+ default: []
782
+ })
783
+ ], c.prototype, "defaultCheckedKeys", 2);
784
+ l([
785
+ p("click", h.ce("node"))
786
+ ], c.prototype, "_handleClick", 1);
787
+ l([
788
+ p("change", h.ce("checkbox"))
789
+ ], c.prototype, "_handleCheckboxChange", 1);
790
+ l([
791
+ p("contextmenu", h.ce("node"))
792
+ ], c.prototype, "_handleContextmenu", 1);
793
+ l([
794
+ p("keydown", h.ce("label"))
795
+ ], c.prototype, "_handleKeydown", 1);
796
+ c = l([
797
+ T(y, { styles: [$] })
798
+ ], c);
799
+ const Z = c;
1123
800
  export {
1124
- Re as EaTree
801
+ c as EaTree,
802
+ Z as default
1125
803
  };