huibo-ui 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1214) hide show
  1. package/LICENSE +21 -0
  2. package/dist/cjs/a11y-802de67a.js +123 -0
  3. package/dist/cjs/a11y-802de67a.js.map +1 -0
  4. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  5. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  6. package/dist/cjs/click-outside-3fcc00dd.js +27 -0
  7. package/dist/cjs/click-outside-3fcc00dd.js.map +1 -0
  8. package/dist/cjs/date-helpers-904747ff.js +134 -0
  9. package/dist/cjs/date-helpers-904747ff.js.map +1 -0
  10. package/dist/cjs/hb-affix.cjs.entry.js +101 -0
  11. package/dist/cjs/hb-affix.cjs.entry.js.map +1 -0
  12. package/dist/cjs/hb-alert.cjs.entry.js +47 -0
  13. package/dist/cjs/hb-alert.cjs.entry.js.map +1 -0
  14. package/dist/cjs/hb-anchor.cjs.entry.js +46 -0
  15. package/dist/cjs/hb-anchor.cjs.entry.js.map +1 -0
  16. package/dist/cjs/hb-aside.cjs.entry.js +30 -0
  17. package/dist/cjs/hb-aside.cjs.entry.js.map +1 -0
  18. package/dist/cjs/hb-avatar.cjs.entry.js +31 -0
  19. package/dist/cjs/hb-avatar.cjs.entry.js.map +1 -0
  20. package/dist/cjs/hb-backtop.cjs.entry.js +100 -0
  21. package/dist/cjs/hb-backtop.cjs.entry.js.map +1 -0
  22. package/dist/cjs/hb-badge.cjs.entry.js +35 -0
  23. package/dist/cjs/hb-badge.cjs.entry.js.map +1 -0
  24. package/dist/cjs/hb-breadcrumb-item.cjs.entry.js +25 -0
  25. package/dist/cjs/hb-breadcrumb-item.cjs.entry.js.map +1 -0
  26. package/dist/cjs/hb-breadcrumb.cjs.entry.js +24 -0
  27. package/dist/cjs/hb-breadcrumb.cjs.entry.js.map +1 -0
  28. package/dist/cjs/hb-button.cjs.entry.js +39 -0
  29. package/dist/cjs/hb-button.cjs.entry.js.map +1 -0
  30. package/dist/cjs/hb-calendar.cjs.entry.js +90 -0
  31. package/dist/cjs/hb-calendar.cjs.entry.js.map +1 -0
  32. package/dist/cjs/hb-card.cjs.entry.js +27 -0
  33. package/dist/cjs/hb-card.cjs.entry.js.map +1 -0
  34. package/dist/cjs/hb-carousel.cjs.entry.js +150 -0
  35. package/dist/cjs/hb-carousel.cjs.entry.js.map +1 -0
  36. package/dist/cjs/hb-cascader.cjs.entry.js +413 -0
  37. package/dist/cjs/hb-cascader.cjs.entry.js.map +1 -0
  38. package/dist/cjs/hb-checkbox-group.cjs.entry.js +117 -0
  39. package/dist/cjs/hb-checkbox-group.cjs.entry.js.map +1 -0
  40. package/dist/cjs/hb-checkbox.cjs.entry.js +130 -0
  41. package/dist/cjs/hb-checkbox.cjs.entry.js.map +1 -0
  42. package/dist/cjs/hb-collapse-item.cjs.entry.js +58 -0
  43. package/dist/cjs/hb-collapse-item.cjs.entry.js.map +1 -0
  44. package/dist/cjs/hb-collapse.cjs.entry.js +41 -0
  45. package/dist/cjs/hb-collapse.cjs.entry.js.map +1 -0
  46. package/dist/cjs/hb-color-picker-panel.cjs.entry.js +86 -0
  47. package/dist/cjs/hb-color-picker-panel.cjs.entry.js.map +1 -0
  48. package/dist/cjs/hb-color-picker.cjs.entry.js +265 -0
  49. package/dist/cjs/hb-color-picker.cjs.entry.js.map +1 -0
  50. package/dist/cjs/hb-config-provider.cjs.entry.js +44 -0
  51. package/dist/cjs/hb-config-provider.cjs.entry.js.map +1 -0
  52. package/dist/cjs/hb-container.cjs.entry.js +30 -0
  53. package/dist/cjs/hb-container.cjs.entry.js.map +1 -0
  54. package/dist/cjs/hb-date-picker-pane.cjs.entry.js +150 -0
  55. package/dist/cjs/hb-date-picker-pane.cjs.entry.js.map +1 -0
  56. package/dist/cjs/hb-date-picker.cjs.entry.js +138 -0
  57. package/dist/cjs/hb-date-picker.cjs.entry.js.map +1 -0
  58. package/dist/cjs/hb-date-range-picker.cjs.entry.js +222 -0
  59. package/dist/cjs/hb-date-range-picker.cjs.entry.js.map +1 -0
  60. package/dist/cjs/hb-date-time-picker.cjs.entry.js +140 -0
  61. package/dist/cjs/hb-date-time-picker.cjs.entry.js.map +1 -0
  62. package/dist/cjs/hb-descriptions.cjs.entry.js +32 -0
  63. package/dist/cjs/hb-descriptions.cjs.entry.js.map +1 -0
  64. package/dist/cjs/hb-dialog.cjs.entry.js +114 -0
  65. package/dist/cjs/hb-dialog.cjs.entry.js.map +1 -0
  66. package/dist/cjs/hb-divider.cjs.entry.js +36 -0
  67. package/dist/cjs/hb-divider.cjs.entry.js.map +1 -0
  68. package/dist/cjs/hb-drawer.cjs.entry.js +89 -0
  69. package/dist/cjs/hb-drawer.cjs.entry.js.map +1 -0
  70. package/dist/cjs/hb-dropdown.cjs.entry.js +80 -0
  71. package/dist/cjs/hb-dropdown.cjs.entry.js.map +1 -0
  72. package/dist/cjs/hb-empty.cjs.entry.js +24 -0
  73. package/dist/cjs/hb-empty.cjs.entry.js.map +1 -0
  74. package/dist/cjs/hb-float-button.cjs.entry.js +57 -0
  75. package/dist/cjs/hb-float-button.cjs.entry.js.map +1 -0
  76. package/dist/cjs/hb-footer.cjs.entry.js +30 -0
  77. package/dist/cjs/hb-footer.cjs.entry.js.map +1 -0
  78. package/dist/cjs/hb-form-item.cjs.entry.js +112 -0
  79. package/dist/cjs/hb-form-item.cjs.entry.js.map +1 -0
  80. package/dist/cjs/hb-form.cjs.entry.js +70 -0
  81. package/dist/cjs/hb-form.cjs.entry.js.map +1 -0
  82. package/dist/cjs/hb-header.cjs.entry.js +30 -0
  83. package/dist/cjs/hb-header.cjs.entry.js.map +1 -0
  84. package/dist/cjs/hb-icon.cjs.entry.js +76 -0
  85. package/dist/cjs/hb-icon.cjs.entry.js.map +1 -0
  86. package/dist/cjs/hb-image-preview.cjs.entry.js +179 -0
  87. package/dist/cjs/hb-image-preview.cjs.entry.js.map +1 -0
  88. package/dist/cjs/hb-image.cjs.entry.js +35 -0
  89. package/dist/cjs/hb-image.cjs.entry.js.map +1 -0
  90. package/dist/cjs/hb-input-number.cjs.entry.js +169 -0
  91. package/dist/cjs/hb-input-number.cjs.entry.js.map +1 -0
  92. package/dist/cjs/hb-input-tag.cjs.entry.js +145 -0
  93. package/dist/cjs/hb-input-tag.cjs.entry.js.map +1 -0
  94. package/dist/cjs/hb-input.cjs.entry.js +252 -0
  95. package/dist/cjs/hb-input.cjs.entry.js.map +1 -0
  96. package/dist/cjs/hb-layout.cjs.entry.js +78 -0
  97. package/dist/cjs/hb-layout.cjs.entry.js.map +1 -0
  98. package/dist/cjs/hb-link.cjs.entry.js +67 -0
  99. package/dist/cjs/hb-link.cjs.entry.js.map +1 -0
  100. package/dist/cjs/hb-loading.cjs.entry.js +32 -0
  101. package/dist/cjs/hb-loading.cjs.entry.js.map +1 -0
  102. package/dist/cjs/hb-main.cjs.entry.js +22 -0
  103. package/dist/cjs/hb-main.cjs.entry.js.map +1 -0
  104. package/dist/cjs/hb-menu-item.cjs.entry.js +50 -0
  105. package/dist/cjs/hb-menu-item.cjs.entry.js.map +1 -0
  106. package/dist/cjs/hb-menu.cjs.entry.js +87 -0
  107. package/dist/cjs/hb-menu.cjs.entry.js.map +1 -0
  108. package/dist/cjs/hb-message.cjs.entry.js +48 -0
  109. package/dist/cjs/hb-message.cjs.entry.js.map +1 -0
  110. package/dist/cjs/hb-notification.cjs.entry.js +67 -0
  111. package/dist/cjs/hb-notification.cjs.entry.js.map +1 -0
  112. package/dist/cjs/hb-page-header.cjs.entry.js +37 -0
  113. package/dist/cjs/hb-page-header.cjs.entry.js.map +1 -0
  114. package/dist/cjs/hb-pagination.cjs.entry.js +107 -0
  115. package/dist/cjs/hb-pagination.cjs.entry.js.map +1 -0
  116. package/dist/cjs/hb-popconfirm.cjs.entry.js +51 -0
  117. package/dist/cjs/hb-popconfirm.cjs.entry.js.map +1 -0
  118. package/dist/cjs/hb-popover.cjs.entry.js +59 -0
  119. package/dist/cjs/hb-popover.cjs.entry.js.map +1 -0
  120. package/dist/cjs/hb-progress.cjs.entry.js +39 -0
  121. package/dist/cjs/hb-progress.cjs.entry.js.map +1 -0
  122. package/dist/cjs/hb-radio.cjs.entry.js +119 -0
  123. package/dist/cjs/hb-radio.cjs.entry.js.map +1 -0
  124. package/dist/cjs/hb-rate.cjs.entry.js +132 -0
  125. package/dist/cjs/hb-rate.cjs.entry.js.map +1 -0
  126. package/dist/cjs/hb-result.cjs.entry.js +57 -0
  127. package/dist/cjs/hb-result.cjs.entry.js.map +1 -0
  128. package/dist/cjs/hb-row.cjs.entry.js +57 -0
  129. package/dist/cjs/hb-row.cjs.entry.js.map +1 -0
  130. package/dist/cjs/hb-scrollbar.cjs.entry.js +204 -0
  131. package/dist/cjs/hb-scrollbar.cjs.entry.js.map +1 -0
  132. package/dist/cjs/hb-segmented.cjs.entry.js +43 -0
  133. package/dist/cjs/hb-segmented.cjs.entry.js.map +1 -0
  134. package/dist/cjs/hb-select.cjs.entry.js +262 -0
  135. package/dist/cjs/hb-select.cjs.entry.js.map +1 -0
  136. package/dist/cjs/hb-skeleton.cjs.entry.js +53 -0
  137. package/dist/cjs/hb-skeleton.cjs.entry.js.map +1 -0
  138. package/dist/cjs/hb-slider.cjs.entry.js +172 -0
  139. package/dist/cjs/hb-slider.cjs.entry.js.map +1 -0
  140. package/dist/cjs/hb-space.cjs.entry.js +72 -0
  141. package/dist/cjs/hb-space.cjs.entry.js.map +1 -0
  142. package/dist/cjs/hb-statistic.cjs.entry.js +66 -0
  143. package/dist/cjs/hb-statistic.cjs.entry.js.map +1 -0
  144. package/dist/cjs/hb-step.cjs.entry.js +24 -0
  145. package/dist/cjs/hb-step.cjs.entry.js.map +1 -0
  146. package/dist/cjs/hb-steps.cjs.entry.js +50 -0
  147. package/dist/cjs/hb-steps.cjs.entry.js.map +1 -0
  148. package/dist/cjs/hb-sub-menu.cjs.entry.js +70 -0
  149. package/dist/cjs/hb-sub-menu.cjs.entry.js.map +1 -0
  150. package/dist/cjs/hb-switch.cjs.entry.js +92 -0
  151. package/dist/cjs/hb-switch.cjs.entry.js.map +1 -0
  152. package/dist/cjs/hb-tab-pane.cjs.entry.js +26 -0
  153. package/dist/cjs/hb-tab-pane.cjs.entry.js.map +1 -0
  154. package/dist/cjs/hb-table.cjs.entry.js +370 -0
  155. package/dist/cjs/hb-table.cjs.entry.js.map +1 -0
  156. package/dist/cjs/hb-tabs.cjs.entry.js +115 -0
  157. package/dist/cjs/hb-tabs.cjs.entry.js.map +1 -0
  158. package/dist/cjs/hb-tag.cjs.entry.js +45 -0
  159. package/dist/cjs/hb-tag.cjs.entry.js.map +1 -0
  160. package/dist/cjs/hb-text.cjs.entry.js +60 -0
  161. package/dist/cjs/hb-text.cjs.entry.js.map +1 -0
  162. package/dist/cjs/hb-time-picker.cjs.entry.js +147 -0
  163. package/dist/cjs/hb-time-picker.cjs.entry.js.map +1 -0
  164. package/dist/cjs/hb-time-select.cjs.entry.js +145 -0
  165. package/dist/cjs/hb-time-select.cjs.entry.js.map +1 -0
  166. package/dist/cjs/hb-timeline.cjs.entry.js +30 -0
  167. package/dist/cjs/hb-timeline.cjs.entry.js.map +1 -0
  168. package/dist/cjs/hb-tooltip.cjs.entry.js +74 -0
  169. package/dist/cjs/hb-tooltip.cjs.entry.js.map +1 -0
  170. package/dist/cjs/hb-tour.cjs.entry.js +119 -0
  171. package/dist/cjs/hb-tour.cjs.entry.js.map +1 -0
  172. package/dist/cjs/hb-transfer.cjs.entry.js +173 -0
  173. package/dist/cjs/hb-transfer.cjs.entry.js.map +1 -0
  174. package/dist/cjs/hb-tree-select.cjs.entry.js +236 -0
  175. package/dist/cjs/hb-tree-select.cjs.entry.js.map +1 -0
  176. package/dist/cjs/hb-tree.cjs.entry.js +313 -0
  177. package/dist/cjs/hb-tree.cjs.entry.js.map +1 -0
  178. package/dist/cjs/hb-upload.cjs.entry.js +184 -0
  179. package/dist/cjs/hb-upload.cjs.entry.js.map +1 -0
  180. package/dist/cjs/hb-watermark.cjs.entry.js +59 -0
  181. package/dist/cjs/hb-watermark.cjs.entry.js.map +1 -0
  182. package/dist/cjs/huibo-ui.cjs.js +27 -0
  183. package/dist/cjs/huibo-ui.cjs.js.map +1 -0
  184. package/dist/cjs/index-5aa5c817.js +1915 -0
  185. package/dist/cjs/index-5aa5c817.js.map +1 -0
  186. package/dist/cjs/index.cjs.js +4 -0
  187. package/dist/cjs/index.cjs.js.map +1 -0
  188. package/dist/cjs/loader.cjs.js +17 -0
  189. package/dist/cjs/loader.cjs.js.map +1 -0
  190. package/dist/cjs/popup-manager-cde53b2f.js +83 -0
  191. package/dist/cjs/popup-manager-cde53b2f.js.map +1 -0
  192. package/dist/collection/collection-manifest.json +97 -0
  193. package/dist/collection/components/Affix/Affix.js +197 -0
  194. package/dist/collection/components/Affix/Affix.js.map +1 -0
  195. package/dist/collection/components/Affix/affix.css +15 -0
  196. package/dist/collection/components/Alert/Alert.js +193 -0
  197. package/dist/collection/components/Alert/Alert.js.map +1 -0
  198. package/dist/collection/components/Alert/alert.css +20 -0
  199. package/dist/collection/components/Anchor/Anchor.js +142 -0
  200. package/dist/collection/components/Anchor/Anchor.js.map +1 -0
  201. package/dist/collection/components/Anchor/anchor.css +53 -0
  202. package/dist/collection/components/Avatar/Avatar.js +129 -0
  203. package/dist/collection/components/Avatar/Avatar.js.map +1 -0
  204. package/dist/collection/components/Avatar/avatar.css +9 -0
  205. package/dist/collection/components/Backtop/Backtop.js +236 -0
  206. package/dist/collection/components/Backtop/Backtop.js.map +1 -0
  207. package/dist/collection/components/Backtop/backtop.css +33 -0
  208. package/dist/collection/components/Badge/Badge.js +136 -0
  209. package/dist/collection/components/Badge/Badge.js.map +1 -0
  210. package/dist/collection/components/Badge/badge.css +17 -0
  211. package/dist/collection/components/Breadcrumb/Breadcrumb.js +49 -0
  212. package/dist/collection/components/Breadcrumb/Breadcrumb.js.map +1 -0
  213. package/dist/collection/components/Breadcrumb/BreadcrumbItem.js +43 -0
  214. package/dist/collection/components/Breadcrumb/BreadcrumbItem.js.map +1 -0
  215. package/dist/collection/components/Breadcrumb/breadcrumb.css +10 -0
  216. package/dist/collection/components/Button/Button.js +144 -0
  217. package/dist/collection/components/Button/Button.js.map +1 -0
  218. package/dist/collection/components/Button/button.css +127 -0
  219. package/dist/collection/components/Calendar/Calendar.js +185 -0
  220. package/dist/collection/components/Calendar/Calendar.js.map +1 -0
  221. package/dist/collection/components/Calendar/calendar.css +101 -0
  222. package/dist/collection/components/Card/Card.js +67 -0
  223. package/dist/collection/components/Card/Card.js.map +1 -0
  224. package/dist/collection/components/Card/card.css +17 -0
  225. package/dist/collection/components/Carousel/Carousel.js +312 -0
  226. package/dist/collection/components/Carousel/Carousel.js.map +1 -0
  227. package/dist/collection/components/Carousel/carousel.css +96 -0
  228. package/dist/collection/components/Cascader/Cascader.js +773 -0
  229. package/dist/collection/components/Cascader/Cascader.js.map +1 -0
  230. package/dist/collection/components/Cascader/cascader.css +276 -0
  231. package/dist/collection/components/Checkbox/Checkbox.js +372 -0
  232. package/dist/collection/components/Checkbox/Checkbox.js.map +1 -0
  233. package/dist/collection/components/Checkbox/CheckboxGroup.js +276 -0
  234. package/dist/collection/components/Checkbox/CheckboxGroup.js.map +1 -0
  235. package/dist/collection/components/Checkbox/checkbox-group.css +17 -0
  236. package/dist/collection/components/Checkbox/checkbox.css +179 -0
  237. package/dist/collection/components/Collapse/Collapse.js +63 -0
  238. package/dist/collection/components/Collapse/Collapse.js.map +1 -0
  239. package/dist/collection/components/Collapse/CollapseItem.js +142 -0
  240. package/dist/collection/components/Collapse/CollapseItem.js.map +1 -0
  241. package/dist/collection/components/Collapse/collapse.css +2 -0
  242. package/dist/collection/components/ColorPicker/ColorPicker.js +416 -0
  243. package/dist/collection/components/ColorPicker/ColorPicker.js.map +1 -0
  244. package/dist/collection/components/ColorPicker/color-picker.css +203 -0
  245. package/dist/collection/components/ColorPickerPanel/ColorPickerPanel.js +195 -0
  246. package/dist/collection/components/ColorPickerPanel/ColorPickerPanel.js.map +1 -0
  247. package/dist/collection/components/ColorPickerPanel/color-picker-panel.css +127 -0
  248. package/dist/collection/components/ConfigProvider/ConfigProvider.js +103 -0
  249. package/dist/collection/components/ConfigProvider/ConfigProvider.js.map +1 -0
  250. package/dist/collection/components/Container/Aside.js +54 -0
  251. package/dist/collection/components/Container/Aside.js.map +1 -0
  252. package/dist/collection/components/Container/Container.js +58 -0
  253. package/dist/collection/components/Container/Container.js.map +1 -0
  254. package/dist/collection/components/Container/Footer.js +54 -0
  255. package/dist/collection/components/Container/Footer.js.map +1 -0
  256. package/dist/collection/components/Container/Header.js +54 -0
  257. package/dist/collection/components/Container/Header.js.map +1 -0
  258. package/dist/collection/components/Container/Main.js +23 -0
  259. package/dist/collection/components/Container/Main.js.map +1 -0
  260. package/dist/collection/components/Container/aside.css +15 -0
  261. package/dist/collection/components/Container/container.css +41 -0
  262. package/dist/collection/components/Container/footer.css +15 -0
  263. package/dist/collection/components/Container/header.css +15 -0
  264. package/dist/collection/components/Container/main.css +14 -0
  265. package/dist/collection/components/DatePicker/DatePicker.js +402 -0
  266. package/dist/collection/components/DatePicker/DatePicker.js.map +1 -0
  267. package/dist/collection/components/DatePicker/date-picker.css +209 -0
  268. package/dist/collection/components/DatePickerPane/DatePickerPane.js +276 -0
  269. package/dist/collection/components/DatePickerPane/DatePickerPane.js.map +1 -0
  270. package/dist/collection/components/DatePickerPane/date-picker-pane.css +140 -0
  271. package/dist/collection/components/DateRangePicker/DateRangePicker.js +438 -0
  272. package/dist/collection/components/DateRangePicker/DateRangePicker.js.map +1 -0
  273. package/dist/collection/components/DateRangePicker/date-range-picker.css +200 -0
  274. package/dist/collection/components/DateTimePicker/DateTimePicker.js +341 -0
  275. package/dist/collection/components/DateTimePicker/DateTimePicker.js.map +1 -0
  276. package/dist/collection/components/DateTimePicker/date-time-picker.css +168 -0
  277. package/dist/collection/components/Descriptions/Descriptions.js +141 -0
  278. package/dist/collection/components/Descriptions/Descriptions.js.map +1 -0
  279. package/dist/collection/components/Descriptions/descriptions.css +52 -0
  280. package/dist/collection/components/Dialog/Dialog.js +348 -0
  281. package/dist/collection/components/Dialog/Dialog.js.map +1 -0
  282. package/dist/collection/components/Dialog/dialog.css +113 -0
  283. package/dist/collection/components/Divider/Divider.js +102 -0
  284. package/dist/collection/components/Divider/Divider.js.map +1 -0
  285. package/dist/collection/components/Divider/divider.css +40 -0
  286. package/dist/collection/components/Drawer/Drawer.js +289 -0
  287. package/dist/collection/components/Drawer/Drawer.js.map +1 -0
  288. package/dist/collection/components/Drawer/drawer.css +18 -0
  289. package/dist/collection/components/Dropdown/Dropdown.js +172 -0
  290. package/dist/collection/components/Dropdown/Dropdown.js.map +1 -0
  291. package/dist/collection/components/Dropdown/dropdown.css +62 -0
  292. package/dist/collection/components/Empty/Empty.js +64 -0
  293. package/dist/collection/components/Empty/Empty.js.map +1 -0
  294. package/dist/collection/components/Empty/empty.css +6 -0
  295. package/dist/collection/components/FloatButton/FloatButton.js +223 -0
  296. package/dist/collection/components/FloatButton/FloatButton.js.map +1 -0
  297. package/dist/collection/components/FloatButton/float-button.css +101 -0
  298. package/dist/collection/components/Form/Form.js +271 -0
  299. package/dist/collection/components/Form/Form.js.map +1 -0
  300. package/dist/collection/components/Form/FormItem.js +300 -0
  301. package/dist/collection/components/Form/FormItem.js.map +1 -0
  302. package/dist/collection/components/Form/form-item.css +43 -0
  303. package/dist/collection/components/Form/form.css +15 -0
  304. package/dist/collection/components/Icon/Icon.js +162 -0
  305. package/dist/collection/components/Icon/Icon.js.map +1 -0
  306. package/dist/collection/components/Icon/icon.css +43 -0
  307. package/dist/collection/components/Image/Image.js +200 -0
  308. package/dist/collection/components/Image/Image.js.map +1 -0
  309. package/dist/collection/components/Image/image.css +7 -0
  310. package/dist/collection/components/ImagePreview/ImagePreview.js +371 -0
  311. package/dist/collection/components/ImagePreview/ImagePreview.js.map +1 -0
  312. package/dist/collection/components/ImagePreview/image-preview.css +125 -0
  313. package/dist/collection/components/Input/Input.js +717 -0
  314. package/dist/collection/components/Input/Input.js.map +1 -0
  315. package/dist/collection/components/Input/input.css +144 -0
  316. package/dist/collection/components/InputNumber/InputNumber.js +510 -0
  317. package/dist/collection/components/InputNumber/InputNumber.js.map +1 -0
  318. package/dist/collection/components/InputNumber/input-number.css +168 -0
  319. package/dist/collection/components/InputTag/InputTag.js +427 -0
  320. package/dist/collection/components/InputTag/InputTag.js.map +1 -0
  321. package/dist/collection/components/InputTag/input-tag.css +159 -0
  322. package/dist/collection/components/Layout/Layout.js +270 -0
  323. package/dist/collection/components/Layout/Layout.js.map +1 -0
  324. package/dist/collection/components/Layout/Row.js +147 -0
  325. package/dist/collection/components/Layout/Row.js.map +1 -0
  326. package/dist/collection/components/Layout/layout.css +89 -0
  327. package/dist/collection/components/Layout/row.css +56 -0
  328. package/dist/collection/components/Link/Link.js +220 -0
  329. package/dist/collection/components/Link/Link.js.map +1 -0
  330. package/dist/collection/components/Link/link.css +87 -0
  331. package/dist/collection/components/Loading/Loading.js +96 -0
  332. package/dist/collection/components/Loading/Loading.js.map +1 -0
  333. package/dist/collection/components/Loading/loading.css +58 -0
  334. package/dist/collection/components/Menu/Menu.js +246 -0
  335. package/dist/collection/components/Menu/Menu.js.map +1 -0
  336. package/dist/collection/components/Menu/MenuItem.js +128 -0
  337. package/dist/collection/components/Menu/MenuItem.js.map +1 -0
  338. package/dist/collection/components/Menu/SubMenu.js +140 -0
  339. package/dist/collection/components/Menu/SubMenu.js.map +1 -0
  340. package/dist/collection/components/Menu/menu.css +143 -0
  341. package/dist/collection/components/Message/Message.js +139 -0
  342. package/dist/collection/components/Message/Message.js.map +1 -0
  343. package/dist/collection/components/Message/show-message.js +24 -0
  344. package/dist/collection/components/Message/show-message.js.map +1 -0
  345. package/dist/collection/components/Notification/Notification.js +262 -0
  346. package/dist/collection/components/Notification/Notification.js.map +1 -0
  347. package/dist/collection/components/Notification/notification.css +160 -0
  348. package/dist/collection/components/Notification/notify.js +53 -0
  349. package/dist/collection/components/Notification/notify.js.map +1 -0
  350. package/dist/collection/components/PageHeader/PageHeader.js +139 -0
  351. package/dist/collection/components/PageHeader/PageHeader.js.map +1 -0
  352. package/dist/collection/components/PageHeader/page-header.css +39 -0
  353. package/dist/collection/components/Pagination/Pagination.js +309 -0
  354. package/dist/collection/components/Pagination/Pagination.js.map +1 -0
  355. package/dist/collection/components/Pagination/pagination.css +83 -0
  356. package/dist/collection/components/Popconfirm/Popconfirm.js +185 -0
  357. package/dist/collection/components/Popconfirm/Popconfirm.js.map +1 -0
  358. package/dist/collection/components/Popconfirm/popconfirm.css +20 -0
  359. package/dist/collection/components/Popover/Popover.js +173 -0
  360. package/dist/collection/components/Popover/Popover.js.map +1 -0
  361. package/dist/collection/components/Popover/popover.css +10 -0
  362. package/dist/collection/components/Progress/Progress.js +139 -0
  363. package/dist/collection/components/Progress/Progress.js.map +1 -0
  364. package/dist/collection/components/Progress/progress.css +5 -0
  365. package/dist/collection/components/Radio/Radio.js +338 -0
  366. package/dist/collection/components/Radio/Radio.js.map +1 -0
  367. package/dist/collection/components/Radio/radio.css +158 -0
  368. package/dist/collection/components/Rate/Rate.js +357 -0
  369. package/dist/collection/components/Rate/Rate.js.map +1 -0
  370. package/dist/collection/components/Rate/rate.css +56 -0
  371. package/dist/collection/components/Result/Result.js +146 -0
  372. package/dist/collection/components/Result/Result.js.map +1 -0
  373. package/dist/collection/components/Result/result.css +47 -0
  374. package/dist/collection/components/Scrollbar/Scrollbar.js +426 -0
  375. package/dist/collection/components/Scrollbar/Scrollbar.js.map +1 -0
  376. package/dist/collection/components/Scrollbar/scrollbar.css +85 -0
  377. package/dist/collection/components/Segmented/Segmented.js +149 -0
  378. package/dist/collection/components/Segmented/Segmented.js.map +1 -0
  379. package/dist/collection/components/Segmented/segmented.css +46 -0
  380. package/dist/collection/components/Select/Select.js +595 -0
  381. package/dist/collection/components/Select/Select.js.map +1 -0
  382. package/dist/collection/components/Select/select.css +223 -0
  383. package/dist/collection/components/Skeleton/Skeleton.js +178 -0
  384. package/dist/collection/components/Skeleton/Skeleton.js.map +1 -0
  385. package/dist/collection/components/Skeleton/skeleton.css +59 -0
  386. package/dist/collection/components/Slider/Slider.js +434 -0
  387. package/dist/collection/components/Slider/Slider.js.map +1 -0
  388. package/dist/collection/components/Slider/slider.css +141 -0
  389. package/dist/collection/components/Space/Space.js +212 -0
  390. package/dist/collection/components/Space/Space.js.map +1 -0
  391. package/dist/collection/components/Space/space.css +57 -0
  392. package/dist/collection/components/Statistic/Statistic.js +188 -0
  393. package/dist/collection/components/Statistic/Statistic.js.map +1 -0
  394. package/dist/collection/components/Statistic/statistic.css +32 -0
  395. package/dist/collection/components/Steps/Step.js +95 -0
  396. package/dist/collection/components/Steps/Step.js.map +1 -0
  397. package/dist/collection/components/Steps/Steps.js +137 -0
  398. package/dist/collection/components/Steps/Steps.js.map +1 -0
  399. package/dist/collection/components/Steps/steps.css +25 -0
  400. package/dist/collection/components/Switch/Switch.js +324 -0
  401. package/dist/collection/components/Switch/Switch.js.map +1 -0
  402. package/dist/collection/components/Switch/switch.css +85 -0
  403. package/dist/collection/components/Table/Table.js +860 -0
  404. package/dist/collection/components/Table/Table.js.map +1 -0
  405. package/dist/collection/components/Table/table.css +289 -0
  406. package/dist/collection/components/Tabs/TabPane.js +82 -0
  407. package/dist/collection/components/Tabs/TabPane.js.map +1 -0
  408. package/dist/collection/components/Tabs/Tabs.js +221 -0
  409. package/dist/collection/components/Tabs/Tabs.js.map +1 -0
  410. package/dist/collection/components/Tabs/tabs.css +66 -0
  411. package/dist/collection/components/Tag/Tag.js +167 -0
  412. package/dist/collection/components/Tag/Tag.js.map +1 -0
  413. package/dist/collection/components/Tag/tag.css +71 -0
  414. package/dist/collection/components/Text/Text.js +203 -0
  415. package/dist/collection/components/Text/Text.js.map +1 -0
  416. package/dist/collection/components/Text/text.css +61 -0
  417. package/dist/collection/components/TimePicker/TimePicker.js +348 -0
  418. package/dist/collection/components/TimePicker/TimePicker.js.map +1 -0
  419. package/dist/collection/components/TimePicker/time-picker.css +151 -0
  420. package/dist/collection/components/TimeSelect/TimeSelect.js +389 -0
  421. package/dist/collection/components/TimeSelect/TimeSelect.js.map +1 -0
  422. package/dist/collection/components/TimeSelect/time-select.css +139 -0
  423. package/dist/collection/components/Timeline/Timeline.js +79 -0
  424. package/dist/collection/components/Timeline/Timeline.js.map +1 -0
  425. package/dist/collection/components/Timeline/timeline.css +71 -0
  426. package/dist/collection/components/Tooltip/Tooltip.js +192 -0
  427. package/dist/collection/components/Tooltip/Tooltip.js.map +1 -0
  428. package/dist/collection/components/Tooltip/tooltip.css +40 -0
  429. package/dist/collection/components/Tour/Tour.js +225 -0
  430. package/dist/collection/components/Tour/Tour.js.map +1 -0
  431. package/dist/collection/components/Tour/tour.css +117 -0
  432. package/dist/collection/components/Transfer/Transfer.js +331 -0
  433. package/dist/collection/components/Transfer/Transfer.js.map +1 -0
  434. package/dist/collection/components/Transfer/transfer.css +183 -0
  435. package/dist/collection/components/Tree/Tree.js +527 -0
  436. package/dist/collection/components/Tree/Tree.js.map +1 -0
  437. package/dist/collection/components/Tree/tree.css +132 -0
  438. package/dist/collection/components/TreeSelect/TreeSelect.js +440 -0
  439. package/dist/collection/components/TreeSelect/TreeSelect.js.map +1 -0
  440. package/dist/collection/components/TreeSelect/tree-select.css +209 -0
  441. package/dist/collection/components/Upload/Upload.js +504 -0
  442. package/dist/collection/components/Upload/Upload.js.map +1 -0
  443. package/dist/collection/components/Upload/upload.css +16 -0
  444. package/dist/collection/components/Watermark/Watermark.js +205 -0
  445. package/dist/collection/components/Watermark/Watermark.js.map +1 -0
  446. package/dist/collection/components/Watermark/watermark.css +26 -0
  447. package/dist/collection/index.js +2 -0
  448. package/dist/collection/index.js.map +1 -0
  449. package/dist/collection/utils/a11y.js +130 -0
  450. package/dist/collection/utils/a11y.js.map +1 -0
  451. package/dist/collection/utils/click-outside.js +22 -0
  452. package/dist/collection/utils/click-outside.js.map +1 -0
  453. package/dist/collection/utils/date-helpers.js +120 -0
  454. package/dist/collection/utils/date-helpers.js.map +1 -0
  455. package/dist/collection/utils/form-input-base.js +48 -0
  456. package/dist/collection/utils/form-input-base.js.map +1 -0
  457. package/dist/collection/utils/popup-manager.js +75 -0
  458. package/dist/collection/utils/popup-manager.js.map +1 -0
  459. package/dist/components/hb-affix.d.ts +11 -0
  460. package/dist/components/hb-affix.js +121 -0
  461. package/dist/components/hb-affix.js.map +1 -0
  462. package/dist/components/hb-alert.d.ts +11 -0
  463. package/dist/components/hb-alert.js +70 -0
  464. package/dist/components/hb-alert.js.map +1 -0
  465. package/dist/components/hb-anchor.d.ts +11 -0
  466. package/dist/components/hb-anchor.js +66 -0
  467. package/dist/components/hb-anchor.js.map +1 -0
  468. package/dist/components/hb-aside.d.ts +11 -0
  469. package/dist/components/hb-aside.js +47 -0
  470. package/dist/components/hb-aside.js.map +1 -0
  471. package/dist/components/hb-avatar.d.ts +11 -0
  472. package/dist/components/hb-avatar.js +52 -0
  473. package/dist/components/hb-avatar.js.map +1 -0
  474. package/dist/components/hb-backtop.d.ts +11 -0
  475. package/dist/components/hb-backtop.js +122 -0
  476. package/dist/components/hb-backtop.js.map +1 -0
  477. package/dist/components/hb-badge.d.ts +11 -0
  478. package/dist/components/hb-badge.js +56 -0
  479. package/dist/components/hb-badge.js.map +1 -0
  480. package/dist/components/hb-breadcrumb-item.d.ts +11 -0
  481. package/dist/components/hb-breadcrumb-item.js +42 -0
  482. package/dist/components/hb-breadcrumb-item.js.map +1 -0
  483. package/dist/components/hb-breadcrumb.d.ts +11 -0
  484. package/dist/components/hb-breadcrumb.js +41 -0
  485. package/dist/components/hb-breadcrumb.js.map +1 -0
  486. package/dist/components/hb-button.d.ts +11 -0
  487. package/dist/components/hb-button.js +60 -0
  488. package/dist/components/hb-button.js.map +1 -0
  489. package/dist/components/hb-calendar.d.ts +11 -0
  490. package/dist/components/hb-calendar.js +113 -0
  491. package/dist/components/hb-calendar.js.map +1 -0
  492. package/dist/components/hb-card.d.ts +11 -0
  493. package/dist/components/hb-card.js +45 -0
  494. package/dist/components/hb-card.js.map +1 -0
  495. package/dist/components/hb-carousel.d.ts +11 -0
  496. package/dist/components/hb-carousel.js +178 -0
  497. package/dist/components/hb-carousel.js.map +1 -0
  498. package/dist/components/hb-cascader.d.ts +11 -0
  499. package/dist/components/hb-cascader.js +451 -0
  500. package/dist/components/hb-cascader.js.map +1 -0
  501. package/dist/components/hb-checkbox-group.d.ts +11 -0
  502. package/dist/components/hb-checkbox-group.js +145 -0
  503. package/dist/components/hb-checkbox-group.js.map +1 -0
  504. package/dist/components/hb-checkbox.d.ts +11 -0
  505. package/dist/components/hb-checkbox.js +161 -0
  506. package/dist/components/hb-checkbox.js.map +1 -0
  507. package/dist/components/hb-collapse-item.d.ts +11 -0
  508. package/dist/components/hb-collapse-item.js +81 -0
  509. package/dist/components/hb-collapse-item.js.map +1 -0
  510. package/dist/components/hb-collapse.d.ts +11 -0
  511. package/dist/components/hb-collapse.js +58 -0
  512. package/dist/components/hb-collapse.js.map +1 -0
  513. package/dist/components/hb-color-picker-panel.d.ts +11 -0
  514. package/dist/components/hb-color-picker-panel.js +109 -0
  515. package/dist/components/hb-color-picker-panel.js.map +1 -0
  516. package/dist/components/hb-color-picker.d.ts +11 -0
  517. package/dist/components/hb-color-picker.js +293 -0
  518. package/dist/components/hb-color-picker.js.map +1 -0
  519. package/dist/components/hb-config-provider.d.ts +11 -0
  520. package/dist/components/hb-config-provider.js +62 -0
  521. package/dist/components/hb-config-provider.js.map +1 -0
  522. package/dist/components/hb-container.d.ts +11 -0
  523. package/dist/components/hb-container.js +47 -0
  524. package/dist/components/hb-container.js.map +1 -0
  525. package/dist/components/hb-date-picker-pane.d.ts +11 -0
  526. package/dist/components/hb-date-picker-pane.js +172 -0
  527. package/dist/components/hb-date-picker-pane.js.map +1 -0
  528. package/dist/components/hb-date-picker.d.ts +11 -0
  529. package/dist/components/hb-date-picker.js +170 -0
  530. package/dist/components/hb-date-picker.js.map +1 -0
  531. package/dist/components/hb-date-range-picker.d.ts +11 -0
  532. package/dist/components/hb-date-range-picker.js +254 -0
  533. package/dist/components/hb-date-range-picker.js.map +1 -0
  534. package/dist/components/hb-date-time-picker.d.ts +11 -0
  535. package/dist/components/hb-date-time-picker.js +170 -0
  536. package/dist/components/hb-date-time-picker.js.map +1 -0
  537. package/dist/components/hb-descriptions.d.ts +11 -0
  538. package/dist/components/hb-descriptions.js +53 -0
  539. package/dist/components/hb-descriptions.js.map +1 -0
  540. package/dist/components/hb-dialog.d.ts +11 -0
  541. package/dist/components/hb-dialog.js +141 -0
  542. package/dist/components/hb-dialog.js.map +1 -0
  543. package/dist/components/hb-divider.d.ts +11 -0
  544. package/dist/components/hb-divider.js +55 -0
  545. package/dist/components/hb-divider.js.map +1 -0
  546. package/dist/components/hb-drawer.d.ts +11 -0
  547. package/dist/components/hb-drawer.js +116 -0
  548. package/dist/components/hb-drawer.js.map +1 -0
  549. package/dist/components/hb-dropdown.d.ts +11 -0
  550. package/dist/components/hb-dropdown.js +100 -0
  551. package/dist/components/hb-dropdown.js.map +1 -0
  552. package/dist/components/hb-empty.d.ts +11 -0
  553. package/dist/components/hb-empty.js +42 -0
  554. package/dist/components/hb-empty.js.map +1 -0
  555. package/dist/components/hb-float-button.d.ts +11 -0
  556. package/dist/components/hb-float-button.js +80 -0
  557. package/dist/components/hb-float-button.js.map +1 -0
  558. package/dist/components/hb-footer.d.ts +11 -0
  559. package/dist/components/hb-footer.js +47 -0
  560. package/dist/components/hb-footer.js.map +1 -0
  561. package/dist/components/hb-form-item.d.ts +11 -0
  562. package/dist/components/hb-form-item.js +139 -0
  563. package/dist/components/hb-form-item.js.map +1 -0
  564. package/dist/components/hb-form.d.ts +11 -0
  565. package/dist/components/hb-form.js +96 -0
  566. package/dist/components/hb-form.js.map +1 -0
  567. package/dist/components/hb-header.d.ts +11 -0
  568. package/dist/components/hb-header.js +47 -0
  569. package/dist/components/hb-header.js.map +1 -0
  570. package/dist/components/hb-icon.d.ts +11 -0
  571. package/dist/components/hb-icon.js +96 -0
  572. package/dist/components/hb-icon.js.map +1 -0
  573. package/dist/components/hb-image-preview.d.ts +11 -0
  574. package/dist/components/hb-image-preview.js +207 -0
  575. package/dist/components/hb-image-preview.js.map +1 -0
  576. package/dist/components/hb-image.d.ts +11 -0
  577. package/dist/components/hb-image.js +62 -0
  578. package/dist/components/hb-image.js.map +1 -0
  579. package/dist/components/hb-input-number.d.ts +11 -0
  580. package/dist/components/hb-input-number.js +202 -0
  581. package/dist/components/hb-input-number.js.map +1 -0
  582. package/dist/components/hb-input-tag.d.ts +11 -0
  583. package/dist/components/hb-input-tag.js +174 -0
  584. package/dist/components/hb-input-tag.js.map +1 -0
  585. package/dist/components/hb-input.d.ts +11 -0
  586. package/dist/components/hb-input.js +294 -0
  587. package/dist/components/hb-input.js.map +1 -0
  588. package/dist/components/hb-layout.d.ts +11 -0
  589. package/dist/components/hb-layout.js +103 -0
  590. package/dist/components/hb-layout.js.map +1 -0
  591. package/dist/components/hb-link.d.ts +11 -0
  592. package/dist/components/hb-link.js +89 -0
  593. package/dist/components/hb-link.js.map +1 -0
  594. package/dist/components/hb-loading.d.ts +11 -0
  595. package/dist/components/hb-loading.js +51 -0
  596. package/dist/components/hb-loading.js.map +1 -0
  597. package/dist/components/hb-main.d.ts +11 -0
  598. package/dist/components/hb-main.js +37 -0
  599. package/dist/components/hb-main.js.map +1 -0
  600. package/dist/components/hb-menu-item.d.ts +11 -0
  601. package/dist/components/hb-menu-item.js +70 -0
  602. package/dist/components/hb-menu-item.js.map +1 -0
  603. package/dist/components/hb-menu.d.ts +11 -0
  604. package/dist/components/hb-menu.js +113 -0
  605. package/dist/components/hb-menu.js.map +1 -0
  606. package/dist/components/hb-message.d.ts +11 -0
  607. package/dist/components/hb-message.js +69 -0
  608. package/dist/components/hb-message.js.map +1 -0
  609. package/dist/components/hb-notification.d.ts +11 -0
  610. package/dist/components/hb-notification.js +91 -0
  611. package/dist/components/hb-notification.js.map +1 -0
  612. package/dist/components/hb-page-header.d.ts +11 -0
  613. package/dist/components/hb-page-header.js +57 -0
  614. package/dist/components/hb-page-header.js.map +1 -0
  615. package/dist/components/hb-pagination.d.ts +11 -0
  616. package/dist/components/hb-pagination.js +134 -0
  617. package/dist/components/hb-pagination.js.map +1 -0
  618. package/dist/components/hb-popconfirm.d.ts +11 -0
  619. package/dist/components/hb-popconfirm.js +75 -0
  620. package/dist/components/hb-popconfirm.js.map +1 -0
  621. package/dist/components/hb-popover.d.ts +11 -0
  622. package/dist/components/hb-popover.js +82 -0
  623. package/dist/components/hb-popover.js.map +1 -0
  624. package/dist/components/hb-progress.d.ts +11 -0
  625. package/dist/components/hb-progress.js +60 -0
  626. package/dist/components/hb-progress.js.map +1 -0
  627. package/dist/components/hb-radio.d.ts +11 -0
  628. package/dist/components/hb-radio.js +149 -0
  629. package/dist/components/hb-radio.js.map +1 -0
  630. package/dist/components/hb-rate.d.ts +11 -0
  631. package/dist/components/hb-rate.js +161 -0
  632. package/dist/components/hb-rate.js.map +1 -0
  633. package/dist/components/hb-result.d.ts +11 -0
  634. package/dist/components/hb-result.js +77 -0
  635. package/dist/components/hb-result.js.map +1 -0
  636. package/dist/components/hb-row.d.ts +11 -0
  637. package/dist/components/hb-row.js +77 -0
  638. package/dist/components/hb-row.js.map +1 -0
  639. package/dist/components/hb-scrollbar.d.ts +11 -0
  640. package/dist/components/hb-scrollbar.js +235 -0
  641. package/dist/components/hb-scrollbar.js.map +1 -0
  642. package/dist/components/hb-segmented.d.ts +11 -0
  643. package/dist/components/hb-segmented.js +63 -0
  644. package/dist/components/hb-segmented.js.map +1 -0
  645. package/dist/components/hb-select.d.ts +11 -0
  646. package/dist/components/hb-select.js +299 -0
  647. package/dist/components/hb-select.js.map +1 -0
  648. package/dist/components/hb-skeleton.d.ts +11 -0
  649. package/dist/components/hb-skeleton.js +75 -0
  650. package/dist/components/hb-skeleton.js.map +1 -0
  651. package/dist/components/hb-slider.d.ts +11 -0
  652. package/dist/components/hb-slider.js +202 -0
  653. package/dist/components/hb-slider.js.map +1 -0
  654. package/dist/components/hb-space.d.ts +11 -0
  655. package/dist/components/hb-space.js +94 -0
  656. package/dist/components/hb-space.js.map +1 -0
  657. package/dist/components/hb-statistic.d.ts +11 -0
  658. package/dist/components/hb-statistic.js +88 -0
  659. package/dist/components/hb-statistic.js.map +1 -0
  660. package/dist/components/hb-step.d.ts +11 -0
  661. package/dist/components/hb-step.js +42 -0
  662. package/dist/components/hb-step.js.map +1 -0
  663. package/dist/components/hb-steps.d.ts +11 -0
  664. package/dist/components/hb-steps.js +71 -0
  665. package/dist/components/hb-steps.js.map +1 -0
  666. package/dist/components/hb-sub-menu.d.ts +11 -0
  667. package/dist/components/hb-sub-menu.js +91 -0
  668. package/dist/components/hb-sub-menu.js.map +1 -0
  669. package/dist/components/hb-switch.d.ts +11 -0
  670. package/dist/components/hb-switch.js +118 -0
  671. package/dist/components/hb-switch.js.map +1 -0
  672. package/dist/components/hb-tab-pane.d.ts +11 -0
  673. package/dist/components/hb-tab-pane.js +43 -0
  674. package/dist/components/hb-tab-pane.js.map +1 -0
  675. package/dist/components/hb-table.d.ts +11 -0
  676. package/dist/components/hb-table.js +412 -0
  677. package/dist/components/hb-table.js.map +1 -0
  678. package/dist/components/hb-tabs.d.ts +11 -0
  679. package/dist/components/hb-tabs.js +138 -0
  680. package/dist/components/hb-tabs.js.map +1 -0
  681. package/dist/components/hb-tag.d.ts +11 -0
  682. package/dist/components/hb-tag.js +66 -0
  683. package/dist/components/hb-tag.js.map +1 -0
  684. package/dist/components/hb-text.d.ts +11 -0
  685. package/dist/components/hb-text.js +82 -0
  686. package/dist/components/hb-text.js.map +1 -0
  687. package/dist/components/hb-time-picker.d.ts +11 -0
  688. package/dist/components/hb-time-picker.js +178 -0
  689. package/dist/components/hb-time-picker.js.map +1 -0
  690. package/dist/components/hb-time-select.d.ts +11 -0
  691. package/dist/components/hb-time-select.js +175 -0
  692. package/dist/components/hb-time-select.js.map +1 -0
  693. package/dist/components/hb-timeline.d.ts +11 -0
  694. package/dist/components/hb-timeline.js +48 -0
  695. package/dist/components/hb-timeline.js.map +1 -0
  696. package/dist/components/hb-tooltip.d.ts +11 -0
  697. package/dist/components/hb-tooltip.js +97 -0
  698. package/dist/components/hb-tooltip.js.map +1 -0
  699. package/dist/components/hb-tour.d.ts +11 -0
  700. package/dist/components/hb-tour.js +139 -0
  701. package/dist/components/hb-tour.js.map +1 -0
  702. package/dist/components/hb-transfer.d.ts +11 -0
  703. package/dist/components/hb-transfer.js +199 -0
  704. package/dist/components/hb-transfer.js.map +1 -0
  705. package/dist/components/hb-tree-select.d.ts +11 -0
  706. package/dist/components/hb-tree-select.js +263 -0
  707. package/dist/components/hb-tree-select.js.map +1 -0
  708. package/dist/components/hb-tree.d.ts +11 -0
  709. package/dist/components/hb-tree.js +344 -0
  710. package/dist/components/hb-tree.js.map +1 -0
  711. package/dist/components/hb-upload.d.ts +11 -0
  712. package/dist/components/hb-upload.js +213 -0
  713. package/dist/components/hb-upload.js.map +1 -0
  714. package/dist/components/hb-watermark.d.ts +11 -0
  715. package/dist/components/hb-watermark.js +82 -0
  716. package/dist/components/hb-watermark.js.map +1 -0
  717. package/dist/components/index.d.ts +33 -0
  718. package/dist/components/index.js +3 -0
  719. package/dist/components/index.js.map +1 -0
  720. package/dist/components/p-1407a5e8.js +1662 -0
  721. package/dist/components/p-1407a5e8.js.map +1 -0
  722. package/dist/components/p-4ef5a884.js +25 -0
  723. package/dist/components/p-4ef5a884.js.map +1 -0
  724. package/dist/components/p-cc0aeb50.js +119 -0
  725. package/dist/components/p-cc0aeb50.js.map +1 -0
  726. package/dist/components/p-cf94cbf6.js +123 -0
  727. package/dist/components/p-cf94cbf6.js.map +1 -0
  728. package/dist/components/p-ecce2b5e.js +78 -0
  729. package/dist/components/p-ecce2b5e.js.map +1 -0
  730. package/dist/esm/a11y-f9ab2964.js +119 -0
  731. package/dist/esm/a11y-f9ab2964.js.map +1 -0
  732. package/dist/esm/app-globals-0f993ce5.js +5 -0
  733. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  734. package/dist/esm/click-outside-291294f9.js +25 -0
  735. package/dist/esm/click-outside-291294f9.js.map +1 -0
  736. package/dist/esm/date-helpers-e4d85a67.js +123 -0
  737. package/dist/esm/date-helpers-e4d85a67.js.map +1 -0
  738. package/dist/esm/hb-affix.entry.js +97 -0
  739. package/dist/esm/hb-affix.entry.js.map +1 -0
  740. package/dist/esm/hb-alert.entry.js +43 -0
  741. package/dist/esm/hb-alert.entry.js.map +1 -0
  742. package/dist/esm/hb-anchor.entry.js +42 -0
  743. package/dist/esm/hb-anchor.entry.js.map +1 -0
  744. package/dist/esm/hb-aside.entry.js +26 -0
  745. package/dist/esm/hb-aside.entry.js.map +1 -0
  746. package/dist/esm/hb-avatar.entry.js +27 -0
  747. package/dist/esm/hb-avatar.entry.js.map +1 -0
  748. package/dist/esm/hb-backtop.entry.js +96 -0
  749. package/dist/esm/hb-backtop.entry.js.map +1 -0
  750. package/dist/esm/hb-badge.entry.js +31 -0
  751. package/dist/esm/hb-badge.entry.js.map +1 -0
  752. package/dist/esm/hb-breadcrumb-item.entry.js +21 -0
  753. package/dist/esm/hb-breadcrumb-item.entry.js.map +1 -0
  754. package/dist/esm/hb-breadcrumb.entry.js +20 -0
  755. package/dist/esm/hb-breadcrumb.entry.js.map +1 -0
  756. package/dist/esm/hb-button.entry.js +35 -0
  757. package/dist/esm/hb-button.entry.js.map +1 -0
  758. package/dist/esm/hb-calendar.entry.js +86 -0
  759. package/dist/esm/hb-calendar.entry.js.map +1 -0
  760. package/dist/esm/hb-card.entry.js +23 -0
  761. package/dist/esm/hb-card.entry.js.map +1 -0
  762. package/dist/esm/hb-carousel.entry.js +146 -0
  763. package/dist/esm/hb-carousel.entry.js.map +1 -0
  764. package/dist/esm/hb-cascader.entry.js +409 -0
  765. package/dist/esm/hb-cascader.entry.js.map +1 -0
  766. package/dist/esm/hb-checkbox-group.entry.js +113 -0
  767. package/dist/esm/hb-checkbox-group.entry.js.map +1 -0
  768. package/dist/esm/hb-checkbox.entry.js +126 -0
  769. package/dist/esm/hb-checkbox.entry.js.map +1 -0
  770. package/dist/esm/hb-collapse-item.entry.js +54 -0
  771. package/dist/esm/hb-collapse-item.entry.js.map +1 -0
  772. package/dist/esm/hb-collapse.entry.js +37 -0
  773. package/dist/esm/hb-collapse.entry.js.map +1 -0
  774. package/dist/esm/hb-color-picker-panel.entry.js +82 -0
  775. package/dist/esm/hb-color-picker-panel.entry.js.map +1 -0
  776. package/dist/esm/hb-color-picker.entry.js +261 -0
  777. package/dist/esm/hb-color-picker.entry.js.map +1 -0
  778. package/dist/esm/hb-config-provider.entry.js +40 -0
  779. package/dist/esm/hb-config-provider.entry.js.map +1 -0
  780. package/dist/esm/hb-container.entry.js +26 -0
  781. package/dist/esm/hb-container.entry.js.map +1 -0
  782. package/dist/esm/hb-date-picker-pane.entry.js +146 -0
  783. package/dist/esm/hb-date-picker-pane.entry.js.map +1 -0
  784. package/dist/esm/hb-date-picker.entry.js +134 -0
  785. package/dist/esm/hb-date-picker.entry.js.map +1 -0
  786. package/dist/esm/hb-date-range-picker.entry.js +218 -0
  787. package/dist/esm/hb-date-range-picker.entry.js.map +1 -0
  788. package/dist/esm/hb-date-time-picker.entry.js +136 -0
  789. package/dist/esm/hb-date-time-picker.entry.js.map +1 -0
  790. package/dist/esm/hb-descriptions.entry.js +28 -0
  791. package/dist/esm/hb-descriptions.entry.js.map +1 -0
  792. package/dist/esm/hb-dialog.entry.js +110 -0
  793. package/dist/esm/hb-dialog.entry.js.map +1 -0
  794. package/dist/esm/hb-divider.entry.js +32 -0
  795. package/dist/esm/hb-divider.entry.js.map +1 -0
  796. package/dist/esm/hb-drawer.entry.js +85 -0
  797. package/dist/esm/hb-drawer.entry.js.map +1 -0
  798. package/dist/esm/hb-dropdown.entry.js +76 -0
  799. package/dist/esm/hb-dropdown.entry.js.map +1 -0
  800. package/dist/esm/hb-empty.entry.js +20 -0
  801. package/dist/esm/hb-empty.entry.js.map +1 -0
  802. package/dist/esm/hb-float-button.entry.js +53 -0
  803. package/dist/esm/hb-float-button.entry.js.map +1 -0
  804. package/dist/esm/hb-footer.entry.js +26 -0
  805. package/dist/esm/hb-footer.entry.js.map +1 -0
  806. package/dist/esm/hb-form-item.entry.js +108 -0
  807. package/dist/esm/hb-form-item.entry.js.map +1 -0
  808. package/dist/esm/hb-form.entry.js +66 -0
  809. package/dist/esm/hb-form.entry.js.map +1 -0
  810. package/dist/esm/hb-header.entry.js +26 -0
  811. package/dist/esm/hb-header.entry.js.map +1 -0
  812. package/dist/esm/hb-icon.entry.js +72 -0
  813. package/dist/esm/hb-icon.entry.js.map +1 -0
  814. package/dist/esm/hb-image-preview.entry.js +175 -0
  815. package/dist/esm/hb-image-preview.entry.js.map +1 -0
  816. package/dist/esm/hb-image.entry.js +31 -0
  817. package/dist/esm/hb-image.entry.js.map +1 -0
  818. package/dist/esm/hb-input-number.entry.js +165 -0
  819. package/dist/esm/hb-input-number.entry.js.map +1 -0
  820. package/dist/esm/hb-input-tag.entry.js +141 -0
  821. package/dist/esm/hb-input-tag.entry.js.map +1 -0
  822. package/dist/esm/hb-input.entry.js +248 -0
  823. package/dist/esm/hb-input.entry.js.map +1 -0
  824. package/dist/esm/hb-layout.entry.js +74 -0
  825. package/dist/esm/hb-layout.entry.js.map +1 -0
  826. package/dist/esm/hb-link.entry.js +63 -0
  827. package/dist/esm/hb-link.entry.js.map +1 -0
  828. package/dist/esm/hb-loading.entry.js +28 -0
  829. package/dist/esm/hb-loading.entry.js.map +1 -0
  830. package/dist/esm/hb-main.entry.js +18 -0
  831. package/dist/esm/hb-main.entry.js.map +1 -0
  832. package/dist/esm/hb-menu-item.entry.js +46 -0
  833. package/dist/esm/hb-menu-item.entry.js.map +1 -0
  834. package/dist/esm/hb-menu.entry.js +83 -0
  835. package/dist/esm/hb-menu.entry.js.map +1 -0
  836. package/dist/esm/hb-message.entry.js +44 -0
  837. package/dist/esm/hb-message.entry.js.map +1 -0
  838. package/dist/esm/hb-notification.entry.js +63 -0
  839. package/dist/esm/hb-notification.entry.js.map +1 -0
  840. package/dist/esm/hb-page-header.entry.js +33 -0
  841. package/dist/esm/hb-page-header.entry.js.map +1 -0
  842. package/dist/esm/hb-pagination.entry.js +103 -0
  843. package/dist/esm/hb-pagination.entry.js.map +1 -0
  844. package/dist/esm/hb-popconfirm.entry.js +47 -0
  845. package/dist/esm/hb-popconfirm.entry.js.map +1 -0
  846. package/dist/esm/hb-popover.entry.js +55 -0
  847. package/dist/esm/hb-popover.entry.js.map +1 -0
  848. package/dist/esm/hb-progress.entry.js +35 -0
  849. package/dist/esm/hb-progress.entry.js.map +1 -0
  850. package/dist/esm/hb-radio.entry.js +115 -0
  851. package/dist/esm/hb-radio.entry.js.map +1 -0
  852. package/dist/esm/hb-rate.entry.js +128 -0
  853. package/dist/esm/hb-rate.entry.js.map +1 -0
  854. package/dist/esm/hb-result.entry.js +53 -0
  855. package/dist/esm/hb-result.entry.js.map +1 -0
  856. package/dist/esm/hb-row.entry.js +53 -0
  857. package/dist/esm/hb-row.entry.js.map +1 -0
  858. package/dist/esm/hb-scrollbar.entry.js +200 -0
  859. package/dist/esm/hb-scrollbar.entry.js.map +1 -0
  860. package/dist/esm/hb-segmented.entry.js +39 -0
  861. package/dist/esm/hb-segmented.entry.js.map +1 -0
  862. package/dist/esm/hb-select.entry.js +258 -0
  863. package/dist/esm/hb-select.entry.js.map +1 -0
  864. package/dist/esm/hb-skeleton.entry.js +49 -0
  865. package/dist/esm/hb-skeleton.entry.js.map +1 -0
  866. package/dist/esm/hb-slider.entry.js +168 -0
  867. package/dist/esm/hb-slider.entry.js.map +1 -0
  868. package/dist/esm/hb-space.entry.js +68 -0
  869. package/dist/esm/hb-space.entry.js.map +1 -0
  870. package/dist/esm/hb-statistic.entry.js +62 -0
  871. package/dist/esm/hb-statistic.entry.js.map +1 -0
  872. package/dist/esm/hb-step.entry.js +20 -0
  873. package/dist/esm/hb-step.entry.js.map +1 -0
  874. package/dist/esm/hb-steps.entry.js +46 -0
  875. package/dist/esm/hb-steps.entry.js.map +1 -0
  876. package/dist/esm/hb-sub-menu.entry.js +66 -0
  877. package/dist/esm/hb-sub-menu.entry.js.map +1 -0
  878. package/dist/esm/hb-switch.entry.js +88 -0
  879. package/dist/esm/hb-switch.entry.js.map +1 -0
  880. package/dist/esm/hb-tab-pane.entry.js +22 -0
  881. package/dist/esm/hb-tab-pane.entry.js.map +1 -0
  882. package/dist/esm/hb-table.entry.js +366 -0
  883. package/dist/esm/hb-table.entry.js.map +1 -0
  884. package/dist/esm/hb-tabs.entry.js +111 -0
  885. package/dist/esm/hb-tabs.entry.js.map +1 -0
  886. package/dist/esm/hb-tag.entry.js +41 -0
  887. package/dist/esm/hb-tag.entry.js.map +1 -0
  888. package/dist/esm/hb-text.entry.js +56 -0
  889. package/dist/esm/hb-text.entry.js.map +1 -0
  890. package/dist/esm/hb-time-picker.entry.js +143 -0
  891. package/dist/esm/hb-time-picker.entry.js.map +1 -0
  892. package/dist/esm/hb-time-select.entry.js +141 -0
  893. package/dist/esm/hb-time-select.entry.js.map +1 -0
  894. package/dist/esm/hb-timeline.entry.js +26 -0
  895. package/dist/esm/hb-timeline.entry.js.map +1 -0
  896. package/dist/esm/hb-tooltip.entry.js +70 -0
  897. package/dist/esm/hb-tooltip.entry.js.map +1 -0
  898. package/dist/esm/hb-tour.entry.js +115 -0
  899. package/dist/esm/hb-tour.entry.js.map +1 -0
  900. package/dist/esm/hb-transfer.entry.js +169 -0
  901. package/dist/esm/hb-transfer.entry.js.map +1 -0
  902. package/dist/esm/hb-tree-select.entry.js +232 -0
  903. package/dist/esm/hb-tree-select.entry.js.map +1 -0
  904. package/dist/esm/hb-tree.entry.js +309 -0
  905. package/dist/esm/hb-tree.entry.js.map +1 -0
  906. package/dist/esm/hb-upload.entry.js +180 -0
  907. package/dist/esm/hb-upload.entry.js.map +1 -0
  908. package/dist/esm/hb-watermark.entry.js +55 -0
  909. package/dist/esm/hb-watermark.entry.js.map +1 -0
  910. package/dist/esm/huibo-ui.js +22 -0
  911. package/dist/esm/huibo-ui.js.map +1 -0
  912. package/dist/esm/index-fdf7135e.js +1886 -0
  913. package/dist/esm/index-fdf7135e.js.map +1 -0
  914. package/dist/esm/index.js +3 -0
  915. package/dist/esm/index.js.map +1 -0
  916. package/dist/esm/loader.js +13 -0
  917. package/dist/esm/loader.js.map +1 -0
  918. package/dist/esm/popup-manager-128cc685.js +78 -0
  919. package/dist/esm/popup-manager-128cc685.js.map +1 -0
  920. package/dist/huibo-ui/huibo-ui.css +6 -0
  921. package/dist/huibo-ui/huibo-ui.esm.js +2 -0
  922. package/dist/huibo-ui/huibo-ui.esm.js.map +1 -0
  923. package/dist/huibo-ui/index.esm.js +2 -0
  924. package/dist/huibo-ui/index.esm.js.map +1 -0
  925. package/dist/huibo-ui/p-003cee87.entry.js +2 -0
  926. package/dist/huibo-ui/p-003cee87.entry.js.map +1 -0
  927. package/dist/huibo-ui/p-06ec8d02.entry.js +2 -0
  928. package/dist/huibo-ui/p-06ec8d02.entry.js.map +1 -0
  929. package/dist/huibo-ui/p-079a4130.entry.js +2 -0
  930. package/dist/huibo-ui/p-079a4130.entry.js.map +1 -0
  931. package/dist/huibo-ui/p-0a033738.entry.js +2 -0
  932. package/dist/huibo-ui/p-0a033738.entry.js.map +1 -0
  933. package/dist/huibo-ui/p-0bef78ac.entry.js +2 -0
  934. package/dist/huibo-ui/p-0bef78ac.entry.js.map +1 -0
  935. package/dist/huibo-ui/p-0e65e1bd.entry.js +2 -0
  936. package/dist/huibo-ui/p-0e65e1bd.entry.js.map +1 -0
  937. package/dist/huibo-ui/p-0f189251.entry.js +2 -0
  938. package/dist/huibo-ui/p-0f189251.entry.js.map +1 -0
  939. package/dist/huibo-ui/p-10c088f3.entry.js +2 -0
  940. package/dist/huibo-ui/p-10c088f3.entry.js.map +1 -0
  941. package/dist/huibo-ui/p-1b5acd6d.entry.js +2 -0
  942. package/dist/huibo-ui/p-1b5acd6d.entry.js.map +1 -0
  943. package/dist/huibo-ui/p-1e5abc8a.entry.js +2 -0
  944. package/dist/huibo-ui/p-1e5abc8a.entry.js.map +1 -0
  945. package/dist/huibo-ui/p-1f0b1662.entry.js +2 -0
  946. package/dist/huibo-ui/p-1f0b1662.entry.js.map +1 -0
  947. package/dist/huibo-ui/p-21682e92.entry.js +2 -0
  948. package/dist/huibo-ui/p-21682e92.entry.js.map +1 -0
  949. package/dist/huibo-ui/p-231a7335.entry.js +2 -0
  950. package/dist/huibo-ui/p-231a7335.entry.js.map +1 -0
  951. package/dist/huibo-ui/p-24ad7eec.entry.js +2 -0
  952. package/dist/huibo-ui/p-24ad7eec.entry.js.map +1 -0
  953. package/dist/huibo-ui/p-2b286698.entry.js +2 -0
  954. package/dist/huibo-ui/p-2b286698.entry.js.map +1 -0
  955. package/dist/huibo-ui/p-2e6584ea.entry.js +2 -0
  956. package/dist/huibo-ui/p-2e6584ea.entry.js.map +1 -0
  957. package/dist/huibo-ui/p-315feadf.entry.js +2 -0
  958. package/dist/huibo-ui/p-315feadf.entry.js.map +1 -0
  959. package/dist/huibo-ui/p-332c8877.entry.js +2 -0
  960. package/dist/huibo-ui/p-332c8877.entry.js.map +1 -0
  961. package/dist/huibo-ui/p-3c7f73c8.entry.js +2 -0
  962. package/dist/huibo-ui/p-3c7f73c8.entry.js.map +1 -0
  963. package/dist/huibo-ui/p-4001c08d.entry.js +2 -0
  964. package/dist/huibo-ui/p-4001c08d.entry.js.map +1 -0
  965. package/dist/huibo-ui/p-44c48246.entry.js +2 -0
  966. package/dist/huibo-ui/p-44c48246.entry.js.map +1 -0
  967. package/dist/huibo-ui/p-463de26d.entry.js +2 -0
  968. package/dist/huibo-ui/p-463de26d.entry.js.map +1 -0
  969. package/dist/huibo-ui/p-465dcb4c.entry.js +2 -0
  970. package/dist/huibo-ui/p-465dcb4c.entry.js.map +1 -0
  971. package/dist/huibo-ui/p-476527c1.entry.js +2 -0
  972. package/dist/huibo-ui/p-476527c1.entry.js.map +1 -0
  973. package/dist/huibo-ui/p-477d8568.entry.js +2 -0
  974. package/dist/huibo-ui/p-477d8568.entry.js.map +1 -0
  975. package/dist/huibo-ui/p-4d0dff15.entry.js +2 -0
  976. package/dist/huibo-ui/p-4d0dff15.entry.js.map +1 -0
  977. package/dist/huibo-ui/p-4d8b1404.entry.js +2 -0
  978. package/dist/huibo-ui/p-4d8b1404.entry.js.map +1 -0
  979. package/dist/huibo-ui/p-4ef5a884.js +2 -0
  980. package/dist/huibo-ui/p-4ef5a884.js.map +1 -0
  981. package/dist/huibo-ui/p-58d20809.entry.js +2 -0
  982. package/dist/huibo-ui/p-58d20809.entry.js.map +1 -0
  983. package/dist/huibo-ui/p-58ebb9b3.entry.js +2 -0
  984. package/dist/huibo-ui/p-58ebb9b3.entry.js.map +1 -0
  985. package/dist/huibo-ui/p-59b2e61c.entry.js +2 -0
  986. package/dist/huibo-ui/p-59b2e61c.entry.js.map +1 -0
  987. package/dist/huibo-ui/p-5df47135.entry.js +2 -0
  988. package/dist/huibo-ui/p-5df47135.entry.js.map +1 -0
  989. package/dist/huibo-ui/p-64ca0980.entry.js +2 -0
  990. package/dist/huibo-ui/p-64ca0980.entry.js.map +1 -0
  991. package/dist/huibo-ui/p-672076c3.entry.js +2 -0
  992. package/dist/huibo-ui/p-672076c3.entry.js.map +1 -0
  993. package/dist/huibo-ui/p-6a1ec3ff.entry.js +2 -0
  994. package/dist/huibo-ui/p-6a1ec3ff.entry.js.map +1 -0
  995. package/dist/huibo-ui/p-6ac242fe.entry.js +2 -0
  996. package/dist/huibo-ui/p-6ac242fe.entry.js.map +1 -0
  997. package/dist/huibo-ui/p-6b381d0e.entry.js +2 -0
  998. package/dist/huibo-ui/p-6b381d0e.entry.js.map +1 -0
  999. package/dist/huibo-ui/p-710f38de.entry.js +2 -0
  1000. package/dist/huibo-ui/p-710f38de.entry.js.map +1 -0
  1001. package/dist/huibo-ui/p-756acbdb.entry.js +2 -0
  1002. package/dist/huibo-ui/p-756acbdb.entry.js.map +1 -0
  1003. package/dist/huibo-ui/p-75a93de3.entry.js +2 -0
  1004. package/dist/huibo-ui/p-75a93de3.entry.js.map +1 -0
  1005. package/dist/huibo-ui/p-769960f4.entry.js +2 -0
  1006. package/dist/huibo-ui/p-769960f4.entry.js.map +1 -0
  1007. package/dist/huibo-ui/p-77017274.entry.js +2 -0
  1008. package/dist/huibo-ui/p-77017274.entry.js.map +1 -0
  1009. package/dist/huibo-ui/p-7f6975ad.entry.js +2 -0
  1010. package/dist/huibo-ui/p-7f6975ad.entry.js.map +1 -0
  1011. package/dist/huibo-ui/p-80aca641.entry.js +2 -0
  1012. package/dist/huibo-ui/p-80aca641.entry.js.map +1 -0
  1013. package/dist/huibo-ui/p-85f68526.entry.js +2 -0
  1014. package/dist/huibo-ui/p-85f68526.entry.js.map +1 -0
  1015. package/dist/huibo-ui/p-88127de1.entry.js +2 -0
  1016. package/dist/huibo-ui/p-88127de1.entry.js.map +1 -0
  1017. package/dist/huibo-ui/p-8b027491.entry.js +2 -0
  1018. package/dist/huibo-ui/p-8b027491.entry.js.map +1 -0
  1019. package/dist/huibo-ui/p-8b1ae77e.entry.js +2 -0
  1020. package/dist/huibo-ui/p-8b1ae77e.entry.js.map +1 -0
  1021. package/dist/huibo-ui/p-8c80a765.entry.js +2 -0
  1022. package/dist/huibo-ui/p-8c80a765.entry.js.map +1 -0
  1023. package/dist/huibo-ui/p-8c987d57.entry.js +2 -0
  1024. package/dist/huibo-ui/p-8c987d57.entry.js.map +1 -0
  1025. package/dist/huibo-ui/p-8d615521.entry.js +2 -0
  1026. package/dist/huibo-ui/p-8d615521.entry.js.map +1 -0
  1027. package/dist/huibo-ui/p-8d925e3d.entry.js +2 -0
  1028. package/dist/huibo-ui/p-8d925e3d.entry.js.map +1 -0
  1029. package/dist/huibo-ui/p-9319c650.entry.js +2 -0
  1030. package/dist/huibo-ui/p-9319c650.entry.js.map +1 -0
  1031. package/dist/huibo-ui/p-953b9514.entry.js +2 -0
  1032. package/dist/huibo-ui/p-953b9514.entry.js.map +1 -0
  1033. package/dist/huibo-ui/p-965d4d02.entry.js +2 -0
  1034. package/dist/huibo-ui/p-965d4d02.entry.js.map +1 -0
  1035. package/dist/huibo-ui/p-a0015341.entry.js +2 -0
  1036. package/dist/huibo-ui/p-a0015341.entry.js.map +1 -0
  1037. package/dist/huibo-ui/p-a042e3d0.entry.js +2 -0
  1038. package/dist/huibo-ui/p-a042e3d0.entry.js.map +1 -0
  1039. package/dist/huibo-ui/p-ad6b0c6e.entry.js +2 -0
  1040. package/dist/huibo-ui/p-ad6b0c6e.entry.js.map +1 -0
  1041. package/dist/huibo-ui/p-b489a526.entry.js +2 -0
  1042. package/dist/huibo-ui/p-b489a526.entry.js.map +1 -0
  1043. package/dist/huibo-ui/p-be48d2aa.entry.js +2 -0
  1044. package/dist/huibo-ui/p-be48d2aa.entry.js.map +1 -0
  1045. package/dist/huibo-ui/p-c1a059d9.entry.js +2 -0
  1046. package/dist/huibo-ui/p-c1a059d9.entry.js.map +1 -0
  1047. package/dist/huibo-ui/p-c1b4eacb.entry.js +2 -0
  1048. package/dist/huibo-ui/p-c1b4eacb.entry.js.map +1 -0
  1049. package/dist/huibo-ui/p-c321c4aa.entry.js +2 -0
  1050. package/dist/huibo-ui/p-c321c4aa.entry.js.map +1 -0
  1051. package/dist/huibo-ui/p-c3e665f6.entry.js +2 -0
  1052. package/dist/huibo-ui/p-c3e665f6.entry.js.map +1 -0
  1053. package/dist/huibo-ui/p-c3e8893d.entry.js +2 -0
  1054. package/dist/huibo-ui/p-c3e8893d.entry.js.map +1 -0
  1055. package/dist/huibo-ui/p-c922d672.entry.js +2 -0
  1056. package/dist/huibo-ui/p-c922d672.entry.js.map +1 -0
  1057. package/dist/huibo-ui/p-cc0aeb50.js +2 -0
  1058. package/dist/huibo-ui/p-cc0aeb50.js.map +1 -0
  1059. package/dist/huibo-ui/p-cf94cbf6.js +2 -0
  1060. package/dist/huibo-ui/p-cf94cbf6.js.map +1 -0
  1061. package/dist/huibo-ui/p-d3939d44.entry.js +2 -0
  1062. package/dist/huibo-ui/p-d3939d44.entry.js.map +1 -0
  1063. package/dist/huibo-ui/p-d64b91ef.entry.js +2 -0
  1064. package/dist/huibo-ui/p-d64b91ef.entry.js.map +1 -0
  1065. package/dist/huibo-ui/p-d7815b4f.entry.js +2 -0
  1066. package/dist/huibo-ui/p-d7815b4f.entry.js.map +1 -0
  1067. package/dist/huibo-ui/p-d87fc21a.entry.js +2 -0
  1068. package/dist/huibo-ui/p-d87fc21a.entry.js.map +1 -0
  1069. package/dist/huibo-ui/p-dd05cb2c.entry.js +2 -0
  1070. package/dist/huibo-ui/p-dd05cb2c.entry.js.map +1 -0
  1071. package/dist/huibo-ui/p-dfaf7e37.entry.js +2 -0
  1072. package/dist/huibo-ui/p-dfaf7e37.entry.js.map +1 -0
  1073. package/dist/huibo-ui/p-e004fc81.entry.js +2 -0
  1074. package/dist/huibo-ui/p-e004fc81.entry.js.map +1 -0
  1075. package/dist/huibo-ui/p-e0768565.entry.js +2 -0
  1076. package/dist/huibo-ui/p-e0768565.entry.js.map +1 -0
  1077. package/dist/huibo-ui/p-e0ab9010.entry.js +2 -0
  1078. package/dist/huibo-ui/p-e0ab9010.entry.js.map +1 -0
  1079. package/dist/huibo-ui/p-e1255160.js +2 -0
  1080. package/dist/huibo-ui/p-e1255160.js.map +1 -0
  1081. package/dist/huibo-ui/p-e2a8a396.entry.js +2 -0
  1082. package/dist/huibo-ui/p-e2a8a396.entry.js.map +1 -0
  1083. package/dist/huibo-ui/p-e36bbe6f.entry.js +2 -0
  1084. package/dist/huibo-ui/p-e36bbe6f.entry.js.map +1 -0
  1085. package/dist/huibo-ui/p-e42dfa95.js +3 -0
  1086. package/dist/huibo-ui/p-e42dfa95.js.map +1 -0
  1087. package/dist/huibo-ui/p-e6f2d71d.entry.js +2 -0
  1088. package/dist/huibo-ui/p-e6f2d71d.entry.js.map +1 -0
  1089. package/dist/huibo-ui/p-e9490259.entry.js +2 -0
  1090. package/dist/huibo-ui/p-e9490259.entry.js.map +1 -0
  1091. package/dist/huibo-ui/p-ea74fcae.entry.js +2 -0
  1092. package/dist/huibo-ui/p-ea74fcae.entry.js.map +1 -0
  1093. package/dist/huibo-ui/p-ebd04656.entry.js +2 -0
  1094. package/dist/huibo-ui/p-ebd04656.entry.js.map +1 -0
  1095. package/dist/huibo-ui/p-ecce2b5e.js +2 -0
  1096. package/dist/huibo-ui/p-ecce2b5e.js.map +1 -0
  1097. package/dist/huibo-ui/p-ed0ff857.entry.js +2 -0
  1098. package/dist/huibo-ui/p-ed0ff857.entry.js.map +1 -0
  1099. package/dist/huibo-ui/p-f0ac7db5.entry.js +2 -0
  1100. package/dist/huibo-ui/p-f0ac7db5.entry.js.map +1 -0
  1101. package/dist/huibo-ui/p-f1c084c5.entry.js +2 -0
  1102. package/dist/huibo-ui/p-f1c084c5.entry.js.map +1 -0
  1103. package/dist/huibo-ui/p-f374d5a3.entry.js +2 -0
  1104. package/dist/huibo-ui/p-f374d5a3.entry.js.map +1 -0
  1105. package/dist/huibo-ui/p-f81ec512.entry.js +2 -0
  1106. package/dist/huibo-ui/p-f81ec512.entry.js.map +1 -0
  1107. package/dist/huibo-ui/p-fd19813c.entry.js +2 -0
  1108. package/dist/huibo-ui/p-fd19813c.entry.js.map +1 -0
  1109. package/dist/index.cjs.js +1 -0
  1110. package/dist/index.js +1 -0
  1111. package/dist/types/components/Affix/Affix.d.ts +27 -0
  1112. package/dist/types/components/Alert/Alert.d.ts +23 -0
  1113. package/dist/types/components/Anchor/Anchor.d.ts +28 -0
  1114. package/dist/types/components/Avatar/Avatar.d.ts +9 -0
  1115. package/dist/types/components/Backtop/Backtop.d.ts +33 -0
  1116. package/dist/types/components/Badge/Badge.d.ts +9 -0
  1117. package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +9 -0
  1118. package/dist/types/components/Breadcrumb/BreadcrumbItem.d.ts +9 -0
  1119. package/dist/types/components/Button/Button.d.ts +17 -0
  1120. package/dist/types/components/Calendar/Calendar.d.ts +35 -0
  1121. package/dist/types/components/Card/Card.d.ts +6 -0
  1122. package/dist/types/components/Carousel/Carousel.d.ts +45 -0
  1123. package/dist/types/components/Cascader/Cascader.d.ts +150 -0
  1124. package/dist/types/components/Checkbox/Checkbox.d.ts +66 -0
  1125. package/dist/types/components/Checkbox/CheckboxGroup.d.ts +46 -0
  1126. package/dist/types/components/Collapse/Collapse.d.ts +7 -0
  1127. package/dist/types/components/Collapse/CollapseItem.d.ts +17 -0
  1128. package/dist/types/components/ColorPicker/ColorPicker.d.ts +59 -0
  1129. package/dist/types/components/ColorPickerPanel/ColorPickerPanel.d.ts +35 -0
  1130. package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +17 -0
  1131. package/dist/types/components/Container/Aside.d.ts +11 -0
  1132. package/dist/types/components/Container/Container.d.ts +12 -0
  1133. package/dist/types/components/Container/Footer.d.ts +11 -0
  1134. package/dist/types/components/Container/Header.d.ts +11 -0
  1135. package/dist/types/components/Container/Main.d.ts +7 -0
  1136. package/dist/types/components/DatePicker/DatePicker.d.ts +53 -0
  1137. package/dist/types/components/DatePickerPane/DatePickerPane.d.ts +40 -0
  1138. package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +68 -0
  1139. package/dist/types/components/DateTimePicker/DateTimePicker.d.ts +41 -0
  1140. package/dist/types/components/Descriptions/Descriptions.d.ts +22 -0
  1141. package/dist/types/components/Dialog/Dialog.d.ts +42 -0
  1142. package/dist/types/components/Divider/Divider.d.ts +14 -0
  1143. package/dist/types/components/Drawer/Drawer.d.ts +24 -0
  1144. package/dist/types/components/Dropdown/Dropdown.d.ts +32 -0
  1145. package/dist/types/components/Empty/Empty.d.ts +5 -0
  1146. package/dist/types/components/FloatButton/FloatButton.d.ts +29 -0
  1147. package/dist/types/components/Form/Form.d.ts +41 -0
  1148. package/dist/types/components/Form/FormItem.d.ts +30 -0
  1149. package/dist/types/components/Icon/Icon.d.ts +17 -0
  1150. package/dist/types/components/Image/Image.d.ts +16 -0
  1151. package/dist/types/components/ImagePreview/ImagePreview.d.ts +59 -0
  1152. package/dist/types/components/Input/Input.d.ts +133 -0
  1153. package/dist/types/components/InputNumber/InputNumber.d.ts +89 -0
  1154. package/dist/types/components/InputTag/InputTag.d.ts +79 -0
  1155. package/dist/types/components/Layout/Layout.d.ts +48 -0
  1156. package/dist/types/components/Layout/Row.d.ts +26 -0
  1157. package/dist/types/components/Link/Link.d.ts +40 -0
  1158. package/dist/types/components/Loading/Loading.d.ts +13 -0
  1159. package/dist/types/components/Menu/Menu.d.ts +34 -0
  1160. package/dist/types/components/Menu/MenuItem.d.ts +17 -0
  1161. package/dist/types/components/Menu/SubMenu.d.ts +30 -0
  1162. package/dist/types/components/Message/Message.d.ts +20 -0
  1163. package/dist/types/components/Message/show-message.d.ts +13 -0
  1164. package/dist/types/components/Notification/Notification.d.ts +33 -0
  1165. package/dist/types/components/Notification/notify.d.ts +19 -0
  1166. package/dist/types/components/PageHeader/PageHeader.d.ts +19 -0
  1167. package/dist/types/components/Pagination/Pagination.d.ts +35 -0
  1168. package/dist/types/components/Popconfirm/Popconfirm.d.ts +20 -0
  1169. package/dist/types/components/Popover/Popover.d.ts +18 -0
  1170. package/dist/types/components/Progress/Progress.d.ts +9 -0
  1171. package/dist/types/components/Radio/Radio.d.ts +57 -0
  1172. package/dist/types/components/Rate/Rate.d.ts +64 -0
  1173. package/dist/types/components/Result/Result.d.ts +22 -0
  1174. package/dist/types/components/Scrollbar/Scrollbar.d.ts +75 -0
  1175. package/dist/types/components/Segmented/Segmented.d.ts +24 -0
  1176. package/dist/types/components/Select/Select.d.ts +100 -0
  1177. package/dist/types/components/Skeleton/Skeleton.d.ts +22 -0
  1178. package/dist/types/components/Slider/Slider.d.ts +81 -0
  1179. package/dist/types/components/Space/Space.d.ts +37 -0
  1180. package/dist/types/components/Statistic/Statistic.d.ts +25 -0
  1181. package/dist/types/components/Steps/Step.d.ts +7 -0
  1182. package/dist/types/components/Steps/Steps.d.ts +15 -0
  1183. package/dist/types/components/Switch/Switch.d.ts +58 -0
  1184. package/dist/types/components/Table/Table.d.ts +184 -0
  1185. package/dist/types/components/Tabs/TabPane.d.ts +12 -0
  1186. package/dist/types/components/Tabs/Tabs.d.ts +32 -0
  1187. package/dist/types/components/Tag/Tag.d.ts +21 -0
  1188. package/dist/types/components/Text/Text.d.ts +37 -0
  1189. package/dist/types/components/TimePicker/TimePicker.d.ts +62 -0
  1190. package/dist/types/components/TimeSelect/TimeSelect.d.ts +69 -0
  1191. package/dist/types/components/Timeline/Timeline.d.ts +16 -0
  1192. package/dist/types/components/Tooltip/Tooltip.d.ts +28 -0
  1193. package/dist/types/components/Tour/Tour.d.ts +39 -0
  1194. package/dist/types/components/Transfer/Transfer.d.ts +73 -0
  1195. package/dist/types/components/Tree/Tree.d.ts +113 -0
  1196. package/dist/types/components/TreeSelect/TreeSelect.d.ts +71 -0
  1197. package/dist/types/components/Upload/Upload.d.ts +55 -0
  1198. package/dist/types/components/Watermark/Watermark.d.ts +25 -0
  1199. package/dist/types/components.d.ts +8261 -0
  1200. package/dist/types/index.d.ts +10 -0
  1201. package/dist/types/stencil-public-runtime.d.ts +1680 -0
  1202. package/dist/types/utils/a11y.d.ts +66 -0
  1203. package/dist/types/utils/click-outside.d.ts +20 -0
  1204. package/dist/types/utils/date-helpers.d.ts +41 -0
  1205. package/dist/types/utils/form-input-base.d.ts +62 -0
  1206. package/dist/types/utils/popup-manager.d.ts +17 -0
  1207. package/loader/cdn.js +1 -0
  1208. package/loader/index.cjs.js +1 -0
  1209. package/loader/index.d.ts +24 -0
  1210. package/loader/index.es2017.js +1 -0
  1211. package/loader/index.js +2 -0
  1212. package/loader/package.json +11 -0
  1213. package/package.json +93 -0
  1214. package/readme.md +111 -0
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,g as i,h as o}from"./p-e42dfa95.js";import{c as s}from"./p-4ef5a884.js";import{h as r}from"./p-cc0aeb50.js";const a='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{--hb-select-font-size:14px;--hb-select-height:32px;--hb-select-border-color:var(--hb-border-color,#dcdfe6);--hb-select-border-color-hover:var(--hb-color-primary);--hb-select-bg-color:var(--hb-color-white,#fff);--hb-select-text-color:var(--hb-color-text-regular,#606266);--hb-select-placeholder-color:var(--hb-color-text-placeholder,#c0c4cc);display:inline-block;position:relative}.hb-select{display:inline-block;position:relative;width:240px}.hb-select__input-wrapper{position:relative}.hb-select__input,.hb-select__input-wrapper{cursor:pointer;display:inline-block;width:100%}.hb-select__input{background-color:var(--hb-select-bg-color);border:1px solid var(--hb-select-border-color);border-radius:4px;box-sizing:border-box;color:var(--hb-select-text-color);font-size:var(--hb-select-font-size);height:var(--hb-select-height);line-height:var(--hb-select-height);outline:none;padding:0 30px 0 15px;transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.hb-select__input::placeholder{color:var(--hb-select-placeholder-color)}.hb-select__input:focus,.hb-select__input:hover:not(:disabled){border-color:var(--hb-select-border-color-hover)}.hb-select__tags{align-items:center;background-color:var(--hb-select-bg-color);border:1px solid var(--hb-select-border-color);border-radius:4px;display:flex;flex-wrap:wrap;min-height:var(--hb-select-height);padding:0 30px 0 5px}.hb-select__tag{align-items:center;background-color:var(--hb-fill-color-light,#f0f2f5);border:1px solid var(--hb-border-color-lighter,#e4e7ed);border-radius:4px;color:var(--hb-color-text-regular,#606266);display:inline-flex;font-size:12px;height:24px;margin:2px 0 2px 6px;padding:0 8px}.hb-select__tag-text{margin-right:4px}.hb-select__tag-close{color:var(--hb-color-text-placeholder,#c0c4cc);cursor:pointer;font-size:14px;transition:color .2s}.hb-select__tag-close:hover{color:var(--hb-color-text-regular,#606266)}.hb-select__suffix{align-items:center;color:var(--hb-select-text-color);display:flex;position:absolute;right:8px;top:50%;transform:translateY(-50%)}.hb-select__clear{color:var(--hb-select-placeholder-color);cursor:pointer;font-size:16px;margin-right:8px;transition:color .2s}.hb-select__clear:hover{color:var(--hb-select-text-color)}.hb-select__arrow{font-size:12px;transition:transform .3s}.hb-select--open .hb-select__arrow{transform:rotate(180deg)}.hb-select__dropdown{background-color:var(--hb-select-bg-color);border:1px solid var(--hb-select-border-color);border-radius:4px;box-shadow:0 2px 12px #0000001a;left:0;margin-top:4px;max-height:300px;min-width:100%;overflow-y:auto;position:absolute;top:100%;z-index:1000}.hb-select__menu{list-style:none;margin:0;padding:6px 0}.hb-select__menu-item{align-items:center;color:var(--hb-select-text-color);cursor:pointer;display:flex;font-size:var(--hb-select-font-size);padding:8px 20px;transition:background-color .2s}.hb-select__menu-item:hover:not(.hb-select__menu-item--disabled):not(.hb-select__menu-item--divided){background-color:var(--hb-fill-color-light,#f5f7fa)}.hb-select__menu-item--selected{color:var(--hb-color-primary);font-weight:600}.hb-select__menu-item--disabled{color:var(--hb-color-text-disabled,#c0c4cc);cursor:not-allowed}.hb-select__menu-item--divided{border-top:1px solid var(--hb-border-color-lighter,#e4e7ed);margin-top:6px;padding-top:6px}.hb-select__menu-item--empty{color:var(--hb-select-placeholder-color);cursor:default}.hb-select__menu-item-checkbox{margin-right:8px;text-align:center;width:14px}.hb-select__menu-item-label{flex:1}.hb-select--small{font-size:12px}.hb-select--small .hb-select__input{font-size:12px;height:24px;line-height:24px;padding:0 25px 0 12px}.hb-select--large{font-size:16px}.hb-select--large .hb-select__input{font-size:16px;height:40px;line-height:40px;padding:0 35px 0 18px}.hb-select--disabled{cursor:not-allowed}.hb-select--disabled .hb-select__input{background-color:var(--hb-fill-color-light,#f5f7fa);border-color:var(--hb-select-border-color);color:var(--hb-color-text-disabled,#c0c4cc);cursor:not-allowed}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const l=a;const n=class{constructor(i){e(this,i);this.hbChange=t(this,"hbChange",7);this.hbVisibleChange=t(this,"hbVisibleChange",7)}get el(){return i(this)}modelValue;options=[];placeholder="请选择";disabled=false;size="default";clearable=false;multiple=false;filterable=false;filterMethod;defaultFirstOption=false;allowCreate=false;collapseTags=false;maxCollapseTags;isOpen=false;inputValue="";searchValue="";filteredOptions=[];activeOptionIndex=-1;hbChange;hbVisibleChange;clickOutside=s({host:null,isOpen:()=>this.isOpen,onClose:()=>{this.isOpen=false;this.hbVisibleChange.emit(false)}});componentDidLoad(){this.clickOutside=s({host:this.el,isOpen:()=>this.isOpen,onClose:()=>{this.isOpen=false;this.hbVisibleChange.emit(false)}});this.clickOutside.connect();this.updateInputValue();if(this.filterable){this.filteredOptions=this.options}}disconnectedCallback(){this.clickOutside.disconnect()}handleValueChange(){this.updateInputValue()}handleOptionsChange(){if(this.filterable){this.filteredOptions=this.options}}updateInputValue(){if(!this.modelValue){this.inputValue="";return}if(this.multiple&&Array.isArray(this.modelValue)){const e=this.modelValue.map((e=>{const t=this.options.find((t=>t.value===e));return t?t.label:String(e)}));this.inputValue=e.join(", ")}else{const e=this.options.find((e=>e.value===this.modelValue));this.inputValue=e?e.label:String(this.modelValue)}}handleInputClick=()=>{if(this.disabled)return;this.isOpen=!this.isOpen;if(this.isOpen)this.activeOptionIndex=-1;this.hbVisibleChange.emit(this.isOpen)};handleWrapperKeydown=e=>{if(this.disabled)return;const t=this.filterable?this.filteredOptions:this.options;if(!this.isOpen){if(e.key==="Enter"||e.key===" "||e.key==="Spacebar"||e.key==="ArrowDown"||e.key==="ArrowUp"){e.preventDefault();this.isOpen=true;this.activeOptionIndex=-1;this.hbVisibleChange.emit(true)}return}const i=r(e,{activeIndex:this.activeOptionIndex,itemCount:t.length,loop:true});switch(i.type){case"navigate":e.preventDefault();this.activeOptionIndex=i.index;break;case"select":{e.preventDefault();const o=t[i.index];if(o&&!o.disabled)this.handleSelect(o);break}case"close":e.preventDefault();this.isOpen=false;this.hbVisibleChange.emit(false);break}};handleSelect=e=>{if(e.disabled)return;if(this.multiple){const t=this.modelValue||[];const i=t.indexOf(e.value);if(i>-1){t.splice(i,1)}else{t.push(e.value)}this.modelValue=[...t]}else{this.modelValue=e.value;this.isOpen=false;this.hbVisibleChange.emit(false)}this.updateInputValue();this.hbChange.emit(this.modelValue)};handleClear=e=>{e.stopPropagation();this.modelValue=this.multiple?[]:undefined;this.inputValue="";this.isOpen=false;this.hbChange.emit(this.modelValue);this.hbVisibleChange.emit(false)};handleSearch=e=>{const t=e.target;this.searchValue=t.value;if(this.filterMethod){this.filterMethod(t.value)}else{this.filteredOptions=this.options.filter((e=>e.label.toLowerCase().includes(t.value.toLowerCase())))}};isSelected(e){if(this.multiple&&Array.isArray(this.modelValue)){return this.modelValue.includes(e.value)}return this.modelValue===e.value}render(){const e=this.filterable?this.filteredOptions:this.options;const t=this.clearable&&this.modelValue!==undefined&&(this.multiple?this.modelValue.length>0:true);return o("div",{key:"74d4a02c34f152b6795a11a54a276a2325e28fc8",class:{"hb-select":true,"hb-select--open":this.isOpen,"hb-select--disabled":this.disabled,[`hb-select--${this.size}`]:true},"aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false"},o("div",{key:"acc60d9dd0cafa2264fae4bb2e468f9921eaf210",class:"hb-select__input-wrapper",onClick:this.handleInputClick,onKeyDown:this.handleWrapperKeydown},this.multiple&&Array.isArray(this.modelValue)&&this.modelValue.length>0?o("div",{class:"hb-select__tags"},this.modelValue.slice(0,this.collapseTags&&this.maxCollapseTags?this.maxCollapseTags:undefined).map((e=>{const t=this.options.find((t=>t.value===e));return o("span",{class:"hb-select__tag"},o("span",{class:"hb-select__tag-text"},t?t.label:e),o("span",{class:"hb-select__tag-close",role:"button","aria-label":"移除标签",onClick:i=>{i.stopPropagation();this.handleSelect(t||{value:e,label:String(e)})}},"×"))})),this.collapseTags&&this.maxCollapseTags&&this.modelValue.length>this.maxCollapseTags&&o("span",{class:"hb-select__tag"},o("span",{class:"hb-select__tag-text"},"+",this.modelValue.length-this.maxCollapseTags))):o("input",{type:"text",class:"hb-select__input",placeholder:this.placeholder,value:this.filterable&&this.isOpen?this.searchValue:this.inputValue,disabled:this.disabled,readonly:!this.filterable||!this.isOpen,onInput:this.handleSearch,"aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false",role:"combobox"}),o("span",{key:"af18dc75d5ae183d953ff4c1ae9a1c437f5cb4f9",class:"hb-select__suffix"},t&&o("span",{key:"23d6891fa82878f78de89dea464c1a1787be6695",class:"hb-select__clear",role:"button","aria-label":"清空",onClick:this.handleClear},"×"),o("span",{key:"45bef57ec15707fe4f9c9b5fa4699eb8082b27d4",class:"hb-select__arrow"},"▼"))),this.isOpen&&o("div",{key:"a359fae561a9a25f85a72437f88f6ab11abcd90a",class:"hb-select__dropdown"},o("ul",{key:"f599eb59c8ff2f7e3effe395253a11c7934b41b8",class:"hb-select__menu",role:"listbox"},e.length===0?o("li",{class:"hb-select__menu-item hb-select__menu-item--empty","aria-disabled":"true"},"无数据"):e.map(((e,t)=>o("li",{class:{"hb-select__menu-item":true,"hb-select__menu-item--selected":this.isSelected(e),"hb-select__menu-item--disabled":e.disabled,"hb-select__menu-item--divided":e.divided,"hb-select__menu-item--active":t===this.activeOptionIndex},role:"option","aria-selected":this.isSelected(e)?"true":"false","aria-disabled":e.disabled?"true":undefined,onClick:()=>this.handleSelect(e)},this.multiple&&o("span",{class:"hb-select__menu-item-checkbox"},this.isSelected(e)?"✓":""),o("span",{class:"hb-select__menu-item-label"},e.label)))))))}static get watchers(){return{modelValue:["handleValueChange"],options:["handleOptionsChange"]}}};n.style=l;export{n as hb_select};
2
+ //# sourceMappingURL=p-58d20809.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["selectCss","HbSelectStyle0","Select","modelValue","options","placeholder","disabled","size","clearable","multiple","filterable","filterMethod","defaultFirstOption","allowCreate","collapseTags","maxCollapseTags","isOpen","inputValue","searchValue","filteredOptions","activeOptionIndex","hbChange","hbVisibleChange","clickOutside","createClickOutsideHandler","host","this","onClose","emit","componentDidLoad","el","connect","updateInputValue","disconnectedCallback","disconnect","handleValueChange","handleOptionsChange","Array","isArray","labels","map","val","option","find","opt","value","label","String","join","handleInputClick","handleWrapperKeydown","e","displayOptions","key","preventDefault","action","handleListKeyboard","activeIndex","itemCount","length","loop","type","index","handleSelect","currentValue","indexOf","splice","push","handleClear","stopPropagation","undefined","handleSearch","target","filter","toLowerCase","includes","isSelected","render","showClear","h","class","onClick","onKeyDown","slice","role","readonly","onInput","divided"],"sources":["src/components/Select/select.css?tag=hb-select&encapsulation=shadow","src/components/Select/Select.tsx"],"sourcesContent":[":host {\n display: inline-block;\n position: relative;\n --hb-select-font-size: 14px;\n --hb-select-height: 32px;\n --hb-select-border-color: var(--hb-border-color, #dcdfe6);\n --hb-select-border-color-hover: var(--hb-color-primary);\n --hb-select-bg-color: var(--hb-color-white, #ffffff);\n --hb-select-text-color: var(--hb-color-text-regular, #606266);\n --hb-select-placeholder-color: var(--hb-color-text-placeholder, #c0c4cc);\n}\n\n.hb-select {\n display: inline-block;\n position: relative;\n width: 240px;\n}\n\n.hb-select__input-wrapper {\n position: relative;\n display: inline-block;\n width: 100%;\n cursor: pointer;\n}\n\n.hb-select__input {\n display: inline-block;\n width: 100%;\n height: var(--hb-select-height);\n line-height: var(--hb-select-height);\n padding: 0 30px 0 15px;\n font-size: var(--hb-select-font-size);\n color: var(--hb-select-text-color);\n background-color: var(--hb-select-bg-color);\n border: 1px solid var(--hb-select-border-color);\n border-radius: 4px;\n box-sizing: border-box;\n cursor: pointer;\n outline: none;\n transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n}\n\n.hb-select__input::placeholder {\n color: var(--hb-select-placeholder-color);\n}\n\n.hb-select__input:hover:not(:disabled) {\n border-color: var(--hb-select-border-color-hover);\n}\n\n.hb-select__input:focus {\n border-color: var(--hb-select-border-color-hover);\n}\n\n.hb-select__tags {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n padding: 0 30px 0 5px;\n min-height: var(--hb-select-height);\n border: 1px solid var(--hb-select-border-color);\n border-radius: 4px;\n background-color: var(--hb-select-bg-color);\n}\n\n.hb-select__tag {\n display: inline-flex;\n align-items: center;\n height: 24px;\n padding: 0 8px;\n margin: 2px 0 2px 6px;\n background-color: var(--hb-fill-color-light, #f0f2f5);\n border: 1px solid var(--hb-border-color-lighter, #e4e7ed);\n border-radius: 4px;\n font-size: 12px;\n color: var(--hb-color-text-regular, #606266);\n}\n\n.hb-select__tag-text {\n margin-right: 4px;\n}\n\n.hb-select__tag-close {\n cursor: pointer;\n font-size: 14px;\n color: var(--hb-color-text-placeholder, #c0c4cc);\n transition: color 0.2s;\n}\n\n.hb-select__tag-close:hover {\n color: var(--hb-color-text-regular, #606266);\n}\n\n.hb-select__suffix {\n position: absolute;\n right: 8px;\n top: 50%;\n transform: translateY(-50%);\n display: flex;\n align-items: center;\n color: var(--hb-select-text-color);\n}\n\n.hb-select__clear {\n margin-right: 8px;\n cursor: pointer;\n font-size: 16px;\n color: var(--hb-select-placeholder-color);\n transition: color 0.2s;\n}\n\n.hb-select__clear:hover {\n color: var(--hb-select-text-color);\n}\n\n.hb-select__arrow {\n font-size: 12px;\n transition: transform 0.3s;\n}\n\n.hb-select--open .hb-select__arrow {\n transform: rotate(180deg);\n}\n\n.hb-select__dropdown {\n position: absolute;\n top: 100%;\n left: 0;\n margin-top: 4px;\n background-color: var(--hb-select-bg-color);\n border: 1px solid var(--hb-select-border-color);\n border-radius: 4px;\n box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);\n z-index: 1000;\n min-width: 100%;\n max-height: 300px;\n overflow-y: auto;\n}\n\n.hb-select__menu {\n margin: 0;\n padding: 6px 0;\n list-style: none;\n}\n\n.hb-select__menu-item {\n display: flex;\n align-items: center;\n padding: 8px 20px;\n font-size: var(--hb-select-font-size);\n color: var(--hb-select-text-color);\n cursor: pointer;\n transition: background-color 0.2s;\n}\n\n.hb-select__menu-item:hover:not(.hb-select__menu-item--disabled):not(.hb-select__menu-item--divided) {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-select__menu-item--selected {\n color: var(--hb-color-primary);\n font-weight: 600;\n}\n\n.hb-select__menu-item--disabled {\n color: var(--hb-color-text-disabled, #c0c4cc);\n cursor: not-allowed;\n}\n\n.hb-select__menu-item--divided {\n border-top: 1px solid var(--hb-border-color-lighter, #e4e7ed);\n margin-top: 6px;\n padding-top: 6px;\n}\n\n.hb-select__menu-item--empty {\n color: var(--hb-select-placeholder-color);\n cursor: default;\n}\n\n.hb-select__menu-item-checkbox {\n margin-right: 8px;\n width: 14px;\n text-align: center;\n}\n\n.hb-select__menu-item-label {\n flex: 1;\n}\n\n.hb-select--small {\n font-size: 12px;\n}\n\n.hb-select--small .hb-select__input {\n height: 24px;\n line-height: 24px;\n font-size: 12px;\n padding: 0 25px 0 12px;\n}\n\n.hb-select--large {\n font-size: 16px;\n}\n\n.hb-select--large .hb-select__input {\n height: 40px;\n line-height: 40px;\n font-size: 16px;\n padding: 0 35px 0 18px;\n}\n\n.hb-select--disabled {\n cursor: not-allowed;\n}\n\n.hb-select--disabled .hb-select__input {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n border-color: var(--hb-select-border-color);\n color: var(--hb-color-text-disabled, #c0c4cc);\n cursor: not-allowed;\n}\n\n","import { Component, h, Prop, Event, EventEmitter, State, Element, Watch } from '@stencil/core';\nimport { createClickOutsideHandler } from '../../utils/click-outside';\nimport { handleListKeyboard } from '../../utils/a11y';\n\nexport interface SelectOption {\n value: string | number;\n label: string;\n disabled?: boolean;\n divided?: boolean;\n}\n\n/**\n * Select 选择器组件\n * 当选项过多时,使用下拉菜单展示并选择内容\n */\n@Component({\n tag: 'hb-select',\n styleUrl: 'select.css',\n shadow: true,\n})\nexport class Select {\n @Element() el: HTMLElement;\n\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue?: string | number | (string | number)[];\n\n /**\n * 可选项数据源\n */\n @Prop() options: SelectOption[] = [];\n\n /**\n * 输入框占位文本\n */\n @Prop() placeholder: string = '请选择';\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 输入框尺寸\n */\n @Prop() size: 'large' | 'default' | 'small' = 'default';\n\n /**\n * 是否可清空\n * @default false\n */\n @Prop() clearable: boolean = false;\n\n /**\n * 是否多选\n * @default false\n */\n @Prop() multiple: boolean = false;\n\n /**\n * 是否可搜索\n * @default false\n */\n @Prop() filterable: boolean = false;\n\n /**\n * 自定义过滤方法\n */\n @Prop() filterMethod?: (query: string) => void;\n\n /**\n * 是否默认展开\n * @default false\n */\n @Prop() defaultFirstOption: boolean = false;\n\n /**\n * 是否允许创建新条目\n * @default false\n */\n @Prop() allowCreate: boolean = false;\n\n /**\n * 多选时是否将选中值按文字的形式展示\n * @default false\n */\n @Prop() collapseTags: boolean = false;\n\n /**\n * 多选时最多显示多少个tag\n */\n @Prop() maxCollapseTags?: number;\n\n @State() isOpen: boolean = false;\n @State() inputValue: string = '';\n @State() searchValue: string = '';\n @State() filteredOptions: SelectOption[] = [];\n /** 键盘高亮的选项索引(-1 表示无) */\n @State() activeOptionIndex: number = -1;\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<string | number | (string | number)[]>;\n\n /**\n * 下拉框出现/隐藏时触发\n */\n @Event() hbVisibleChange: EventEmitter<boolean>;\n\n private clickOutside = createClickOutsideHandler({\n host: null as any,\n isOpen: () => this.isOpen,\n onClose: () => { this.isOpen = false; this.hbVisibleChange.emit(false); },\n });\n\n componentDidLoad() {\n this.clickOutside = createClickOutsideHandler({\n host: this.el,\n isOpen: () => this.isOpen,\n onClose: () => { this.isOpen = false; this.hbVisibleChange.emit(false); },\n });\n this.clickOutside.connect();\n this.updateInputValue();\n if (this.filterable) {\n this.filteredOptions = this.options;\n }\n }\n\n disconnectedCallback() {\n this.clickOutside.disconnect();\n }\n\n @Watch('modelValue')\n handleValueChange() {\n this.updateInputValue();\n }\n\n @Watch('options')\n handleOptionsChange() {\n if (this.filterable) {\n this.filteredOptions = this.options;\n }\n }\n\n private updateInputValue() {\n if (!this.modelValue) {\n this.inputValue = '';\n return;\n }\n\n if (this.multiple && Array.isArray(this.modelValue)) {\n const labels = this.modelValue.map(val => {\n const option = this.options.find(opt => opt.value === val);\n return option ? option.label : String(val);\n });\n this.inputValue = labels.join(', ');\n } else {\n const option = this.options.find(opt => opt.value === this.modelValue);\n this.inputValue = option ? option.label : String(this.modelValue);\n }\n }\n\n private handleInputClick = () => {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n if (this.isOpen) this.activeOptionIndex = -1;\n this.hbVisibleChange.emit(this.isOpen);\n };\n\n private handleWrapperKeydown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n const displayOptions = this.filterable ? this.filteredOptions : this.options;\n\n if (!this.isOpen) {\n // 关闭态:Enter / Space / 方向键 展开\n if (e.key === 'Enter' || e.key === ' ' || e.key === 'Spacebar' ||\n e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault();\n this.isOpen = true;\n this.activeOptionIndex = -1;\n this.hbVisibleChange.emit(true);\n }\n return;\n }\n\n const action = handleListKeyboard(e, {\n activeIndex: this.activeOptionIndex,\n itemCount: displayOptions.length,\n loop: true,\n });\n switch (action.type) {\n case 'navigate':\n e.preventDefault();\n this.activeOptionIndex = action.index;\n break;\n case 'select': {\n e.preventDefault();\n const opt = displayOptions[action.index];\n if (opt && !opt.disabled) this.handleSelect(opt);\n break;\n }\n case 'close':\n e.preventDefault();\n this.isOpen = false;\n this.hbVisibleChange.emit(false);\n break;\n default:\n break;\n }\n };\n\n private handleSelect = (option: SelectOption) => {\n if (option.disabled) return;\n\n if (this.multiple) {\n const currentValue = (this.modelValue as (string | number)[]) || [];\n const index = currentValue.indexOf(option.value);\n \n if (index > -1) {\n currentValue.splice(index, 1);\n } else {\n currentValue.push(option.value);\n }\n \n this.modelValue = [...currentValue];\n } else {\n this.modelValue = option.value;\n this.isOpen = false;\n this.hbVisibleChange.emit(false);\n }\n \n this.updateInputValue();\n this.hbChange.emit(this.modelValue);\n };\n\n private handleClear = (e: Event) => {\n e.stopPropagation();\n this.modelValue = this.multiple ? [] : undefined;\n this.inputValue = '';\n this.isOpen = false;\n this.hbChange.emit(this.modelValue);\n this.hbVisibleChange.emit(false);\n };\n\n private handleSearch = (e: Event) => {\n const target = e.target as HTMLInputElement;\n this.searchValue = target.value;\n \n if (this.filterMethod) {\n this.filterMethod(target.value);\n } else {\n this.filteredOptions = this.options.filter(opt =>\n opt.label.toLowerCase().includes(target.value.toLowerCase())\n );\n }\n };\n\n private isSelected(option: SelectOption): boolean {\n if (this.multiple && Array.isArray(this.modelValue)) {\n return this.modelValue.includes(option.value);\n }\n return this.modelValue === option.value;\n }\n\n render() {\n const displayOptions = this.filterable ? this.filteredOptions : this.options;\n const showClear = this.clearable && this.modelValue !== undefined &&\n (this.multiple ? (this.modelValue as any[]).length > 0 : true);\n\n return (\n <div\n class={{\n 'hb-select': true,\n 'hb-select--open': this.isOpen,\n 'hb-select--disabled': this.disabled,\n [`hb-select--${this.size}`]: true,\n }}\n aria-haspopup=\"listbox\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n >\n <div class=\"hb-select__input-wrapper\" onClick={this.handleInputClick} onKeyDown={this.handleWrapperKeydown}>\n {this.multiple && Array.isArray(this.modelValue) && this.modelValue.length > 0 ? (\n <div class=\"hb-select__tags\">\n {this.modelValue.slice(0, this.collapseTags && this.maxCollapseTags ? this.maxCollapseTags : undefined).map((val) => {\n const option = this.options.find(opt => opt.value === val);\n return (\n <span class=\"hb-select__tag\">\n <span class=\"hb-select__tag-text\">{option ? option.label : val}</span>\n <span class=\"hb-select__tag-close\" role=\"button\" aria-label=\"移除标签\" onClick={(e) => {\n e.stopPropagation();\n this.handleSelect(option || { value: val, label: String(val) });\n }}>×</span>\n </span>\n );\n })}\n {this.collapseTags && this.maxCollapseTags && this.modelValue.length > this.maxCollapseTags && (\n <span class=\"hb-select__tag\">\n <span class=\"hb-select__tag-text\">+{this.modelValue.length - this.maxCollapseTags}</span>\n </span>\n )}\n </div>\n ) : (\n <input\n type=\"text\"\n class=\"hb-select__input\"\n placeholder={this.placeholder}\n value={this.filterable && this.isOpen ? this.searchValue : this.inputValue}\n disabled={this.disabled}\n readonly={!this.filterable || !this.isOpen}\n onInput={this.handleSearch}\n aria-haspopup=\"listbox\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n role=\"combobox\"\n />\n )}\n <span class=\"hb-select__suffix\">\n {showClear && (\n <span class=\"hb-select__clear\" role=\"button\" aria-label=\"清空\" onClick={this.handleClear}>\n ×\n </span>\n )}\n <span class=\"hb-select__arrow\">▼</span>\n </span>\n </div>\n {this.isOpen && (\n <div class=\"hb-select__dropdown\">\n <ul class=\"hb-select__menu\" role=\"listbox\">\n {displayOptions.length === 0 ? (\n <li class=\"hb-select__menu-item hb-select__menu-item--empty\" aria-disabled=\"true\">无数据</li>\n ) : (\n displayOptions.map((option, index) => (\n <li\n class={{\n 'hb-select__menu-item': true,\n 'hb-select__menu-item--selected': this.isSelected(option),\n 'hb-select__menu-item--disabled': option.disabled,\n 'hb-select__menu-item--divided': option.divided,\n 'hb-select__menu-item--active': index === this.activeOptionIndex,\n }}\n role=\"option\"\n aria-selected={this.isSelected(option) ? 'true' : 'false'}\n aria-disabled={option.disabled ? 'true' : undefined}\n onClick={() => this.handleSelect(option)}\n >\n {this.multiple && (\n <span class=\"hb-select__menu-item-checkbox\">\n {this.isSelected(option) ? '✓' : ''}\n </span>\n )}\n <span class=\"hb-select__menu-item-label\">{option.label}</span>\n </li>\n ))\n )}\n </ul>\n </div>\n )}\n </div>\n );\n }\n}\n\n"],"mappings":"iIAAA,MAAMA,EAAY,m+SAClB,MAAAC,EAAeD,E,MCmBFE,EAAM,M,qIAMQC,WAKjBC,QAA0B,GAK1BC,YAAsB,MAMtBC,SAAoB,MAKpBC,KAAsC,UAMtCC,UAAqB,MAMrBC,SAAoB,MAMpBC,WAAsB,MAKtBC,aAMAC,mBAA8B,MAM9BC,YAAuB,MAMvBC,aAAwB,MAKxBC,gBAECC,OAAkB,MAClBC,WAAqB,GACrBC,YAAsB,GACtBC,gBAAkC,GAElCC,mBAA6B,EAK7BC,SAKAC,gBAEDC,aAAeC,EAA0B,CAC/CC,KAAM,KACNT,OAAQ,IAAMU,KAAKV,OACnBW,QAAS,KAAQD,KAAKV,OAAS,MAAOU,KAAKJ,gBAAgBM,KAAK,MAAM,IAGxE,gBAAAC,GACEH,KAAKH,aAAeC,EAA0B,CAC5CC,KAAMC,KAAKI,GACXd,OAAQ,IAAMU,KAAKV,OACnBW,QAAS,KAAQD,KAAKV,OAAS,MAAOU,KAAKJ,gBAAgBM,KAAK,MAAM,IAExEF,KAAKH,aAAaQ,UAClBL,KAAKM,mBACL,GAAIN,KAAKhB,WAAY,CACnBgB,KAAKP,gBAAkBO,KAAKtB,O,EAIhC,oBAAA6B,GACEP,KAAKH,aAAaW,Y,CAIpB,iBAAAC,GACET,KAAKM,kB,CAIP,mBAAAI,GACE,GAAIV,KAAKhB,WAAY,CACnBgB,KAAKP,gBAAkBO,KAAKtB,O,EAIxB,gBAAA4B,GACN,IAAKN,KAAKvB,WAAY,CACpBuB,KAAKT,WAAa,GAClB,M,CAGF,GAAIS,KAAKjB,UAAY4B,MAAMC,QAAQZ,KAAKvB,YAAa,CACnD,MAAMoC,EAASb,KAAKvB,WAAWqC,KAAIC,IACjC,MAAMC,EAAShB,KAAKtB,QAAQuC,MAAKC,GAAOA,EAAIC,QAAUJ,IACtD,OAAOC,EAASA,EAAOI,MAAQC,OAAON,EAAI,IAE5Cf,KAAKT,WAAasB,EAAOS,KAAK,K,KACzB,CACL,MAAMN,EAAShB,KAAKtB,QAAQuC,MAAKC,GAAOA,EAAIC,QAAUnB,KAAKvB,aAC3DuB,KAAKT,WAAayB,EAASA,EAAOI,MAAQC,OAAOrB,KAAKvB,W,EAIlD8C,iBAAmB,KACzB,GAAIvB,KAAKpB,SAAU,OACnBoB,KAAKV,QAAUU,KAAKV,OACpB,GAAIU,KAAKV,OAAQU,KAAKN,mBAAqB,EAC3CM,KAAKJ,gBAAgBM,KAAKF,KAAKV,OAAO,EAGhCkC,qBAAwBC,IAC9B,GAAIzB,KAAKpB,SAAU,OACnB,MAAM8C,EAAiB1B,KAAKhB,WAAagB,KAAKP,gBAAkBO,KAAKtB,QAErE,IAAKsB,KAAKV,OAAQ,CAEhB,GAAImC,EAAEE,MAAQ,SAAWF,EAAEE,MAAQ,KAAOF,EAAEE,MAAQ,YAClDF,EAAEE,MAAQ,aAAeF,EAAEE,MAAQ,UAAW,CAC9CF,EAAEG,iBACF5B,KAAKV,OAAS,KACdU,KAAKN,mBAAqB,EAC1BM,KAAKJ,gBAAgBM,KAAK,K,CAE5B,M,CAGF,MAAM2B,EAASC,EAAmBL,EAAG,CACnCM,YAAa/B,KAAKN,kBAClBsC,UAAWN,EAAeO,OAC1BC,KAAM,OAER,OAAQL,EAAOM,MACb,IAAK,WACHV,EAAEG,iBACF5B,KAAKN,kBAAoBmC,EAAOO,MAChC,MACF,IAAK,SAAU,CACbX,EAAEG,iBACF,MAAMV,EAAMQ,EAAeG,EAAOO,OAClC,GAAIlB,IAAQA,EAAItC,SAAUoB,KAAKqC,aAAanB,GAC5C,K,CAEF,IAAK,QACHO,EAAEG,iBACF5B,KAAKV,OAAS,MACdU,KAAKJ,gBAAgBM,KAAK,OAC1B,M,EAMEmC,aAAgBrB,IACtB,GAAIA,EAAOpC,SAAU,OAErB,GAAIoB,KAAKjB,SAAU,CACjB,MAAMuD,EAAgBtC,KAAKvB,YAAsC,GACjE,MAAM2D,EAAQE,EAAaC,QAAQvB,EAAOG,OAE1C,GAAIiB,GAAS,EAAG,CACdE,EAAaE,OAAOJ,EAAO,E,KACtB,CACLE,EAAaG,KAAKzB,EAAOG,M,CAG3BnB,KAAKvB,WAAa,IAAI6D,E,KACjB,CACLtC,KAAKvB,WAAauC,EAAOG,MACzBnB,KAAKV,OAAS,MACdU,KAAKJ,gBAAgBM,KAAK,M,CAG5BF,KAAKM,mBACLN,KAAKL,SAASO,KAAKF,KAAKvB,WAAW,EAG7BiE,YAAejB,IACrBA,EAAEkB,kBACF3C,KAAKvB,WAAauB,KAAKjB,SAAW,GAAK6D,UACvC5C,KAAKT,WAAa,GAClBS,KAAKV,OAAS,MACdU,KAAKL,SAASO,KAAKF,KAAKvB,YACxBuB,KAAKJ,gBAAgBM,KAAK,MAAM,EAG1B2C,aAAgBpB,IACtB,MAAMqB,EAASrB,EAAEqB,OACjB9C,KAAKR,YAAcsD,EAAO3B,MAE1B,GAAInB,KAAKf,aAAc,CACrBe,KAAKf,aAAa6D,EAAO3B,M,KACpB,CACLnB,KAAKP,gBAAkBO,KAAKtB,QAAQqE,QAAO7B,GACzCA,EAAIE,MAAM4B,cAAcC,SAASH,EAAO3B,MAAM6B,gB,GAK5C,UAAAE,CAAWlC,GACjB,GAAIhB,KAAKjB,UAAY4B,MAAMC,QAAQZ,KAAKvB,YAAa,CACnD,OAAOuB,KAAKvB,WAAWwE,SAASjC,EAAOG,M,CAEzC,OAAOnB,KAAKvB,aAAeuC,EAAOG,K,CAGpC,MAAAgC,GACE,MAAMzB,EAAiB1B,KAAKhB,WAAagB,KAAKP,gBAAkBO,KAAKtB,QACrE,MAAM0E,EAAYpD,KAAKlB,WAAakB,KAAKvB,aAAemE,YACrD5C,KAAKjB,SAAYiB,KAAKvB,WAAqBwD,OAAS,EAAI,MAE3D,OACEoB,EAAA,OAAA1B,IAAA,2CACE2B,MAAO,CACL,YAAa,KACb,kBAAmBtD,KAAKV,OACxB,sBAAuBU,KAAKpB,SAC5B,CAAC,cAAcoB,KAAKnB,QAAS,MAC9B,gBACa,UAAS,gBACRmB,KAAKV,OAAS,OAAS,SAEtC+D,EAAA,OAAA1B,IAAA,2CAAK2B,MAAM,2BAA2BC,QAASvD,KAAKuB,iBAAkBiC,UAAWxD,KAAKwB,sBACnFxB,KAAKjB,UAAY4B,MAAMC,QAAQZ,KAAKvB,aAAeuB,KAAKvB,WAAWwD,OAAS,EAC3EoB,EAAA,OAAKC,MAAM,mBACRtD,KAAKvB,WAAWgF,MAAM,EAAGzD,KAAKZ,cAAgBY,KAAKX,gBAAkBW,KAAKX,gBAAkBuD,WAAW9B,KAAKC,IAC3G,MAAMC,EAAShB,KAAKtB,QAAQuC,MAAKC,GAAOA,EAAIC,QAAUJ,IACtD,OACEsC,EAAA,QAAMC,MAAM,kBACVD,EAAA,QAAMC,MAAM,uBAAuBtC,EAASA,EAAOI,MAAQL,GAC3DsC,EAAA,QAAMC,MAAM,uBAAuBI,KAAK,SAAQ,aAAY,OAAOH,QAAU9B,IAC3EA,EAAEkB,kBACF3C,KAAKqC,aAAarB,GAAU,CAAEG,MAAOJ,EAAKK,MAAOC,OAAON,IAAO,GAChE,KACI,IAGVf,KAAKZ,cAAgBY,KAAKX,iBAAmBW,KAAKvB,WAAWwD,OAASjC,KAAKX,iBAC1EgE,EAAA,QAAMC,MAAM,kBACVD,EAAA,QAAMC,MAAM,uBAAqB,IAAGtD,KAAKvB,WAAWwD,OAASjC,KAAKX,mBAKxEgE,EAAA,SACElB,KAAK,OACLmB,MAAM,mBACN3E,YAAaqB,KAAKrB,YAClBwC,MAAOnB,KAAKhB,YAAcgB,KAAKV,OAASU,KAAKR,YAAcQ,KAAKT,WAChEX,SAAUoB,KAAKpB,SACf+E,UAAW3D,KAAKhB,aAAegB,KAAKV,OACpCsE,QAAS5D,KAAK6C,aAAY,gBACZ,UAAS,gBACR7C,KAAKV,OAAS,OAAS,QACtCoE,KAAK,aAGTL,EAAA,QAAA1B,IAAA,2CAAM2B,MAAM,qBACTF,GACCC,EAAA,QAAA1B,IAAA,2CAAM2B,MAAM,mBAAmBI,KAAK,SAAQ,aAAY,KAAKH,QAASvD,KAAK0C,aAAW,KAIxFW,EAAA,QAAA1B,IAAA,2CAAM2B,MAAM,oBAAkB,OAGjCtD,KAAKV,QACJ+D,EAAA,OAAA1B,IAAA,2CAAK2B,MAAM,uBACTD,EAAA,MAAA1B,IAAA,2CAAI2B,MAAM,kBAAkBI,KAAK,WAC9BhC,EAAeO,SAAW,EACzBoB,EAAA,MAAIC,MAAM,mDAAkD,gBAAe,QAAM,OAEjF5B,EAAeZ,KAAI,CAACE,EAAQoB,IAC1BiB,EAAA,MACEC,MAAO,CACL,uBAAwB,KACxB,iCAAkCtD,KAAKkD,WAAWlC,GAClD,iCAAkCA,EAAOpC,SACzC,gCAAiCoC,EAAO6C,QACxC,+BAAgCzB,IAAUpC,KAAKN,mBAEjDgE,KAAK,SAAQ,gBACE1D,KAAKkD,WAAWlC,GAAU,OAAS,QAAO,gBAC1CA,EAAOpC,SAAW,OAASgE,UAC1CW,QAAS,IAAMvD,KAAKqC,aAAarB,IAEhChB,KAAKjB,UACJsE,EAAA,QAAMC,MAAM,iCACTtD,KAAKkD,WAAWlC,GAAU,IAAM,IAGrCqC,EAAA,QAAMC,MAAM,8BAA8BtC,EAAOI,Y","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e}from"./p-e42dfa95.js";const i='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{--hb-container-padding:20px;display:block}.hb-container{box-sizing:border-box;display:flex;flex-flow:wrap;width:100%}.hb-container--vertical{flex-flow:column}::slotted(hb-aside),::slotted(hb-header){padding:var(--hb-container-padding)}::slotted(hb-main){box-sizing:border-box;flex:1;overflow:auto;padding:var(--hb-container-padding)}::slotted(hb-footer){padding:var(--hb-container-padding)}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const o=i;const n=class{constructor(e){t(this,e)}direction="horizontal";render(){return e("section",{key:"8d2029a2363134efb2feb8df16510a5ababe2764",class:{"hb-container":true,"hb-container--vertical":this.direction==="vertical"}},e("slot",{key:"fb2dea608d501e5db4a03657796571fdb30c9128"}))}};n.style=o;export{n as hb_container};
2
+ //# sourceMappingURL=p-58ebb9b3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["containerCss","HbContainerStyle0","Container","direction","render","h","key","class","this"],"sources":["src/components/Container/container.css?tag=hb-container&encapsulation=shadow","src/components/Container/Container.tsx"],"sourcesContent":[":host {\n display: block;\n --hb-container-padding: 20px;\n}\n\n.hb-container {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n box-sizing: border-box;\n width: 100%;\n}\n\n.hb-container--vertical {\n flex-direction: column;\n flex-wrap: nowrap;\n}\n\n/* Header */\n::slotted(hb-header) {\n padding: var(--hb-container-padding);\n}\n\n/* Aside */\n::slotted(hb-aside) {\n padding: var(--hb-container-padding);\n}\n\n/* Main */\n::slotted(hb-main) {\n padding: var(--hb-container-padding);\n flex: 1;\n overflow: auto;\n box-sizing: border-box;\n}\n\n/* Footer */\n::slotted(hb-footer) {\n padding: var(--hb-container-padding);\n}\n\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Container 布局容器组件\n * 用于布局的容器组件,方便快速搭建页面的基本结构\n */\n@Component({\n tag: 'hb-container',\n styleUrl: 'container.css',\n shadow: true,\n})\nexport class Container {\n /**\n * 布局方向,vertical 时子元素为纵向排列\n * @default false\n */\n @Prop() direction: 'horizontal' | 'vertical' = 'horizontal';\n\n render() {\n return (\n <section\n class={{\n 'hb-container': true,\n 'hb-container--vertical': this.direction === 'vertical',\n }}\n >\n <slot></slot>\n </section>\n );\n }\n}\n\n"],"mappings":"2CAAA,MAAMA,EAAe,s8LACrB,MAAAC,EAAeD,E,MCUFE,EAAS,M,yBAKZC,UAAuC,aAE/C,MAAAC,GACE,OACEC,EAAA,WAAAC,IAAA,2CACEC,MAAO,CACL,eAAgB,KAChB,yBAA0BC,KAAKL,YAAc,aAG/CE,EAAA,QAAAC,IAAA,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e}from"./p-e42dfa95.js";const o='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{--hb-switch-width:40px;--hb-switch-active-color:var(--hb-color-primary);--hb-switch-inactive-color:var(--hb-color-text-placeholder,#c0c4cc);display:inline-block}.hb-switch{align-items:center;cursor:pointer;display:inline-flex;font-size:14px;height:20px;line-height:20px;position:relative;vertical-align:middle}.hb-switch__original{height:0;margin:0;opacity:0;position:absolute;width:0}.hb-switch__core{background:var(--hb-switch-inactive-color);border:1px solid var(--hb-switch-inactive-color);border-radius:10px;box-sizing:border-box;cursor:pointer;display:inline-block;height:20px;margin:0;outline:none;position:relative;transition:border-color .3s,background-color .3s;vertical-align:middle;width:var(--hb-switch-width)}.hb-switch__core:after{background-color:var(--hb-color-white,#fff);border-radius:100%;content:"";height:16px;left:1px;position:absolute;top:1px;transition:all .3s;width:16px}.hb-switch--checked .hb-switch__core{background-color:var(--hb-switch-active-color);border-color:var(--hb-switch-active-color)}.hb-switch--checked .hb-switch__core:after{left:100%;margin-left:-17px}.hb-switch__inner{color:var(--hb-color-white,#fff);font-size:12px;left:23px;position:absolute;transition:all .3s}.hb-switch--checked .hb-switch__inner{left:5px}.hb-switch--disabled{cursor:not-allowed;opacity:.6}.hb-switch--disabled .hb-switch__core{cursor:not-allowed}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const a=o;const r=class{constructor(e){t(this,e);this.hbChange=i(this,"hbChange",7)}modelValue=false;disabled=false;activeText;inactiveText;activeColor;inactiveColor;activeValue=true;inactiveValue=false;width;inlinePrompt=false;hbChange;handleChange=t=>{if(this.disabled){t.preventDefault();return}const i=t.target.checked;const e=i?this.activeValue:this.inactiveValue;this.modelValue=i;this.hbChange.emit(e)};render(){const t=this.modelValue===this.activeValue;const i=this.width||(this.activeText||this.inactiveText?60:40);return e("label",{key:"1604fb9d4cee4a550e4d17cfde2804795c975b49",class:{"hb-switch":true,"hb-switch--checked":t,"hb-switch--disabled":this.disabled},style:{"--hb-switch-width":`${i}px`,"--hb-switch-active-color":this.activeColor||"var(--hb-color-primary)","--hb-switch-inactive-color":this.inactiveColor||"var(--hb-color-text-placeholder, #c0c4cc)"}},e("input",{key:"bcf5f240a911b79fe93a06c03d4defc9da535007",type:"checkbox",class:"hb-switch__original",role:"switch","aria-checked":t?"true":"false",checked:t,disabled:this.disabled,onChange:this.handleChange,"aria-label":this.activeText||this.inactiveText||undefined}),e("span",{key:"c021d1bda42d0a888b5620182e9839bdcda2acfd",class:"hb-switch__core"},this.activeText||this.inactiveText?e("span",{class:"hb-switch__inner"},t?this.activeText:this.inactiveText):null))}};r.style=a;export{r as hb_switch};
2
+ //# sourceMappingURL=p-59b2e61c.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["switchCss","HbSwitchStyle0","Switch","modelValue","disabled","activeText","inactiveText","activeColor","inactiveColor","activeValue","inactiveValue","width","inlinePrompt","hbChange","handleChange","e","this","preventDefault","checked","target","value","emit","render","isChecked","h","key","class","style","type","role","onChange","undefined"],"sources":["src/components/Switch/switch.css?tag=hb-switch&encapsulation=shadow","src/components/Switch/Switch.tsx"],"sourcesContent":[":host {\n display: inline-block;\n --hb-switch-width: 40px;\n --hb-switch-active-color: var(--hb-color-primary);\n --hb-switch-inactive-color: var(--hb-color-text-placeholder, #c0c4cc);\n}\n\n.hb-switch {\n display: inline-flex;\n align-items: center;\n position: relative;\n font-size: 14px;\n line-height: 20px;\n height: 20px;\n vertical-align: middle;\n cursor: pointer;\n}\n\n.hb-switch__original {\n opacity: 0;\n width: 0;\n height: 0;\n margin: 0;\n position: absolute;\n}\n\n.hb-switch__core {\n margin: 0;\n display: inline-block;\n position: relative;\n width: var(--hb-switch-width);\n height: 20px;\n border: 1px solid var(--hb-switch-inactive-color);\n outline: none;\n border-radius: 10px;\n box-sizing: border-box;\n background: var(--hb-switch-inactive-color);\n cursor: pointer;\n transition: border-color 0.3s, background-color 0.3s;\n vertical-align: middle;\n}\n\n.hb-switch__core::after {\n content: '';\n position: absolute;\n top: 1px;\n left: 1px;\n border-radius: 100%;\n transition: all 0.3s;\n width: 16px;\n height: 16px;\n background-color: var(--hb-color-white, #ffffff);\n}\n\n.hb-switch--checked .hb-switch__core {\n border-color: var(--hb-switch-active-color);\n background-color: var(--hb-switch-active-color);\n}\n\n.hb-switch--checked .hb-switch__core::after {\n left: 100%;\n margin-left: -17px;\n}\n\n.hb-switch__inner {\n position: absolute;\n left: 23px;\n font-size: 12px;\n color: var(--hb-color-white, #ffffff);\n transition: all 0.3s;\n}\n\n.hb-switch--checked .hb-switch__inner {\n left: 5px;\n}\n\n.hb-switch--disabled {\n cursor: not-allowed;\n opacity: 0.6;\n}\n\n.hb-switch--disabled .hb-switch__core {\n cursor: not-allowed;\n}\n\n","import { Component, h, Prop, Event, EventEmitter } from '@stencil/core';\n\n/**\n * Switch 开关组件\n * 表示两种相互对立的状态间的切换,多用于触发「开/关」\n */\n@Component({\n tag: 'hb-switch',\n styleUrl: 'switch.css',\n shadow: true,\n})\nexport class Switch {\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue: boolean = false;\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 是否显示文字描述\n * @default false\n */\n @Prop() activeText?: string;\n\n /**\n * 关闭时的文字描述\n */\n @Prop() inactiveText?: string;\n\n /**\n * 打开时的背景色\n */\n @Prop() activeColor?: string;\n\n /**\n * 关闭时的背景色\n */\n @Prop() inactiveColor?: string;\n\n /**\n * 打开时的值\n * @default true\n */\n @Prop() activeValue: boolean | string | number = true;\n\n /**\n * 关闭时的值\n * @default false\n */\n @Prop() inactiveValue: boolean | string | number = false;\n\n /**\n * 宽度\n */\n @Prop() width?: number;\n\n /**\n * 是否内联提示\n * @default false\n */\n @Prop() inlinePrompt: boolean = false;\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<boolean | string | number>;\n\n private handleChange = (e: Event) => {\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n\n const checked = (e.target as HTMLInputElement).checked;\n const value = checked ? this.activeValue : this.inactiveValue;\n \n this.modelValue = checked;\n this.hbChange.emit(value);\n };\n\n render() {\n const isChecked = this.modelValue === this.activeValue;\n const width = this.width || (this.activeText || this.inactiveText ? 60 : 40);\n\n return (\n <label\n class={{\n 'hb-switch': true,\n 'hb-switch--checked': isChecked,\n 'hb-switch--disabled': this.disabled,\n }}\n style={{\n '--hb-switch-width': `${width}px`,\n '--hb-switch-active-color': this.activeColor || 'var(--hb-color-primary)',\n '--hb-switch-inactive-color': this.inactiveColor || 'var(--hb-color-text-placeholder, #c0c4cc)',\n }}\n >\n <input\n type=\"checkbox\"\n class=\"hb-switch__original\"\n role=\"switch\"\n aria-checked={isChecked ? 'true' : 'false'}\n checked={isChecked}\n disabled={this.disabled}\n onChange={this.handleChange}\n aria-label={this.activeText || this.inactiveText || undefined}\n />\n <span class=\"hb-switch__core\">\n {this.activeText || this.inactiveText ? (\n <span class=\"hb-switch__inner\">\n {isChecked ? this.activeText : this.inactiveText}\n </span>\n ) : null}\n </span>\n </label>\n );\n }\n}\n\n"],"mappings":"kDAAA,MAAMA,EAAY,m5NAClB,MAAAC,EAAeD,E,MCUFE,EAAM,M,4DAIQC,WAAsB,MAMvCC,SAAoB,MAMpBC,WAKAC,aAKAC,YAKAC,cAMAC,YAAyC,KAMzCC,cAA2C,MAK3CC,MAMAC,aAAwB,MAKvBC,SAEDC,aAAgBC,IACtB,GAAIC,KAAKZ,SAAU,CACjBW,EAAEE,iBACF,M,CAGF,MAAMC,EAAWH,EAAEI,OAA4BD,QAC/C,MAAME,EAAQF,EAAUF,KAAKP,YAAcO,KAAKN,cAEhDM,KAAKb,WAAae,EAClBF,KAAKH,SAASQ,KAAKD,EAAM,EAG3B,MAAAE,GACE,MAAMC,EAAYP,KAAKb,aAAea,KAAKP,YAC3C,MAAME,EAAQK,KAAKL,QAAUK,KAAKX,YAAcW,KAAKV,aAAe,GAAK,IAEzE,OACEkB,EAAA,SAAAC,IAAA,2CACEC,MAAO,CACL,YAAa,KACb,qBAAsBH,EACtB,sBAAuBP,KAAKZ,UAE9BuB,MAAO,CACL,oBAAqB,GAAGhB,MACxB,2BAA4BK,KAAKT,aAAe,0BAChD,6BAA8BS,KAAKR,eAAiB,8CAGtDgB,EAAA,SAAAC,IAAA,2CACEG,KAAK,WACLF,MAAM,sBACNG,KAAK,SAAQ,eACCN,EAAY,OAAS,QACnCL,QAASK,EACTnB,SAAUY,KAAKZ,SACf0B,SAAUd,KAAKF,aAAY,aACfE,KAAKX,YAAcW,KAAKV,cAAgByB,YAEtDP,EAAA,QAAAC,IAAA,2CAAMC,MAAM,mBACTV,KAAKX,YAAcW,KAAKV,aACvBkB,EAAA,QAAME,MAAM,oBACTH,EAAYP,KAAKX,WAAaW,KAAKV,cAEpC,M","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as o}from"./p-e42dfa95.js";const n='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.hidden{display:none}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{cursor:pointer;display:flex;position:fixed;transition:opacity var(--hb-transition-duration)var(--hb-transition-function),visibility var(--hb-transition-duration)var(--hb-transition-function);z-index:var(--hb-z-index-fixed)}.hb-backtop__inner{align-items:center;background:var(--hb-color-bg-container);border-radius:var(--hb-border-radius-round);box-shadow:var(--hb-box-shadow);color:var(--hb-color-text);display:inline-flex;font-size:var(--hb-font-size-xl);height:40px;justify-content:center;line-height:1;transition:background var(--hb-transition-duration)var(--hb-transition-function),color var(--hb-transition-duration)var(--hb-transition-function);width:40px}.hb-backtop__inner:hover{background:var(--hb-color-fill-secondary);color:var(--hb-color-primary)}.hb-backtop__icon{font-size:inherit}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const a=n;const r=class{constructor(e){t(this,e);this.hbClick=i(this,"hbClick",7)}visibilityHeight=400;target;right=40;bottom=40;visible=false;hbClick;scrollTarget=null;componentDidLoad(){this.setupScrollTarget();this.handleScroll()}disconnectedCallback(){this.teardownScrollTarget()}setupScrollTarget(){if(this.target){const t=document.querySelector(this.target);if(t){this.scrollTarget=t}}if(!this.scrollTarget){this.scrollTarget=window}this.scrollTarget.addEventListener("scroll",this.handleScroll)}teardownScrollTarget(){if(this.scrollTarget){this.scrollTarget.removeEventListener("scroll",this.handleScroll);this.scrollTarget=null}}getScrollTop(){if(!this.scrollTarget)return 0;if(this.scrollTarget===window){return window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0}return this.scrollTarget.scrollTop}handleScroll=()=>{this.visible=this.getScrollTop()>=this.visibilityHeight};scrollToTop=()=>{const t=this.scrollTarget===window?window:this.scrollTarget;if(t===window){window.scrollTo({top:0,behavior:"smooth"})}else{t.scrollTo({top:0,behavior:"smooth"})}this.hbClick.emit()};async backToTop(){this.scrollToTop()}onWindowScroll(){if(!this.target){this.handleScroll()}}render(){return e(o,{key:"c750c1d56599bb335bb31158b57dfdb332be6750",class:{"hb-backtop":true,"hb-backtop--hidden":!this.visible},style:{right:`${this.right}px`,bottom:`${this.bottom}px`,visibility:this.visible?"visible":"hidden",opacity:this.visible?"1":"0"}},e("div",{key:"4f1311e4de4496fbe8d2558ace0397663ec04fac",class:"hb-backtop__inner",onClick:this.scrollToTop},e("slot",{key:"1d14aa66b400ba226aadacfb0c2a92d6a4ad935a"},e("span",{key:"3b7f4d60d78dcfd458a9e6af63ad94d7061cf147",class:"hb-backtop__icon"},"↑"))))}};r.style=a;export{r as hb_backtop};
2
+ //# sourceMappingURL=p-5df47135.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["backtopCss","HbBacktopStyle0","Backtop","visibilityHeight","target","right","bottom","visible","hbClick","scrollTarget","componentDidLoad","this","setupScrollTarget","handleScroll","disconnectedCallback","teardownScrollTarget","el","document","querySelector","window","addEventListener","removeEventListener","getScrollTop","pageYOffset","documentElement","scrollTop","body","scrollToTop","scrollTo","top","behavior","emit","backToTop","onWindowScroll","render","h","Host","key","class","style","visibility","opacity","onClick"],"sources":["src/components/Backtop/backtop.css?tag=hb-backtop&encapsulation=shadow","src/components/Backtop/Backtop.tsx"],"sourcesContent":[":host {\n position: fixed;\n display: flex;\n z-index: var(--hb-z-index-fixed);\n transition:\n opacity var(--hb-transition-duration) var(--hb-transition-function),\n visibility var(--hb-transition-duration) var(--hb-transition-function);\n cursor: pointer;\n}\n\n.hb-backtop__inner {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 40px;\n height: 40px;\n border-radius: var(--hb-border-radius-round);\n background: var(--hb-color-bg-container);\n color: var(--hb-color-text);\n font-size: var(--hb-font-size-xl);\n line-height: 1;\n box-shadow: var(--hb-box-shadow);\n transition:\n background var(--hb-transition-duration) var(--hb-transition-function),\n color var(--hb-transition-duration) var(--hb-transition-function);\n}\n\n.hb-backtop__inner:hover {\n background: var(--hb-color-fill-secondary);\n color: var(--hb-color-primary);\n}\n\n.hb-backtop__icon { font-size: inherit; }\n","import { Component, h, Prop, Event, EventEmitter, State, Method, Listen, Host } from '@stencil/core';\n\n/**\n * Backtop 返回顶部组件\n * 滚动超过指定高度时出现,点击后平滑滚动回顶部\n */\n@Component({\n tag: 'hb-backtop',\n styleUrl: 'backtop.css',\n shadow: true,\n})\nexport class Backtop {\n /** 滚动高度达到此参数值才出现 */\n @Prop() visibilityHeight: number = 400;\n\n /** 可选滚动目标元素选择器(默认监听 window 滚动) */\n @Prop() target?: string;\n\n /** 距离页面右侧的距离 */\n @Prop() right: number = 40;\n\n /** 距离页面底部的距离 */\n @Prop() bottom: number = 40;\n\n /** 是否可见 */\n @State() visible: boolean = false;\n\n /** 点击按钮时触发的事件 */\n @Event() hbClick: EventEmitter<void>;\n\n private scrollTarget: HTMLElement | Window | null = null;\n\n componentDidLoad() {\n this.setupScrollTarget();\n this.handleScroll();\n }\n\n disconnectedCallback() {\n this.teardownScrollTarget();\n }\n\n private setupScrollTarget() {\n if (this.target) {\n const el = document.querySelector(this.target);\n if (el) {\n this.scrollTarget = el as HTMLElement;\n }\n }\n if (!this.scrollTarget) {\n this.scrollTarget = window;\n }\n this.scrollTarget.addEventListener('scroll', this.handleScroll);\n }\n\n private teardownScrollTarget() {\n if (this.scrollTarget) {\n this.scrollTarget.removeEventListener('scroll', this.handleScroll);\n this.scrollTarget = null;\n }\n }\n\n private getScrollTop(): number {\n if (!this.scrollTarget) return 0;\n if (this.scrollTarget === window) {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n }\n return (this.scrollTarget as HTMLElement).scrollTop;\n }\n\n private handleScroll = () => {\n this.visible = this.getScrollTop() >= this.visibilityHeight;\n };\n\n private scrollToTop = () => {\n const target = this.scrollTarget === window ? window : (this.scrollTarget as HTMLElement);\n // 平滑滚动:window 用 scrollTo,容器元素用 scrollTo({ top })\n if (target === window) {\n window.scrollTo({ top: 0, behavior: 'smooth' });\n } else {\n (target as HTMLElement).scrollTo({ top: 0, behavior: 'smooth' });\n }\n this.hbClick.emit();\n };\n\n /**\n * 主动触发返回顶部(暴露给外部调用)\n */\n @Method()\n async backToTop() {\n this.scrollToTop();\n }\n\n // 同时监听宿主上的 scroll 事件(便于测试与跨边界触发)\n @Listen('scroll', { target: 'window' })\n onWindowScroll() {\n if (!this.target) {\n this.handleScroll();\n }\n }\n\n render() {\n return (\n <Host\n class={{ 'hb-backtop': true, 'hb-backtop--hidden': !this.visible }}\n style={{\n right: `${this.right}px`,\n bottom: `${this.bottom}px`,\n visibility: this.visible ? 'visible' : 'hidden',\n opacity: this.visible ? '1' : '0',\n }}\n >\n <div class=\"hb-backtop__inner\" onClick={this.scrollToTop}>\n <slot>\n <span class=\"hb-backtop__icon\">↑</span>\n </slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAa,64MACnB,MAAAC,EAAeD,E,MCUFE,EAAO,M,0DAEVC,iBAA2B,IAG3BC,OAGAC,MAAgB,GAGhBC,OAAiB,GAGhBC,QAAmB,MAGnBC,QAEDC,aAA4C,KAEpD,gBAAAC,GACEC,KAAKC,oBACLD,KAAKE,c,CAGP,oBAAAC,GACEH,KAAKI,sB,CAGC,iBAAAH,GACN,GAAID,KAAKP,OAAQ,CACf,MAAMY,EAAKC,SAASC,cAAcP,KAAKP,QACvC,GAAIY,EAAI,CACNL,KAAKF,aAAeO,C,EAGxB,IAAKL,KAAKF,aAAc,CACtBE,KAAKF,aAAeU,M,CAEtBR,KAAKF,aAAaW,iBAAiB,SAAUT,KAAKE,a,CAG5C,oBAAAE,GACN,GAAIJ,KAAKF,aAAc,CACrBE,KAAKF,aAAaY,oBAAoB,SAAUV,KAAKE,cACrDF,KAAKF,aAAe,I,EAIhB,YAAAa,GACN,IAAKX,KAAKF,aAAc,OAAO,EAC/B,GAAIE,KAAKF,eAAiBU,OAAQ,CAChC,OAAOA,OAAOI,aAAeN,SAASO,gBAAgBC,WAAaR,SAASS,KAAKD,WAAa,C,CAEhG,OAAQd,KAAKF,aAA6BgB,S,CAGpCZ,aAAe,KACrBF,KAAKJ,QAAUI,KAAKW,gBAAkBX,KAAKR,gBAAgB,EAGrDwB,YAAc,KACpB,MAAMvB,EAASO,KAAKF,eAAiBU,OAASA,OAAUR,KAAKF,aAE7D,GAAIL,IAAWe,OAAQ,CACrBA,OAAOS,SAAS,CAAEC,IAAK,EAAGC,SAAU,U,KAC/B,CACJ1B,EAAuBwB,SAAS,CAAEC,IAAK,EAAGC,SAAU,U,CAEvDnB,KAAKH,QAAQuB,MAAM,EAOrB,eAAMC,GACJrB,KAAKgB,a,CAKP,cAAAM,GACE,IAAKtB,KAAKP,OAAQ,CAChBO,KAAKE,c,EAIT,MAAAqB,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CAAE,aAAc,KAAM,sBAAuB3B,KAAKJ,SACzDgC,MAAO,CACLlC,MAAO,GAAGM,KAAKN,UACfC,OAAQ,GAAGK,KAAKL,WAChBkC,WAAY7B,KAAKJ,QAAU,UAAY,SACvCkC,QAAS9B,KAAKJ,QAAU,IAAM,MAGhC4B,EAAA,OAAAE,IAAA,2CAAKC,MAAM,oBAAoBI,QAAS/B,KAAKgB,aAC3CQ,EAAA,QAAAE,IAAA,4CACEF,EAAA,QAAAE,IAAA,2CAAMC,MAAM,oBAAkB,O","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i}from"./p-e42dfa95.js";const a='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.inline-block{display:inline-block}.border{border-style:var(--tw-border-style);border-width:1px}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:block}.hb-table{background-color:var(--hb-color-bg);border-radius:var(--hb-border-radius-base);overflow:hidden;position:relative}.hb-table--border{border:1px solid var(--hb-color-border-secondary)}.hb-table--border .hb-table__table th,.hb-table--border .hb-table__td{border-right:1px solid var(--hb-color-border-secondary)}.hb-table__wrapper{overflow-x:auto}.hb-table__table{border-collapse:collapse;border-spacing:0;table-layout:auto;width:100%}.hb-table__table th{background-color:var(--hb-table-header-bg);border-bottom:1px solid var(--hb-color-border-secondary);color:var(--hb-table-header-color);font-size:var(--hb-font-size-sm);font-weight:600;padding:10px 12px;text-align:left;-webkit-user-select:none;user-select:none;white-space:nowrap}.hb-table__th-content{align-items:center;display:inline-flex;gap:4px}.hb-table__th--sortable{cursor:pointer}.hb-table__th--sortable:hover{background-color:var(--hb-color-fill-tertiary)}.hb-table__sort{display:inline-flex;flex-direction:column;font-size:10px;gap:1px;line-height:1}.hb-table__sort-icon{color:var(--hb-color-text-quaternary);transition:color var(--hb-transition-duration)}.hb-table__sort-icon--active{color:var(--hb-color-primary)}.hb-table__td{border-bottom:1px solid var(--hb-table-border-color);color:var(--hb-color-text);font-size:var(--hb-font-size-sm);padding:10px 12px;transition:background-color var(--hb-transition-duration)}.hb-table__row:hover .hb-table__td{background-color:var(--hb-table-row-hover-bg)}.hb-table__row--striped .hb-table__td{background-color:var(--hb-table-stripe-bg)}.hb-table__row--current .hb-table__td{background-color:var(--hb-color-primary-bg)}.hb-table__empty{color:var(--hb-color-text-secondary);padding:var(--hb-spacing-xl)0;text-align:center}.hb-table__loading{align-items:center;background-color:#ffffffb3;display:flex;inset:0;justify-content:center;position:absolute;z-index:1}.hb-table__loading-spinner{animation:hb-spin .8s linear infinite;border:3px solid var(--hb-color-border-secondary);border-radius:50%;border-top-color:var(--hb-color-primary);height:32px;width:32px}.hb-table--small .hb-table__table th,.hb-table--small .hb-table__td{font-size:var(--hb-font-size-xs);padding:6px 8px}.hb-table--large .hb-table__table th,.hb-table--large .hb-table__td{font-size:var(--hb-font-size-base);padding:14px 16px}.hb-table__selection{min-width:48px;text-align:center;white-space:nowrap;width:48px}.hb-table__checkbox{accent-color:var(--hb-color-primary);cursor:pointer;height:16px;vertical-align:middle;width:16px}.hb-table__selection .hb-table__checkbox{margin:0}.hb-table__row--selected .hb-table__td{background-color:var(--hb-color-primary-bg)}.hb-table__cell--fixed-left,.hb-table__cell--fixed-right{background-color:var(--hb-color-bg);position:sticky;z-index:2}.hb-table__table th.hb-table__cell--fixed-left,.hb-table__table th.hb-table__cell--fixed-right{background-color:var(--hb-table-header-bg)}.hb-table__cell--fixed-right{box-shadow:-4px 0 8px #0000000f}.hb-table__cell--fixed-left:not(.hb-table__cell--fixed-right){box-shadow:4px 0 8px #0000000f}.hb-table__row--selected .hb-table__cell--fixed-left,.hb-table__row--selected .hb-table__cell--fixed-right{background-color:var(--hb-color-primary-bg)}.hb-table__row:hover .hb-table__cell--fixed-left,.hb-table__row:hover .hb-table__cell--fixed-right{background-color:var(--hb-table-row-hover-bg)}@keyframes hb-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.hb-table__action{background:0 0;border:none;color:var(--hb-color-primary,#1677ff);cursor:pointer;font-size:var(--hb-font-size-sm,14px);line-height:1.5;padding:0;transition:opacity var(--hb-transition-duration,.2s)}.hb-table__action:hover{opacity:.8}.hb-table__action:disabled{color:var(--hb-color-text-disabled,#c0c4cc);cursor:not-allowed}.hb-table__action--danger{color:var(--hb-color-danger,#f5222d)}.hb-table__action--danger:disabled{color:var(--hb-color-text-disabled,#c0c4cc)}.hb-table__action+.hb-table__action{margin-left:var(--hb-spacing-sm,12px)}.hb-table--virtual{overflow:hidden}.hb-table__virtual-wrapper{display:flex;flex-direction:column}.hb-table__virtual-viewport{overflow:auto;position:relative}.hb-table__virtual-spacer{position:relative;width:100%}.hb-table__table--virtual{table-layout:fixed;width:100%}.hb-table__table--virtual tbody{position:relative}.hb-table__expand{align-items:center;background:0 0;border:none;color:var(--hb-color-text-secondary,#595959);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:10px;height:16px;justify-content:center;line-height:1;margin-right:4px;padding:0;transition:color var(--hb-transition-duration,.2s);vertical-align:middle;width:16px}.hb-table__expand:hover{color:var(--hb-color-primary,#1677ff)}.hb-table__row--tree .hb-table__td{white-space:nowrap}.hb-table__cell--editable{cursor:text}.hb-table__cell--editable:hover{background-color:var(--hb-color-fill-tertiary,#f5f5f5)}.hb-table__edit-input{background-color:var(--hb-color-bg,#fff);border:1px solid var(--hb-color-primary,#1677ff);border-radius:var(--hb-border-radius-base,4px);box-sizing:border-box;color:var(--hb-color-text,#262626);font-size:var(--hb-font-size-sm,14px);min-width:60px;outline:none;padding:2px 6px;width:100%}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}';const r=a;const o=class{constructor(i){t(this,i);this.hbSortChange=e(this,"hbSortChange",7);this.hbRowClick=e(this,"hbRowClick",7);this.hbSelectionChange=e(this,"hbSelectionChange",7);this.hbAction=e(this,"hbAction",7);this.hbExpandChange=e(this,"hbExpandChange",7);this.hbCellChange=e(this,"hbCellChange",7)}data=[];columns=[];stripe=false;border=false;size="default";loading=false;rowKey="";emptyText="暂无数据";maxHeight;highlightCurrentRow=false;selectable=false;actions=[];virtualScroll=false;itemHeight=48;virtualScrollHeight=400;treeProps;editable=false;sortProp="";sortDirection=null;currentRow=-1;selectedRows=new Set;scrollTop=0;expandedRowKeys=[];editingCell=null;hbSortChange;hbRowClick;hbSelectionChange;hbAction;hbExpandChange;hbCellChange;handleDataChange(){this.selectedRows=new Set;this.emitSelection()}get isTreeMode(){return!!this.treeProps}get childrenField(){return this.treeProps&&this.treeProps.children||"children"}flattenTree(t,e=0,i=""){const a=this.childrenField;const r=[];t.forEach(((t,o)=>{const l=i?`${i}.${o}`:`${o}`;const s=this.rowKey?t[this.rowKey]:l;const n=t[a];const h=Array.isArray(n)&&n.length>0;r.push({row:t,level:e,key:s,hasChildren:h,index:o});if(h&&this.expandedRowKeys.indexOf(s)!==-1){r.push(...this.flattenTree(n,e+1,l))}}));return r}toggleExpand=(t,e)=>{const i=this.expandedRowKeys.indexOf(e);const a=i===-1;this.expandedRowKeys=a?[...this.expandedRowKeys,e]:this.expandedRowKeys.filter((t=>t!==e));this.hbExpandChange.emit({expanded:a,row:t})};startEdit=(t,e,i)=>{t.stopPropagation();if(!this.editable)return;this.editingCell={rowKey:e,prop:i}};commitEdit=(t,e,i)=>{const a=t.target;const r=a.value;e[i]=r;this.editingCell=null;this.hbCellChange.emit({row:e,prop:i,value:r})};onEditKeydown=(t,e,i)=>{if(t.key==="Enter"){t.preventDefault();this.commitEdit(t,e,i)}else if(t.key==="Escape"){t.preventDefault();this.editingCell=null}};allCheckboxRef;componentDidRender(){if(this.allCheckboxRef){this.allCheckboxRef.indeterminate=this.isIndeterminate}}virtualBuffer=5;handleVirtualScroll=t=>{const e=t.target;this.scrollTop=e.scrollTop};get visibleRange(){const t=this.data.length;if(t===0)return{startIndex:0,endIndex:0};const e=this.itemHeight>0?this.itemHeight:1;const i=this.virtualScrollHeight;let a=Math.floor(this.scrollTop/e)-this.virtualBuffer;if(a<0)a=0;let r=Math.ceil((this.scrollTop+i)/e)+this.virtualBuffer;if(r>t)r=t;return{startIndex:a,endIndex:r}}get virtualTotalHeight(){return this.data.length*(this.itemHeight>0?this.itemHeight:1)}handleSort=t=>{if(this.sortProp===t){this.sortDirection=this.sortDirection==="ascending"?"descending":this.sortDirection==="descending"?null:"ascending"}else{this.sortProp=t;this.sortDirection="ascending"}this.hbSortChange.emit({prop:t,order:this.sortDirection})};get sortedData(){if(!this.sortProp||!this.sortDirection)return this.data;const t=this.sortDirection==="ascending"?1:-1;return[...this.data].sort(((e,i)=>{const a=e[this.sortProp];const r=i[this.sortProp];if(a<r)return-1*t;if(a>r)return 1*t;return 0}))}get isAllSelected(){return this.data.length>0&&this.selectedRows.size===this.data.length}get isIndeterminate(){return this.selectedRows.size>0&&this.selectedRows.size<this.data.length}toggleRow=(t,e)=>{e.stopPropagation();const i=new Set(this.selectedRows);if(i.has(t)){i.delete(t)}else{i.add(t)}this.selectedRows=i;this.emitSelection()};toggleAll=()=>{if(this.isAllSelected){this.selectedRows=new Set}else{this.selectedRows=new Set(this.data.map(((t,e)=>e)))}this.emitSelection()};emitSelection(){const t=Array.from(this.selectedRows).sort(((t,e)=>t-e)).map((t=>this.data[t])).filter(Boolean);this.hbSelectionChange.emit(t)}handleRowClick=(t,e)=>{this.currentRow=e;this.hbRowClick.emit({row:t,index:e})};handleAction=(t,e,i)=>{this.hbAction.emit({row:t,index:e,action:i})};get hasActions(){return!!this.actions&&this.actions.length>0}get fixedOffsets(){const t={};let e="0px";for(const i of this.columns){const a=i.fixed===true?"left":i.fixed;if(a==="left"){t[i.prop]={side:"left",left:e};e=`calc(${e} + ${i.width||"0px"})`}}let i="0px";for(let e=this.columns.length-1;e>=0;e--){const a=this.columns[e];if(a.fixed==="right"){t[a.prop]={side:"right",right:i};i=`calc(${i} + ${a.width||"0px"})`}}return t}cellStyle(t,e){const i=this.fixedOffsets[t];const a={...e||{}};if(i?.side==="left"){a.position="sticky";a.left=i.left;a.zIndex="2"}else if(i?.side==="right"){a.position="sticky";a.right=i.right;a.zIndex="2"}return a}renderRow(t,e,a){const r=!!a;const o=a?a.level:0;const l=a?a.key:this.rowKey?t[this.rowKey]:e;const s=o*16;const n=t=>!!this.editingCell&&this.editingCell.rowKey===l&&this.editingCell.prop===t;return i("tr",{key:l,class:{"hb-table__row":true,"hb-table__row--striped":this.stripe&&e%2===1,"hb-table__row--current":this.highlightCurrentRow&&e===this.currentRow,"hb-table__row--selected":this.selectedRows.has(e),"hb-table__row--tree":r},onClick:()=>this.handleRowClick(t,e)},this.selectable&&i("td",{class:"hb-table__selection",onClick:t=>t.stopPropagation()},i("input",{type:"checkbox",class:"hb-table__checkbox",checked:this.selectedRows.has(e),onChange:t=>this.toggleRow(e,t)})),this.columns.map(((o,h)=>{const b=this.fixedOffsets[o.prop];const d=h===0;const c=r&&d&&a.hasChildren;const p=c&&this.expandedRowKeys.indexOf(l)!==-1;const f=this.editable&&!!o.editable&&n(o.prop);const g=this.editable&&!!o.editable;return i("td",{key:o.prop,style:this.cellStyle(o.prop,{textAlign:o.align||"left"}),class:{"hb-table__td":true,"hb-table__cell--fixed-left":b?.side==="left","hb-table__cell--fixed-right":b?.side==="right","hb-table__cell--editable":g},onClick:g?t=>this.startEdit(t,l,o.prop):undefined},r&&d&&i("span",{class:"hb-table__indent",style:{display:"inline-block",width:`${s}px`},"aria-hidden":"true"}),c&&i("button",{type:"button",class:{"hb-table__expand":true,"hb-table__expand--expanded":p},"aria-label":p?"收起":"展开",onClick:e=>{e.stopPropagation();this.toggleExpand(t,l)}},p?"▼":"▶"),c===false&&r&&d&&i("span",{class:"hb-table__expand-placeholder",style:{display:"inline-block",width:"16px"},"aria-hidden":"true"}),f?i("input",{class:"hb-table__edit-input",type:"text",value:t[o.prop]??"",onBlur:e=>this.commitEdit(e,t,o.prop),onKeyDown:e=>this.onEditKeydown(e,t,o.prop)}):i("slot",{name:`cell-${o.prop}`},o.formatter?o.formatter(t,e):t[o.prop]??""))})),this.hasActions&&i("td",{class:"hb-table__td--actions",style:{textAlign:"right",whiteSpace:"nowrap"},onClick:t=>t.stopPropagation()},this.actions.map((a=>i("button",{type:"button",class:{"hb-table__action":true,"hb-table__action--primary":a.type==="primary","hb-table__action--danger":a.type==="danger"},disabled:a.disabled?a.disabled(t,e):false,onClick:()=>this.handleAction(t,e,a.key)},a.label)))))}renderHeader(){return i("thead",null,i("tr",null,this.selectable&&i("th",{class:"hb-table__selection"},i("input",{type:"checkbox",class:"hb-table__checkbox",checked:this.isAllSelected,ref:t=>{this.allCheckboxRef=t},onChange:this.toggleAll})),this.columns.map((t=>{const e=this.fixedOffsets[t.prop];return i("th",{key:t.prop,style:this.cellStyle(t.prop,{width:t.width,minWidth:t.minWidth,textAlign:t.align||"left"}),class:{"hb-table__th--sortable":t.sortable,"hb-table__cell--fixed-left":e?.side==="left","hb-table__cell--fixed-right":e?.side==="right"},onClick:t.sortable?()=>this.handleSort(t.prop):undefined},i("div",{class:"hb-table__th-content"},i("span",null,t.label),t.sortable&&i("span",{class:"hb-table__sort"},i("span",{class:{"hb-table__sort-icon":true,"hb-table__sort-icon--active":this.sortProp===t.prop&&this.sortDirection==="ascending"}},"▲"),i("span",{class:{"hb-table__sort-icon":true,"hb-table__sort-icon--active":this.sortProp===t.prop&&this.sortDirection==="descending"}},"▼"))))})),this.hasActions&&i("th",{class:"hb-table__th--actions",style:{textAlign:"right",whiteSpace:"nowrap"}},"操作")))}render(){const t=this.sortedData;const e=t.length===0;const a=this.isTreeMode?this.flattenTree(t):[];const r=()=>{const{startIndex:a,endIndex:r}=this.visibleRange;const o=a*(this.itemHeight>0?this.itemHeight:1);return i("div",{class:"hb-table__virtual-viewport",style:{height:`${this.virtualScrollHeight}px`,overflowY:"auto"},onScroll:this.handleVirtualScroll},i("div",{class:"hb-table__virtual-spacer",style:{height:`${this.virtualTotalHeight}px`,position:"relative"}},i("table",{class:"hb-table__table hb-table__table--virtual"},i("tbody",null,e?i("tr",null,i("td",{colSpan:this.columns.length+(this.selectable?1:0)+(this.hasActions?1:0),class:"hb-table__empty"},this.emptyText)):i("tr",{style:{height:`${o}px`},"aria-hidden":"true"}),t.slice(a,r).map(((t,e)=>this.renderRow(t,a+e)))))))};const o=()=>i("tbody",null,e?i("tr",null,i("td",{colSpan:this.columns.length+(this.selectable?1:0)+(this.hasActions?1:0),class:"hb-table__empty"},this.emptyText)):this.isTreeMode?a.map(((t,e)=>this.renderRow(t.row,e,t))):t.map(((t,e)=>this.renderRow(t,e))));return i("div",{class:{"hb-table":true,[`hb-table--${this.size}`]:true,"hb-table--border":this.border,"hb-table--virtual":this.virtualScroll}},this.loading&&i("div",{class:"hb-table__loading"},i("div",{class:"hb-table__loading-spinner"})),this.virtualScroll?i("div",{class:"hb-table__virtual-wrapper"},i("table",{class:"hb-table__table"},this.renderHeader()),r()):i("div",{class:"hb-table__wrapper",style:this.maxHeight?{maxHeight:this.maxHeight,overflow:"auto"}:undefined},i("table",{class:"hb-table__table"},this.renderHeader(),o())))}static get watchers(){return{data:["handleDataChange"]}}};o.style=r;export{o as hb_table};
2
+ //# sourceMappingURL=p-64ca0980.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tableCss","HbTableStyle0","Table","data","columns","stripe","border","size","loading","rowKey","emptyText","maxHeight","highlightCurrentRow","selectable","actions","virtualScroll","itemHeight","virtualScrollHeight","treeProps","editable","sortProp","sortDirection","currentRow","selectedRows","Set","scrollTop","expandedRowKeys","editingCell","hbSortChange","hbRowClick","hbSelectionChange","hbAction","hbExpandChange","hbCellChange","handleDataChange","this","emitSelection","isTreeMode","childrenField","children","flattenTree","list","level","parentKeyPath","field","result","forEach","row","i","keyPath","key","kids","hasKids","Array","isArray","length","push","hasChildren","index","indexOf","toggleExpand","idx","expanded","filter","k","emit","startEdit","e","prop","stopPropagation","commitEdit","input","target","value","onEditKeydown","preventDefault","allCheckboxRef","componentDidRender","indeterminate","isIndeterminate","virtualBuffer","handleVirtualScroll","visibleRange","total","startIndex","endIndex","viewport","Math","floor","ceil","virtualTotalHeight","handleSort","order","sortedData","direction","sort","a","b","va","vb","isAllSelected","toggleRow","next","has","delete","add","toggleAll","map","_","selected","from","Boolean","handleRowClick","handleAction","action","hasActions","fixedOffsets","leftAcc","c","side","fixed","left","width","rightAcc","right","cellStyle","base","off","style","position","zIndex","renderRow","rowIndex","fr","tree","rowKeyVal","indent","isEditing","h","class","onClick","type","checked","onChange","col","colIdx","isFirstCol","showExpand","editing","editableActive","textAlign","align","undefined","display","onBlur","onKeyDown","name","formatter","whiteSpace","act","disabled","label","renderHeader","ref","el","minWidth","sortable","render","displayData","isEmpty","flatRows","renderVirtualBody","offsetTop","height","overflowY","onScroll","colSpan","slice","renderNormalBody","overflow"],"sources":["src/components/Table/table.css?tag=hb-table&encapsulation=shadow","src/components/Table/Table.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hb-table {\n position: relative;\n overflow: hidden;\n border-radius: var(--hb-border-radius-base);\n background-color: var(--hb-color-bg);\n}\n\n.hb-table--border {\n border: 1px solid var(--hb-color-border-secondary);\n}\n\n.hb-table--border .hb-table__td,\n.hb-table--border .hb-table__table th {\n border-right: 1px solid var(--hb-color-border-secondary);\n}\n\n.hb-table__wrapper {\n overflow-x: auto;\n}\n\n.hb-table__table {\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n table-layout: auto;\n}\n\n.hb-table__table th {\n background-color: var(--hb-table-header-bg);\n color: var(--hb-table-header-color);\n font-weight: 600;\n font-size: var(--hb-font-size-sm);\n padding: 10px 12px;\n text-align: left;\n border-bottom: 1px solid var(--hb-color-border-secondary);\n white-space: nowrap;\n user-select: none;\n}\n\n.hb-table__th-content {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n}\n\n.hb-table__th--sortable {\n cursor: pointer;\n}\n\n.hb-table__th--sortable:hover {\n background-color: var(--hb-color-fill-tertiary);\n}\n\n.hb-table__sort {\n display: inline-flex;\n flex-direction: column;\n line-height: 1;\n font-size: 10px;\n gap: 1px;\n}\n\n.hb-table__sort-icon {\n color: var(--hb-color-text-quaternary);\n transition: color var(--hb-transition-duration);\n}\n\n.hb-table__sort-icon--active {\n color: var(--hb-color-primary);\n}\n\n.hb-table__td {\n padding: 10px 12px;\n font-size: var(--hb-font-size-sm);\n color: var(--hb-color-text);\n border-bottom: 1px solid var(--hb-table-border-color);\n transition: background-color var(--hb-transition-duration);\n}\n\n.hb-table__row:hover .hb-table__td {\n background-color: var(--hb-table-row-hover-bg);\n}\n\n.hb-table__row--striped .hb-table__td {\n background-color: var(--hb-table-stripe-bg);\n}\n\n.hb-table__row--current .hb-table__td {\n background-color: var(--hb-color-primary-bg);\n}\n\n.hb-table__empty {\n text-align: center;\n color: var(--hb-color-text-secondary);\n padding: var(--hb-spacing-xl) 0;\n}\n\n.hb-table__loading {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: rgba(255, 255, 255, 0.7);\n z-index: 1;\n}\n\n.hb-table__loading-spinner {\n width: 32px;\n height: 32px;\n border: 3px solid var(--hb-color-border-secondary);\n border-top-color: var(--hb-color-primary);\n border-radius: 50%;\n animation: hb-spin 0.8s linear infinite;\n}\n\n/* ---- 尺寸 ---- */\n.hb-table--small .hb-table__table th,\n.hb-table--small .hb-table__td {\n padding: 6px 8px;\n font-size: var(--hb-font-size-xs);\n}\n\n.hb-table--large .hb-table__table th,\n.hb-table--large .hb-table__td {\n padding: 14px 16px;\n font-size: var(--hb-font-size-base);\n}\n\n/* ---- 行选择 ---- */\n.hb-table__selection {\n width: 48px;\n min-width: 48px;\n text-align: center;\n white-space: nowrap;\n}\n.hb-table__checkbox {\n width: 16px;\n height: 16px;\n cursor: pointer;\n accent-color: var(--hb-color-primary);\n vertical-align: middle;\n}\n.hb-table__selection .hb-table__checkbox {\n margin: 0;\n}\n.hb-table__row--selected .hb-table__td {\n background-color: var(--hb-color-primary-bg);\n}\n\n/* ---- 固定列(sticky) ---- */\n/* 固定列单元格需要不透明背景,避免横向滚动时底层内容透出 */\n.hb-table__cell--fixed-left,\n.hb-table__cell--fixed-right {\n position: sticky;\n z-index: 2;\n background-color: var(--hb-color-bg);\n}\n.hb-table__table th.hb-table__cell--fixed-left,\n.hb-table__table th.hb-table__cell--fixed-right {\n background-color: var(--hb-table-header-bg);\n}\n.hb-table__cell--fixed-right {\n box-shadow: -4px 0 8px rgba(0, 0, 0, 0.06);\n}\n.hb-table__cell--fixed-left:not(.hb-table__cell--fixed-right) {\n box-shadow: 4px 0 8px rgba(0, 0, 0, 0.06);\n}\n/* 固定列在选中行需保持选中背景 */\n.hb-table__row--selected .hb-table__cell--fixed-left,\n.hb-table__row--selected .hb-table__cell--fixed-right {\n background-color: var(--hb-color-primary-bg);\n}\n.hb-table__row:hover .hb-table__cell--fixed-left,\n.hb-table__row:hover .hb-table__cell--fixed-right {\n background-color: var(--hb-table-row-hover-bg);\n}\n\n@keyframes hb-spin {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n}\n\n/* 行操作按钮(link 风格,类 Ant Design) */\n.hb-table__action {\n background: none;\n border: none;\n padding: 0;\n cursor: pointer;\n font-size: var(--hb-font-size-sm, 14px);\n line-height: 1.5;\n color: var(--hb-color-primary, #1677ff);\n transition: opacity var(--hb-transition-duration, 0.2s);\n}\n.hb-table__action:hover {\n opacity: 0.8;\n}\n.hb-table__action:disabled {\n color: var(--hb-color-text-disabled, #c0c4cc);\n cursor: not-allowed;\n}\n.hb-table__action--danger {\n color: var(--hb-color-danger, #f5222d);\n}\n.hb-table__action--danger:disabled {\n color: var(--hb-color-text-disabled, #c0c4cc);\n}\n.hb-table__action + .hb-table__action {\n margin-left: var(--hb-spacing-sm, 12px);\n}\n\n/* ---- 虚拟滚动 ---- */\n.hb-table--virtual {\n overflow: hidden;\n}\n.hb-table__virtual-wrapper {\n display: flex;\n flex-direction: column;\n}\n.hb-table__virtual-viewport {\n overflow-y: auto;\n overflow-x: auto;\n position: relative;\n}\n.hb-table__virtual-spacer {\n position: relative;\n width: 100%;\n}\n.hb-table__table--virtual {\n width: 100%;\n table-layout: fixed;\n}\n.hb-table__table--virtual tbody {\n /* 可见窗口的行紧跟在 offset 占位行之后,撑高容器由 spacer 负责 */\n position: relative;\n}\n\n/* ---- 树形数据(可展开行) ---- */\n.hb-table__expand {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n margin-right: 4px;\n padding: 0;\n background: none;\n border: none;\n cursor: pointer;\n color: var(--hb-color-text-secondary, #595959);\n font-size: 10px;\n line-height: 1;\n vertical-align: middle;\n transition: color var(--hb-transition-duration, 0.2s);\n flex-shrink: 0;\n}\n.hb-table__expand:hover {\n color: var(--hb-color-primary, #1677ff);\n}\n.hb-table__row--tree .hb-table__td {\n /* 树形行第一列内容随缩进对齐 */\n white-space: nowrap;\n}\n\n/* ---- 行内编辑 ---- */\n.hb-table__cell--editable {\n cursor: text;\n}\n.hb-table__cell--editable:hover {\n background-color: var(--hb-color-fill-tertiary, #f5f5f5);\n}\n.hb-table__edit-input {\n width: 100%;\n min-width: 60px;\n box-sizing: border-box;\n padding: 2px 6px;\n font-size: var(--hb-font-size-sm, 14px);\n color: var(--hb-color-text, #262626);\n border: 1px solid var(--hb-color-primary, #1677ff);\n border-radius: var(--hb-border-radius-base, 4px);\n outline: none;\n background-color: var(--hb-color-bg, #fff);\n}\n","import { Component, h, Prop, State, Event, EventEmitter, Watch } from '@stencil/core';\n\nexport interface TableColumn {\n /** 列字段名 */\n prop: string;\n /** 列标题 */\n label: string;\n /** 列宽 */\n width?: string;\n /** 最小列宽 */\n minWidth?: string;\n /** 是否可排序 */\n sortable?: boolean;\n /** 对齐方式 */\n align?: 'left' | 'center' | 'right';\n /** 固定列:left / right / true(等同 left) */\n fixed?: 'left' | 'right' | boolean;\n /** 单元格文本格式化(框架无关,返回纯文本字符串) */\n formatter?: (row: Record<string, any>, index: number) => string;\n /** 该列是否可(行内)编辑;需同时开启 Table.editable 才生效 */\n editable?: boolean;\n}\n\n/**\n * 行操作按钮配置(框架无关)。\n * 由 Table 自身渲染按钮(在 shadow DOM 内),点击派发 hbAction 事件,\n * 消费方据此执行编辑/删除等逻辑——无需往每行塞框架专属元素,绕开「slot 跨行共享」限制。\n */\nexport interface TableAction {\n /** 操作标识,回传到 hbAction.detail.action */\n key: string;\n /** 按钮文案 */\n label: string;\n /** 按钮样式:default 主色文字 / danger 危险色 */\n type?: 'default' | 'primary' | 'danger';\n /** 是否禁用(按行判断) */\n disabled?: (row: Record<string, any>, index: number) => boolean;\n}\n\nexport type SortDirection = 'ascending' | 'descending' | null;\n\n/**\n * 树形数据配置。\n * `children` 指定子节点在每行数据中的字段名(默认 'children'),\n * 行存在该字段(非空数组)时渲染展开箭头,可递归展开后代。\n */\nexport interface TableTreeProps {\n children?: string;\n}\n\n/**\n * 拍平后的可见行:保留原始 row + 嵌套层级 + 唯一 key,\n * 供 render 一次性 map 成 <tr>(仅含已展开链路上的后代)。\n */\ninterface FlatRow {\n row: Record<string, any>;\n level: number;\n key: string | number;\n /** 该行是否有非空 children(决定是否渲染展开箭头) */\n hasChildren: boolean;\n /** 该行在父层数组中的索引(用于 rowKey 缺省回退与稳定 key) */\n index: number;\n}\n\ninterface FixedOffset {\n side?: 'left' | 'right';\n left?: string;\n right?: string;\n}\n\n/**\n * Table 表格组件\n * 用于展示多条结构类似的数据,可对数据进行排序、筛选、选择等操作\n */\n@Component({\n tag: 'hb-table',\n styleUrl: 'table.css',\n shadow: true,\n})\nexport class Table {\n /** 数据源 */\n @Prop() data: Record<string, any>[] = [];\n\n /** 列配置 */\n @Prop() columns: TableColumn[] = [];\n\n /** 是否带斑马纹 */\n @Prop() stripe: boolean = false;\n\n /** 是否带边框 */\n @Prop() border: boolean = false;\n\n /** 表格尺寸 */\n @Prop() size: 'large' | 'default' | 'small' = 'default';\n\n /** 是否显示加载状态 */\n @Prop() loading: boolean = false;\n\n /** 行数据的 Key */\n @Prop() rowKey: string = '';\n\n /** 空数据文案 */\n @Prop() emptyText: string = '暂无数据';\n\n /** 最大高度(超出固定表头) */\n @Prop() maxHeight?: string;\n\n /** 是否高亮当前行 */\n @Prop() highlightCurrentRow: boolean = false;\n\n /** 是否开启行选择(显示 checkbox 列) */\n @Prop() selectable: boolean = false;\n\n /** 行操作配置;非空时自动在末尾渲染「操作」列 */\n @Prop() actions: TableAction[] = [];\n\n /** 是否开启虚拟滚动(大数据量场景,默认关闭,向后兼容) */\n @Prop() virtualScroll: boolean = false;\n\n /** 虚拟滚动每行预估高度(px),用于计算撑高容器与可见窗口 */\n @Prop() itemHeight: number = 48;\n\n /** 虚拟滚动视口高度(px),超过此高度出现滚动条 */\n @Prop() virtualScrollHeight: number = 400;\n\n /**\n * 树形数据配置:传入后启用「可展开行」模式。\n * data 行含 `children` 字段(字段名可经此配置覆盖)时渲染展开箭头。\n * 默认 undefined —— 不启用树形。\n */\n @Prop() treeProps?: TableTreeProps;\n\n /** 是否开启行内编辑模式(默认关闭)。需列配置 column.editable=true 才对该列生效 */\n @Prop() editable: boolean = false;\n\n @State() sortProp: string = '';\n @State() sortDirection: SortDirection = null;\n @State() currentRow: number = -1;\n @State() selectedRows: Set<number> = new Set();\n /** 虚拟滚动:当前滚动位置(px),驱动可见窗口计算 */\n @State() scrollTop: number = 0;\n\n /** 树形模式:已展开行的 key 列表 */\n @State() expandedRowKeys: Array<string | number> = [];\n\n /** 行内编辑:当前正在编辑的单元格 { key, prop },null 表示无 */\n @State() editingCell: { rowKey: string | number; prop: string } | null = null;\n\n /** 排序变化事件 */\n @Event() hbSortChange: EventEmitter<{ prop: string; order: SortDirection }>;\n\n /** 行点击事件 */\n @Event() hbRowClick: EventEmitter<{ row: Record<string, any>; index: number }>;\n\n /** 选择变化事件 */\n @Event() hbSelectionChange: EventEmitter<Record<string, any>[]>;\n\n /** 行操作点击事件 */\n @Event() hbAction: EventEmitter<{ row: Record<string, any>; index: number; action: string }>;\n\n /** 树形行展开/收起事件 */\n @Event() hbExpandChange: EventEmitter<{ expanded: boolean; row: Record<string, any> }>;\n\n /** 行内编辑提交事件 */\n @Event() hbCellChange: EventEmitter<{ row: Record<string, any>; prop: string; value: any }>;\n\n @Watch('data')\n handleDataChange() {\n this.selectedRows = new Set();\n this.emitSelection();\n }\n\n /** 树形模式是否启用(显式传入 treeProps 即启用) */\n private get isTreeMode(): boolean {\n return !!this.treeProps;\n }\n\n /** 子节点字段名(treeProps.children 缺省回退 'children') */\n private get childrenField(): string {\n return (this.treeProps && this.treeProps.children) || 'children';\n }\n\n /**\n * 把树拍平成可见行列表:仅保留「祖先链路全部已展开」的后代。\n * @param list 当前层级的数组\n * @param level 当前层级(根 = 0)\n * @param parentKeyPath 父级 key 路径,用于构造深层稳定 key(避免不同分支同 index 撞 key)\n */\n private flattenTree(list: Record<string, any>[], level: number = 0, parentKeyPath: string = ''): FlatRow[] {\n const field = this.childrenField;\n const result: FlatRow[] = [];\n list.forEach((row, i) => {\n const keyPath = parentKeyPath ? `${parentKeyPath}.${i}` : `${i}`;\n const key = this.rowKey ? row[this.rowKey] : keyPath;\n const kids = row[field];\n const hasKids = Array.isArray(kids) && kids.length > 0;\n result.push({ row, level, key, hasChildren: hasKids, index: i });\n // 仅当该行已展开时,递归拍入其 children\n if (hasKids && this.expandedRowKeys.indexOf(key) !== -1) {\n result.push(...this.flattenTree(kids as Record<string, any>[], level + 1, keyPath));\n }\n });\n return result;\n }\n\n /** 树形展开/收起切换 */\n private toggleExpand = (row: Record<string, any>, key: string | number) => {\n const idx = this.expandedRowKeys.indexOf(key);\n const expanded = idx === -1;\n this.expandedRowKeys = expanded ? [...this.expandedRowKeys, key] : this.expandedRowKeys.filter((k) => k !== key);\n this.hbExpandChange.emit({ expanded, row });\n };\n\n /** 行内编辑:进入编辑态 */\n private startEdit = (e: Event, key: string | number, prop: string) => {\n e.stopPropagation();\n if (!this.editable) return;\n this.editingCell = { rowKey: key, prop };\n };\n\n /** 行内编辑:提交(回车 / 失焦 / Change) */\n private commitEdit = (e: Event, row: Record<string, any>, prop: string) => {\n const input = e.target as HTMLInputElement;\n const value = input.value;\n // 就地更新(简单可用版):修改 row[prop] 后强制重渲染\n row[prop] = value;\n this.editingCell = null;\n this.hbCellChange.emit({ row, prop, value });\n };\n\n /** 行内编辑:回车提交 / Esc 取消 */\n private onEditKeydown = (e: KeyboardEvent, row: Record<string, any>, prop: string) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.commitEdit(e, row, prop);\n } else if (e.key === 'Escape') {\n e.preventDefault();\n this.editingCell = null;\n }\n };\n\n private allCheckboxRef?: HTMLInputElement;\n\n componentDidRender() {\n // indeterminate 不是可反射的 HTML 属性,必须通过 DOM 属性设置\n if (this.allCheckboxRef) {\n this.allCheckboxRef.indeterminate = this.isIndeterminate;\n }\n }\n\n /** 虚拟滚动上下缓冲行数 */\n private readonly virtualBuffer = 5;\n\n /** 虚拟滚动:滚动事件回调,更新 scrollTop 触发可见窗口重算 */\n private handleVirtualScroll = (e: Event) => {\n const target = e.target as HTMLElement;\n this.scrollTop = target.scrollTop;\n };\n\n /** 虚拟滚动:计算可见窗口 [startIndex, endIndex) */\n private get visibleRange(): { startIndex: number; endIndex: number } {\n const total = this.data.length;\n if (total === 0) return { startIndex: 0, endIndex: 0 };\n\n const itemHeight = this.itemHeight > 0 ? this.itemHeight : 1;\n const viewport = this.virtualScrollHeight;\n\n let startIndex = Math.floor(this.scrollTop / itemHeight) - this.virtualBuffer;\n if (startIndex < 0) startIndex = 0;\n\n let endIndex = Math.ceil((this.scrollTop + viewport) / itemHeight) + this.virtualBuffer;\n if (endIndex > total) endIndex = total;\n\n return { startIndex, endIndex };\n }\n\n /** 虚拟滚动:撑高容器总高度 */\n private get virtualTotalHeight(): number {\n return this.data.length * (this.itemHeight > 0 ? this.itemHeight : 1);\n }\n\n private handleSort = (prop: string) => {\n if (this.sortProp === prop) {\n this.sortDirection =\n this.sortDirection === 'ascending' ? 'descending' : this.sortDirection === 'descending' ? null : 'ascending';\n } else {\n this.sortProp = prop;\n this.sortDirection = 'ascending';\n }\n this.hbSortChange.emit({ prop, order: this.sortDirection });\n };\n\n private get sortedData(): Record<string, any>[] {\n if (!this.sortProp || !this.sortDirection) return this.data;\n const direction = this.sortDirection === 'ascending' ? 1 : -1;\n return [...this.data].sort((a, b) => {\n const va = a[this.sortProp];\n const vb = b[this.sortProp];\n if (va < vb) return -1 * direction;\n if (va > vb) return 1 * direction;\n return 0;\n });\n };\n\n private get isAllSelected(): boolean {\n return this.data.length > 0 && this.selectedRows.size === this.data.length;\n }\n\n private get isIndeterminate(): boolean {\n return this.selectedRows.size > 0 && this.selectedRows.size < this.data.length;\n }\n\n private toggleRow = (index: number, e: Event) => {\n e.stopPropagation();\n const next = new Set(this.selectedRows);\n if (next.has(index)) {\n next.delete(index);\n } else {\n next.add(index);\n }\n this.selectedRows = next;\n this.emitSelection();\n };\n\n private toggleAll = () => {\n if (this.isAllSelected) {\n this.selectedRows = new Set();\n } else {\n this.selectedRows = new Set(this.data.map((_, i) => i));\n }\n this.emitSelection();\n };\n\n private emitSelection() {\n const selected = Array.from(this.selectedRows)\n .sort((a, b) => a - b)\n .map((i) => this.data[i])\n .filter(Boolean);\n this.hbSelectionChange.emit(selected);\n }\n\n private handleRowClick = (row: Record<string, any>, index: number) => {\n this.currentRow = index;\n this.hbRowClick.emit({ row, index });\n };\n\n private handleAction = (row: Record<string, any>, index: number, action: string) => {\n this.hbAction.emit({ row, index, action });\n };\n\n private get hasActions(): boolean {\n return !!this.actions && this.actions.length > 0;\n }\n\n /** 计算固定列的 sticky 偏移(左侧/右侧累计宽度) */\n private get fixedOffsets(): Record<string, FixedOffset> {\n const result: Record<string, FixedOffset> = {};\n let leftAcc = '0px';\n for (const c of this.columns) {\n const side = c.fixed === true ? 'left' : c.fixed;\n if (side === 'left') {\n result[c.prop] = { side: 'left', left: leftAcc };\n leftAcc = `calc(${leftAcc} + ${c.width || '0px'})`;\n }\n }\n let rightAcc = '0px';\n for (let i = this.columns.length - 1; i >= 0; i--) {\n const c = this.columns[i];\n if (c.fixed === 'right') {\n result[c.prop] = { side: 'right', right: rightAcc };\n rightAcc = `calc(${rightAcc} + ${c.width || '0px'})`;\n }\n }\n return result;\n }\n\n private cellStyle(prop: string, base?: Record<string, string>): Record<string, string> {\n const off = this.fixedOffsets[prop];\n const style: Record<string, string> = { ...(base || {}) };\n if (off?.side === 'left') {\n style.position = 'sticky';\n style.left = off.left as string;\n style.zIndex = '2';\n } else if (off?.side === 'right') {\n style.position = 'sticky';\n style.right = off.right as string;\n style.zIndex = '2';\n }\n return style;\n }\n\n /**\n * 渲染单行(普通 + 虚拟滚动 + 树形 共用)。\n * - 普通模式:rowIndex 为在 sortedData 中的全局索引。\n * - 树形模式:fr.level 决定缩进,第一列渲染展开箭头,key 取 fr.key。\n * fr 为可选;未传时按普通模式渲染。\n */\n private renderRow(row: Record<string, any>, rowIndex: number, fr?: FlatRow) {\n const tree = !!fr;\n const level = fr ? fr.level : 0;\n const rowKeyVal = fr ? fr.key : this.rowKey ? row[this.rowKey] : rowIndex;\n const indent = level * 16;\n\n const isEditing = (prop: string) => !!this.editingCell && this.editingCell.rowKey === rowKeyVal && this.editingCell.prop === prop;\n\n return (\n <tr\n key={rowKeyVal}\n class={{\n 'hb-table__row': true,\n 'hb-table__row--striped': this.stripe && rowIndex % 2 === 1,\n 'hb-table__row--current': this.highlightCurrentRow && rowIndex === this.currentRow,\n 'hb-table__row--selected': this.selectedRows.has(rowIndex),\n 'hb-table__row--tree': tree,\n }}\n onClick={() => this.handleRowClick(row, rowIndex)}\n >\n {this.selectable && (\n <td class=\"hb-table__selection\" onClick={(e) => e.stopPropagation()}>\n <input\n type=\"checkbox\"\n class=\"hb-table__checkbox\"\n checked={this.selectedRows.has(rowIndex)}\n onChange={(e) => this.toggleRow(rowIndex, e)}\n />\n </td>\n )}\n {this.columns.map((col, colIdx) => {\n const off = this.fixedOffsets[col.prop];\n // 树形模式:第一列加缩进 + 展开箭头\n const isFirstCol = colIdx === 0;\n const showExpand = tree && isFirstCol && fr!.hasChildren;\n const expanded = showExpand && this.expandedRowKeys.indexOf(rowKeyVal) !== -1;\n const editing = this.editable && !!col.editable && isEditing(col.prop);\n const editableActive = this.editable && !!col.editable;\n\n return (\n <td\n key={col.prop}\n style={this.cellStyle(col.prop, { textAlign: col.align || 'left' })}\n class={{\n 'hb-table__td': true,\n 'hb-table__cell--fixed-left': off?.side === 'left',\n 'hb-table__cell--fixed-right': off?.side === 'right',\n 'hb-table__cell--editable': editableActive,\n }}\n onClick={editableActive ? (e) => this.startEdit(e, rowKeyVal, col.prop) : undefined}\n >\n {tree && isFirstCol && (\n <span class=\"hb-table__indent\" style={{ display: 'inline-block', width: `${indent}px` }} aria-hidden=\"true\" />\n )}\n {showExpand && (\n <button\n type=\"button\"\n class={{ 'hb-table__expand': true, 'hb-table__expand--expanded': expanded }}\n aria-label={expanded ? '收起' : '展开'}\n onClick={(e) => {\n e.stopPropagation();\n this.toggleExpand(row, rowKeyVal);\n }}\n >\n {expanded ? '▼' : '▶'}\n </button>\n )}\n {showExpand === false && tree && isFirstCol && (\n <span class=\"hb-table__expand-placeholder\" style={{ display: 'inline-block', width: '16px' }} aria-hidden=\"true\" />\n )}\n {editing ? (\n <input\n class=\"hb-table__edit-input\"\n type=\"text\"\n value={row[col.prop] ?? ''}\n onBlur={(e) => this.commitEdit(e, row, col.prop)}\n onKeyDown={(e) => this.onEditKeydown(e, row, col.prop)}\n />\n ) : (\n <slot name={`cell-${col.prop}`}>{col.formatter ? col.formatter(row, rowIndex) : row[col.prop] ?? ''}</slot>\n )}\n </td>\n );\n })}\n {this.hasActions && (\n <td class=\"hb-table__td--actions\" style={{ textAlign: 'right', whiteSpace: 'nowrap' }} onClick={(e) => e.stopPropagation()}>\n {this.actions.map((act) => (\n <button\n type=\"button\"\n class={{\n 'hb-table__action': true,\n 'hb-table__action--primary': act.type === 'primary',\n 'hb-table__action--danger': act.type === 'danger',\n }}\n disabled={act.disabled ? act.disabled(row, rowIndex) : false}\n onClick={() => this.handleAction(row, rowIndex, act.key)}\n >\n {act.label}\n </button>\n ))}\n </td>\n )}\n </tr>\n );\n }\n\n /** 渲染表头(普通 + 虚拟滚动共用,表头始终固定不随滚) */\n private renderHeader() {\n return (\n <thead>\n <tr>\n {this.selectable && (\n <th class=\"hb-table__selection\">\n <input\n type=\"checkbox\"\n class=\"hb-table__checkbox\"\n checked={this.isAllSelected}\n ref={(el) => {\n this.allCheckboxRef = el as HTMLInputElement;\n }}\n onChange={this.toggleAll}\n />\n </th>\n )}\n {this.columns.map((col) => {\n const off = this.fixedOffsets[col.prop];\n return (\n <th\n key={col.prop}\n style={this.cellStyle(col.prop, {\n width: col.width,\n minWidth: col.minWidth,\n textAlign: col.align || 'left',\n })}\n class={{\n 'hb-table__th--sortable': col.sortable,\n 'hb-table__cell--fixed-left': off?.side === 'left',\n 'hb-table__cell--fixed-right': off?.side === 'right',\n }}\n onClick={col.sortable ? () => this.handleSort(col.prop) : undefined}\n >\n <div class=\"hb-table__th-content\">\n <span>{col.label}</span>\n {col.sortable && (\n <span class=\"hb-table__sort\">\n <span class={{ 'hb-table__sort-icon': true, 'hb-table__sort-icon--active': this.sortProp === col.prop && this.sortDirection === 'ascending' }}>▲</span>\n <span class={{ 'hb-table__sort-icon': true, 'hb-table__sort-icon--active': this.sortProp === col.prop && this.sortDirection === 'descending' }}>▼</span>\n </span>\n )}\n </div>\n </th>\n );\n })}\n {this.hasActions && (\n <th class=\"hb-table__th--actions\" style={{ textAlign: 'right', whiteSpace: 'nowrap' }}>\n 操作\n </th>\n )}\n </tr>\n </thead>\n );\n }\n\n render() {\n const displayData = this.sortedData;\n const isEmpty = displayData.length === 0;\n\n // 树形模式:把可见树拍平成带 level 的行列表(仅含已展开链路上的后代)\n const flatRows: FlatRow[] = this.isTreeMode ? this.flattenTree(displayData) : [];\n\n // 虚拟滚动:固定高度滚动视口 + 撑高容器 + 仅渲染可见窗口行(绝对定位 offset)\n // 注意:树形 + 虚拟滚动组合较复杂,此处虚拟滚动沿用普通行渲染(不展开树),\n // 保留树形仅在普通模式下生效以降低风险。\n const renderVirtualBody = () => {\n const { startIndex, endIndex } = this.visibleRange;\n const offsetTop = startIndex * (this.itemHeight > 0 ? this.itemHeight : 1);\n return (\n <div\n class=\"hb-table__virtual-viewport\"\n style={{ height: `${this.virtualScrollHeight}px`, overflowY: 'auto' }}\n onScroll={this.handleVirtualScroll}\n >\n <div class=\"hb-table__virtual-spacer\" style={{ height: `${this.virtualTotalHeight}px`, position: 'relative' }}>\n <table class=\"hb-table__table hb-table__table--virtual\">\n <tbody>\n {isEmpty ? (\n <tr>\n <td colSpan={this.columns.length + (this.selectable ? 1 : 0) + (this.hasActions ? 1 : 0)} class=\"hb-table__empty\">\n {this.emptyText}\n </td>\n </tr>\n ) : (\n <tr style={{ height: `${offsetTop}px` }} aria-hidden=\"true\" />\n )}\n {displayData.slice(startIndex, endIndex).map((row, i) => this.renderRow(row, startIndex + i))}\n </tbody>\n </table>\n </div>\n </div>\n );\n };\n\n // 普通模式:树形启用时按拍平列表渲染(带 level 缩进 + 展开箭头),否则原样按行渲染\n const renderNormalBody = () => (\n <tbody>\n {isEmpty ? (\n <tr>\n <td colSpan={this.columns.length + (this.selectable ? 1 : 0) + (this.hasActions ? 1 : 0)} class=\"hb-table__empty\">\n {this.emptyText}\n </td>\n </tr>\n ) : this.isTreeMode ? (\n flatRows.map((fr, i) => this.renderRow(fr.row, i, fr))\n ) : (\n displayData.map((row, rowIndex) => this.renderRow(row, rowIndex))\n )}\n </tbody>\n );\n\n return (\n <div class={{ 'hb-table': true, [`hb-table--${this.size}`]: true, 'hb-table--border': this.border, 'hb-table--virtual': this.virtualScroll }}>\n {this.loading && (\n <div class=\"hb-table__loading\">\n <div class=\"hb-table__loading-spinner\"></div>\n </div>\n )}\n {this.virtualScroll ? (\n <div class=\"hb-table__virtual-wrapper\">\n <table class=\"hb-table__table\">\n {this.renderHeader()}\n </table>\n {renderVirtualBody()}\n </div>\n ) : (\n <div class=\"hb-table__wrapper\" style={this.maxHeight ? { maxHeight: this.maxHeight, overflow: 'auto' } : undefined}>\n <table class=\"hb-table__table\">\n {this.renderHeader()}\n {renderNormalBody()}\n </table>\n </div>\n )}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,g as i,h as o}from"./p-e42dfa95.js";const r='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:contents}.hb-image-preview{background-color:var(--hb-color-bg-mask,#00000080);inset:0;position:fixed;z-index:var(--hb-z-index-modal-mask,2000)}.hb-image-preview,.hb-image-preview__wrapper{align-items:center;display:flex;justify-content:center}.hb-image-preview__img,.hb-image-preview__wrapper{max-height:90vh;max-width:90vw}.hb-image-preview__img{object-fit:contain;pointer-events:none;transition:transform .2s;-webkit-user-select:none;user-select:none}.hb-image-preview__btn{align-items:center;background-color:#0006;border:none;border-radius:50%;color:var(--hb-color-text-inverse,#fff);cursor:pointer;display:flex;font-size:28px;height:44px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:background-color var(--hb-transition-duration,.2s)ease;width:44px}.hb-image-preview__btn:hover{background-color:#0009}.hb-image-preview__btn--prev{left:24px}.hb-image-preview__btn--next{right:24px}.hb-image-preview__toolbar{align-items:center;background-color:#00000080;border-radius:var(--hb-border-radius-base,4px);bottom:32px;color:var(--hb-color-text-inverse,#fff);display:flex;gap:4px;left:50%;padding:8px 12px;position:absolute;transform:translate(-50%)}.hb-image-preview__tool{background:0 0;border:none;border-radius:var(--hb-border-radius-sm,2px);color:var(--hb-color-text-inverse,#fff);cursor:pointer;font-size:16px;height:32px;min-width:32px;padding:0 8px;transition:background-color var(--hb-transition-duration,.2s)ease}.hb-image-preview__tool:hover{background-color:#ffffff26}.hb-image-preview__tool-label{display:inline-flex;font-size:13px;min-width:48px;padding:0 4px}.hb-image-preview__close,.hb-image-preview__tool-label{align-items:center;color:var(--hb-color-text-inverse,#fff);justify-content:center}.hb-image-preview__close{background-color:#0006;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:28px;height:40px;line-height:1;position:absolute;right:24px;top:24px;transition:background-color var(--hb-transition-duration,.2s)ease;width:40px}.hb-image-preview__close:hover{background-color:#0009}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const n=r;const a=class{constructor(i){t(this,i);this.hbClose=e(this,"hbClose",7);this.hbChange=e(this,"hbChange",7)}get el(){return i(this)}modelValue=false;src="";srcList=[];current=0;zoomStep=.2;minZoom=.5;maxZoom=3;hbClose;hbChange;zoom=1;rotate=0;keyDownHandler=t=>{if(!this.modelValue)return;if(t.key==="Escape"){this.close()}else if(t.key==="ArrowLeft"){this.prev()}else if(t.key==="ArrowRight"){this.next()}};handleVisibleChange(t){if(t){this.zoom=1;this.rotate=0;document.addEventListener("keydown",this.keyDownHandler)}else{document.removeEventListener("keydown",this.keyDownHandler)}}handleCurrentChange(){this.zoom=1;this.rotate=0}componentDidLoad(){if(this.modelValue){document.addEventListener("keydown",this.keyDownHandler)}}disconnectedCallback(){document.removeEventListener("keydown",this.keyDownHandler)}get imageList(){if(this.srcList&&this.srcList.length>0){return this.srcList}return this.src?[this.src]:[]}get currentIndex(){const t=this.imageList;if(t.length===0)return 0;if(this.current<0)return 0;if(this.current>=t.length)return t.length-1;return this.current}get currentSrc(){const t=this.imageList;if(t.length===0)return"";return t[this.currentIndex]||""}get isMulti(){return this.imageList.length>1}close=()=>{this.modelValue=false;this.hbClose.emit()};emitChange(){this.hbChange.emit({src:this.currentSrc,index:this.currentIndex})}next=()=>{const t=this.imageList;if(t.length<=1)return;this.current=(this.currentIndex+1)%t.length;this.emitChange()};prev=()=>{const t=this.imageList;if(t.length<=1)return;this.current=(this.currentIndex-1+t.length)%t.length;this.emitChange()};zoomIn=()=>{const t=Math.min(this.zoom+this.zoomStep,this.maxZoom);this.zoom=Math.round(t*100)/100};zoomOut=()=>{const t=Math.max(this.zoom-this.zoomStep,this.minZoom);this.zoom=Math.round(t*100)/100};handleReset=()=>{this.zoom=1;this.rotate=0};handleRotateLeft=()=>{this.rotate=this.rotate-90};handleRotateRight=()=>{this.rotate=this.rotate+90};handleWheel=t=>{t.preventDefault();if(t.deltaY<0){this.zoomIn()}else{this.zoomOut()}};handleOverlayClick=t=>{if(t.target===t.currentTarget){this.close()}};stopAndClose=t=>{t.stopPropagation();this.close()};render(){if(!this.modelValue)return null;const t={transform:`scale(${this.zoom}) rotate(${this.rotate}deg)`};return o("div",{class:"hb-image-preview",onClick:this.handleOverlayClick},o("div",{class:"hb-image-preview__wrapper"},o("img",{class:"hb-image-preview__img",src:this.currentSrc,alt:"",style:t,onWheel:this.handleWheel})),this.isMulti&&o("button",{type:"button",class:"hb-image-preview__btn hb-image-preview__btn--prev",onClick:this.prev,"aria-label":"上一张"},"‹"),this.isMulti&&o("button",{type:"button",class:"hb-image-preview__btn hb-image-preview__btn--next",onClick:this.next,"aria-label":"下一张"},"›"),o("div",{class:"hb-image-preview__toolbar",onClick:t=>t.stopPropagation()},o("button",{type:"button",class:"hb-image-preview__tool",onClick:this.zoomOut,"aria-label":"缩小"},"-"),o("span",{class:"hb-image-preview__tool-label"},Math.round(this.zoom*100),"%"),o("button",{type:"button",class:"hb-image-preview__tool",onClick:this.zoomIn,"aria-label":"放大"},"+"),o("button",{type:"button",class:"hb-image-preview__tool",onClick:this.handleRotateLeft,"aria-label":"左旋"},"↺"),o("button",{type:"button",class:"hb-image-preview__tool",onClick:this.handleRotateRight,"aria-label":"右旋"},"↻"),o("button",{type:"button",class:"hb-image-preview__tool",onClick:this.handleReset,"aria-label":"重置"},"⟲"),o("button",{type:"button",class:"hb-image-preview__tool",onClick:this.stopAndClose,"aria-label":"关闭"},"✕")),o("button",{type:"button",class:"hb-image-preview__close",onClick:this.stopAndClose,"aria-label":"关闭"},"×"))}static get watchers(){return{modelValue:["handleVisibleChange"],current:["handleCurrentChange"]}}};a.style=n;export{a as hb_image_preview};
2
+ //# sourceMappingURL=p-672076c3.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["imagePreviewCss","HbImagePreviewStyle0","ImagePreview","modelValue","src","srcList","current","zoomStep","minZoom","maxZoom","hbClose","hbChange","zoom","rotate","keyDownHandler","e","this","key","close","prev","next","handleVisibleChange","newVal","document","addEventListener","removeEventListener","handleCurrentChange","componentDidLoad","disconnectedCallback","imageList","length","currentIndex","list","currentSrc","isMulti","emit","emitChange","index","zoomIn","Math","min","round","zoomOut","max","handleReset","handleRotateLeft","handleRotateRight","handleWheel","preventDefault","deltaY","handleOverlayClick","target","currentTarget","stopAndClose","stopPropagation","render","imgStyle","transform","h","class","onClick","alt","style","onWheel","type"],"sources":["src/components/ImagePreview/image-preview.css?tag=hb-image-preview&encapsulation=shadow","src/components/ImagePreview/ImagePreview.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.hb-image-preview {\n position: fixed;\n inset: 0;\n z-index: var(--hb-z-index-modal-mask, 2000);\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--hb-color-bg-mask, rgba(0, 0, 0, 0.5));\n}\n\n.hb-image-preview__wrapper {\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.hb-image-preview__img {\n max-width: 90vw;\n max-height: 90vh;\n object-fit: contain;\n user-select: none;\n transition: transform 0.2s ease;\n pointer-events: none;\n}\n\n.hb-image-preview__btn {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.4);\n color: var(--hb-color-text-inverse, #ffffff);\n font-size: 28px;\n line-height: 1;\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) ease;\n}\n\n.hb-image-preview__btn:hover {\n background-color: rgba(0, 0, 0, 0.6);\n}\n\n.hb-image-preview__btn--prev {\n left: 24px;\n}\n\n.hb-image-preview__btn--next {\n right: 24px;\n}\n\n.hb-image-preview__toolbar {\n position: absolute;\n bottom: 32px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 8px 12px;\n border-radius: var(--hb-border-radius-base, 4px);\n background-color: rgba(0, 0, 0, 0.5);\n color: var(--hb-color-text-inverse, #ffffff);\n}\n\n.hb-image-preview__tool {\n min-width: 32px;\n height: 32px;\n padding: 0 8px;\n border: none;\n border-radius: var(--hb-border-radius-sm, 2px);\n background: transparent;\n color: var(--hb-color-text-inverse, #ffffff);\n font-size: 16px;\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) ease;\n}\n\n.hb-image-preview__tool:hover {\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.hb-image-preview__tool-label {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 48px;\n padding: 0 4px;\n font-size: 13px;\n color: var(--hb-color-text-inverse, #ffffff);\n}\n\n.hb-image-preview__close {\n position: absolute;\n top: 24px;\n right: 24px;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.4);\n color: var(--hb-color-text-inverse, #ffffff);\n font-size: 28px;\n line-height: 1;\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) ease;\n}\n\n.hb-image-preview__close:hover {\n background-color: rgba(0, 0, 0, 0.6);\n}\n","import { Component, h, Prop, Event, EventEmitter, State, Watch, Element } from '@stencil/core';\n\nexport interface ImagePreviewChangeDetail {\n src: string;\n index: number;\n}\n\n/**\n * ImagePreview 图片预览组件\n * 点击图片后展示大图,支持缩放、旋转、多图切换\n */\n@Component({\n tag: 'hb-image-preview',\n styleUrl: 'image-preview.css',\n shadow: true,\n})\nexport class ImagePreview {\n @Element() el: HTMLElement;\n\n /** 是否显示预览(受控,可双向) */\n @Prop({ mutable: true }) modelValue: boolean = false;\n\n /** 单图源(srcList 为空时使用) */\n @Prop() src: string = '';\n\n /** 多图源列表 */\n @Prop() srcList: string[] = [];\n\n /** 多图当前索引 */\n @Prop({ mutable: true }) current: number = 0;\n\n /** 单次缩放步长 */\n @Prop() zoomStep: number = 0.2;\n\n /** 最小缩放比例 */\n @Prop() minZoom: number = 0.5;\n\n /** 最大缩放比例 */\n @Prop() maxZoom: number = 3;\n\n /** 关闭事件 */\n @Event() hbClose: EventEmitter<void>;\n\n /** 切换事件,detail 为 { src, index } */\n @Event() hbChange: EventEmitter<ImagePreviewChangeDetail>;\n\n /** 当前缩放比例 */\n @State() zoom: number = 1;\n\n /** 当前旋转角度 */\n @State() rotate: number = 0;\n\n private keyDownHandler = (e: KeyboardEvent) => {\n if (!this.modelValue) return;\n if (e.key === 'Escape') {\n this.close();\n } else if (e.key === 'ArrowLeft') {\n this.prev();\n } else if (e.key === 'ArrowRight') {\n this.next();\n }\n };\n\n @Watch('modelValue')\n handleVisibleChange(newVal: boolean) {\n if (newVal) {\n // 打开时重置缩放与旋转\n this.zoom = 1;\n this.rotate = 0;\n document.addEventListener('keydown', this.keyDownHandler);\n } else {\n document.removeEventListener('keydown', this.keyDownHandler);\n }\n }\n\n @Watch('current')\n handleCurrentChange() {\n // 切换图片时重置变换\n this.zoom = 1;\n this.rotate = 0;\n }\n\n componentDidLoad() {\n if (this.modelValue) {\n document.addEventListener('keydown', this.keyDownHandler);\n }\n }\n\n disconnectedCallback() {\n document.removeEventListener('keydown', this.keyDownHandler);\n }\n\n /** 实际可切换的图片列表 */\n private get imageList(): string[] {\n if (this.srcList && this.srcList.length > 0) {\n return this.srcList;\n }\n return this.src ? [this.src] : [];\n }\n\n private get currentIndex(): number {\n const list = this.imageList;\n if (list.length === 0) return 0;\n if (this.current < 0) return 0;\n if (this.current >= list.length) return list.length - 1;\n return this.current;\n }\n\n private get currentSrc(): string {\n const list = this.imageList;\n if (list.length === 0) return '';\n return list[this.currentIndex] || '';\n }\n\n private get isMulti(): boolean {\n return this.imageList.length > 1;\n }\n\n private close = () => {\n this.modelValue = false;\n this.hbClose.emit();\n };\n\n private emitChange() {\n this.hbChange.emit({ src: this.currentSrc, index: this.currentIndex });\n }\n\n private next = () => {\n const list = this.imageList;\n if (list.length <= 1) return;\n this.current = (this.currentIndex + 1) % list.length;\n this.emitChange();\n };\n\n private prev = () => {\n const list = this.imageList;\n if (list.length <= 1) return;\n this.current = (this.currentIndex - 1 + list.length) % list.length;\n this.emitChange();\n };\n\n private zoomIn = () => {\n const next = Math.min(this.zoom + this.zoomStep, this.maxZoom);\n this.zoom = Math.round(next * 100) / 100;\n };\n\n private zoomOut = () => {\n const next = Math.max(this.zoom - this.zoomStep, this.minZoom);\n this.zoom = Math.round(next * 100) / 100;\n };\n\n private handleReset = () => {\n this.zoom = 1;\n this.rotate = 0;\n };\n\n private handleRotateLeft = () => {\n this.rotate = this.rotate - 90;\n };\n\n private handleRotateRight = () => {\n this.rotate = this.rotate + 90;\n };\n\n /** 滚轮缩放 */\n private handleWheel = (e: WheelEvent) => {\n // TODO: 平滑缩放 + 图片中心锚点;当前实现为基础步长缩放\n e.preventDefault();\n if (e.deltaY < 0) {\n this.zoomIn();\n } else {\n this.zoomOut();\n }\n };\n\n /** 点击遮罩空白处关闭 */\n private handleOverlayClick = (e: MouseEvent) => {\n if (e.target === e.currentTarget) {\n this.close();\n }\n };\n\n private stopAndClose = (e: MouseEvent) => {\n e.stopPropagation();\n this.close();\n };\n\n render() {\n if (!this.modelValue) return null;\n\n const imgStyle = {\n transform: `scale(${this.zoom}) rotate(${this.rotate}deg)`,\n };\n\n return (\n <div class=\"hb-image-preview\" onClick={this.handleOverlayClick}>\n <div class=\"hb-image-preview__wrapper\">\n <img\n class=\"hb-image-preview__img\"\n src={this.currentSrc}\n alt=\"\"\n style={imgStyle}\n onWheel={this.handleWheel}\n />\n </div>\n\n {this.isMulti && (\n <button\n type=\"button\"\n class=\"hb-image-preview__btn hb-image-preview__btn--prev\"\n onClick={this.prev}\n aria-label=\"上一张\"\n >\n ‹\n </button>\n )}\n {this.isMulti && (\n <button\n type=\"button\"\n class=\"hb-image-preview__btn hb-image-preview__btn--next\"\n onClick={this.next}\n aria-label=\"下一张\"\n >\n ›\n </button>\n )}\n\n <div class=\"hb-image-preview__toolbar\" onClick={(e) => e.stopPropagation()}>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.zoomOut} aria-label=\"缩小\">\n -\n </button>\n <span class=\"hb-image-preview__tool-label\">{Math.round(this.zoom * 100)}%</span>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.zoomIn} aria-label=\"放大\">\n +\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.handleRotateLeft} aria-label=\"左旋\">\n ↺\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.handleRotateRight} aria-label=\"右旋\">\n ↻\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.handleReset} aria-label=\"重置\">\n ⟲\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.stopAndClose} aria-label=\"关闭\">\n ✕\n </button>\n </div>\n\n <button\n type=\"button\"\n class=\"hb-image-preview__close\"\n onClick={this.stopAndClose}\n aria-label=\"关闭\"\n >\n ×\n </button>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,h as e}from"./p-e42dfa95.js";const i='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:block}.hb-result{flex-direction:column;padding:var(--hb-spacing-xl)var(--hb-spacing-md);text-align:center}.hb-result,.hb-result__icon{align-items:center;display:flex;justify-content:center}.hb-result__icon{font-size:72px;line-height:1;margin-bottom:var(--hb-spacing-md)}.hb-result__icon-symbol{font-size:inherit}.hb-result__title{color:var(--hb-color-text-primary);font-size:var(--hb-font-size-xl);font-weight:500;line-height:1.4}.hb-result__subtitle{color:var(--hb-color-text-secondary);font-size:var(--hb-font-size-base);line-height:1.5;margin-top:var(--hb-spacing-xs)}.hb-result__extra{align-items:center;display:flex;flex-wrap:wrap;gap:var(--hb-spacing-xs);justify-content:center;margin-top:var(--hb-spacing-lg)}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const o=i;const n=class{constructor(e){t(this,e)}status="info";title="";subTitle;icon;static ICON_MAP={success:"✅",error:"❌",warning:"⚠️",info:"ℹ️",404:"🔍",403:"🔒",500:"🛠️"};static COLOR_MAP={success:"var(--hb-color-success)",error:"var(--hb-color-danger)",warning:"var(--hb-color-warning)",info:"var(--hb-color-info)",404:"var(--hb-color-text-secondary)",403:"var(--hb-color-text-secondary)",500:"var(--hb-color-text-secondary)"};getColor(){return n.COLOR_MAP[this.status]||"var(--hb-color-info)"}getIcon(){return this.icon!==undefined?this.icon:n.ICON_MAP[this.status]||n.ICON_MAP.info}render(){const t=this.getColor();return e("div",{key:"2c814e1b6953b94d65a6fbf1434263f622bb7286",class:{"hb-result":true,[`hb-result--${this.status}`]:true}},e("div",{key:"6065f1880a74904cced635430c1f3b484476cc63",class:"hb-result__icon",style:{color:t}},e("span",{key:"fd61023ad0cdf6436680f20bbcb735f4960ffbe5",class:"hb-result__icon-symbol"},this.getIcon())),this.title&&e("div",{key:"44a7cfc18a4886b1530e9dfbed4764f35f61d143",class:"hb-result__title"},this.title),this.subTitle!==undefined&&e("div",{key:"86c42321700d9a7f3055025dbfbc71b358611739",class:"hb-result__subtitle"},this.subTitle),e("div",{key:"63fbc78625a878e196acd65aa361440cba746b19",class:"hb-result__extra"},e("slot",{key:"cefb1bfb4444bc1d47a37eb4887af9e21fa18a85"})))}};n.style=o;export{n as hb_result};
2
+ //# sourceMappingURL=p-6a1ec3ff.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["resultCss","HbResultStyle0","Result","status","title","subTitle","icon","static","success","error","warning","info","getColor","COLOR_MAP","this","getIcon","undefined","ICON_MAP","render","color","h","key","class","style"],"sources":["src/components/Result/result.css?tag=hb-result&encapsulation=shadow","src/components/Result/Result.tsx"],"sourcesContent":[":host { display: block; }\n\n.hb-result {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding: var(--hb-spacing-xl) var(--hb-spacing-md);\n text-align: center;\n}\n\n/* 图标 */\n.hb-result__icon {\n display: flex;\n align-items: center;\n justify-content: center;\n margin-bottom: var(--hb-spacing-md);\n font-size: 72px;\n line-height: 1;\n}\n.hb-result__icon-symbol { font-size: inherit; }\n\n/* 标题 */\n.hb-result__title {\n color: var(--hb-color-text-primary);\n font-size: var(--hb-font-size-xl);\n line-height: 1.4;\n font-weight: 500;\n}\n\n/* 副标题 */\n.hb-result__subtitle {\n margin-top: var(--hb-spacing-xs);\n color: var(--hb-color-text-secondary);\n font-size: var(--hb-font-size-base);\n line-height: 1.5;\n}\n\n/* 操作区 */\n.hb-result__extra {\n margin-top: var(--hb-spacing-lg);\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: center;\n gap: var(--hb-spacing-xs);\n}\n","import { Component, h, Prop } from '@stencil/core';\n\nexport type ResultStatus = 'success' | 'error' | 'warning' | 'info' | '404' | '403' | '500';\n\n/**\n * Result 结果页组件\n * 反馈一系列操作任务的处理结果,常用于步骤完成后展示\n */\n@Component({\n tag: 'hb-result',\n styleUrl: 'result.css',\n shadow: true,\n})\nexport class Result {\n /** 结果状态,决定图标与主题色 */\n @Prop() status: ResultStatus = 'info';\n\n /** 标题(使用默认值使其成为 required string,避免与 HTMLElement.title 类型冲突) */\n @Prop() title: string = '';\n\n /** 副标题 */\n @Prop() subTitle?: string;\n\n /** 自定义图标文本(覆盖默认状态图标) */\n @Prop() icon?: string;\n\n /** 状态 → 默认图标符号 映射 */\n private static ICON_MAP: Record<ResultStatus, string> = {\n success: '✅',\n error: '❌',\n warning: '⚠️',\n info: 'ℹ️',\n '404': '🔍',\n '403': '🔒',\n '500': '🛠️',\n };\n\n /** 状态 → 主题色令牌 映射 */\n private static COLOR_MAP: Record<ResultStatus, string> = {\n success: 'var(--hb-color-success)',\n error: 'var(--hb-color-danger)',\n warning: 'var(--hb-color-warning)',\n info: 'var(--hb-color-info)',\n '404': 'var(--hb-color-text-secondary)',\n '403': 'var(--hb-color-text-secondary)',\n '500': 'var(--hb-color-text-secondary)',\n };\n\n private getColor(): string {\n return Result.COLOR_MAP[this.status] || 'var(--hb-color-info)';\n }\n\n private getIcon(): string {\n return this.icon !== undefined ? this.icon : Result.ICON_MAP[this.status] || Result.ICON_MAP.info;\n }\n\n render() {\n const color = this.getColor();\n return (\n <div class={{ 'hb-result': true, [`hb-result--${this.status}`]: true }}>\n <div class=\"hb-result__icon\" style={{ color }}>\n <span class=\"hb-result__icon-symbol\">{this.getIcon()}</span>\n </div>\n {this.title && <div class=\"hb-result__title\">{this.title}</div>}\n {this.subTitle !== undefined && <div class=\"hb-result__subtitle\">{this.subTitle}</div>}\n <div class=\"hb-result__extra\"><slot /></div>\n </div>\n );\n }\n}\n"],"mappings":"2CAAA,MAAMA,EAAY,4yMAClB,MAAAC,EAAeD,E,MCYFE,EAAM,M,yBAETC,OAAuB,OAGvBC,MAAgB,GAGhBC,SAGAC,KAGAC,gBAAgD,CACtDC,QAAS,IACTC,MAAO,IACPC,QAAS,KACTC,KAAM,KACN,IAAO,KACP,IAAO,KACP,IAAO,OAIDJ,iBAAiD,CACvDC,QAAS,0BACTC,MAAO,yBACPC,QAAS,0BACTC,KAAM,uBACN,IAAO,iCACP,IAAO,iCACP,IAAO,kCAGD,QAAAC,GACN,OAAOV,EAAOW,UAAUC,KAAKX,SAAW,sB,CAGlC,OAAAY,GACN,OAAOD,KAAKR,OAASU,UAAYF,KAAKR,KAAOJ,EAAOe,SAASH,KAAKX,SAAWD,EAAOe,SAASN,I,CAG/F,MAAAO,GACE,MAAMC,EAAQL,KAAKF,WACnB,OACEQ,EAAA,OAAAC,IAAA,2CAAKC,MAAO,CAAE,YAAa,KAAM,CAAC,cAAcR,KAAKX,UAAW,OAC9DiB,EAAA,OAAAC,IAAA,2CAAKC,MAAM,kBAAkBC,MAAO,CAAEJ,UACpCC,EAAA,QAAAC,IAAA,2CAAMC,MAAM,0BAA0BR,KAAKC,YAE5CD,KAAKV,OAASgB,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAoBR,KAAKV,OAClDU,KAAKT,WAAaW,WAAaI,EAAA,OAAAC,IAAA,2CAAKC,MAAM,uBAAuBR,KAAKT,UACvEe,EAAA,OAAAC,IAAA,2CAAKC,MAAM,oBAAmBF,EAAA,QAAAC,IAAA,8C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i}from"./p-e42dfa95.js";import{p as a,a as o,b as r,M as n,c as s,g as l,W as d,d as h}from"./p-cf94cbf6.js";const c='/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:block}.hb-date-picker-pane{background-color:var(--hb-color-white,#fff);border-radius:4px;padding:12px}.hb-date-picker-pane__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px}.hb-date-picker-pane__header-label{background:0 0;border:none;border-radius:4px;color:var(--hb-color-text-regular,#606266);cursor:pointer;font-size:14px;font-weight:600;padding:4px 8px;transition:color .2s,background-color .2s}.hb-date-picker-pane__header-label:hover{background-color:var(--hb-fill-color-light,#f5f7fa);color:var(--hb-color-primary)}.hb-date-picker-pane__next-btn,.hb-date-picker-pane__prev-btn{background:0 0;border:none;color:var(--hb-color-text-regular,#606266);cursor:pointer;font-size:18px;padding:4px 8px;transition:color .2s}.hb-date-picker-pane__next-btn:hover,.hb-date-picker-pane__prev-btn:hover{color:var(--hb-color-primary)}.hb-date-picker-pane__weekdays{display:grid;gap:4px;grid-template-columns:repeat(7,1fr);margin-bottom:8px}.hb-date-picker-pane__weekday{color:var(--hb-color-text-placeholder,#c0c4cc);font-size:12px;font-weight:500;text-align:center}.hb-date-picker-pane__days{display:grid;gap:4px;grid-template-columns:repeat(7,1fr)}.hb-date-picker-pane__day{align-items:center;aspect-ratio:1;border-radius:4px;color:var(--hb-color-text-regular,#606266);cursor:pointer;display:flex;font-size:13px;justify-content:center;transition:all .2s}.hb-date-picker-pane__day:hover:not(.hb-date-picker-pane__day--other-month){background-color:var(--hb-fill-color-light,#f5f7fa)}.hb-date-picker-pane__day--other-month{color:var(--hb-color-text-placeholder,#c0c4cc);cursor:default}.hb-date-picker-pane__day--today{color:var(--hb-color-primary);font-weight:600}.hb-date-picker-pane__day--selected{background-color:var(--hb-color-primary);color:var(--hb-color-white,#fff)}.hb-date-picker-pane__months,.hb-date-picker-pane__years{display:grid;gap:8px;grid-template-columns:repeat(3,1fr);padding:4px 0}.hb-date-picker-pane__month,.hb-date-picker-pane__year{align-items:center;border-radius:4px;color:var(--hb-color-text-regular,#606266);cursor:pointer;display:flex;font-size:13px;justify-content:center;min-height:48px;transition:background-color .2s,color .2s}.hb-date-picker-pane__month:hover,.hb-date-picker-pane__year:hover{background-color:var(--hb-fill-color-light,#f5f7fa)}.hb-date-picker-pane__month--current,.hb-date-picker-pane__year--current{color:var(--hb-color-primary);font-weight:600}.hb-date-picker-pane__month--selected,.hb-date-picker-pane__year--selected{background-color:var(--hb-color-primary);color:var(--hb-color-white,#fff)}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}';const p=c;const b=class{constructor(i){e(this,i);this.hbChange=t(this,"hbChange",7);this.hbViewChange=t(this,"hbViewChange",7)}modelValue;format="YYYY-MM-DD";view="days";selectedDate;hbChange;hbViewChange;componentDidLoad(){this.updateSelectedDate()}handleValueChange(){this.updateSelectedDate()}updateSelectedDate(){this.selectedDate=a(this.modelValue)}handleDateSelect=e=>{this.selectedDate=e;this.modelValue=e;this.hbChange.emit(e)};handlePrev=()=>{const e=this.selectedDate||new Date;if(this.view==="days"){this.selectedDate=o(e,-1)}else if(this.view==="months"){this.selectedDate=r(e,-1)}else{this.selectedDate=r(e,-12)}};handleNext=()=>{const e=this.selectedDate||new Date;if(this.view==="days"){this.selectedDate=o(e,1)}else if(this.view==="months"){this.selectedDate=r(e,1)}else{this.selectedDate=r(e,12)}};handleHeaderTitleClick=()=>{if(this.view==="days"){this.view="months"}else if(this.view==="months"){this.view="years"}this.hbViewChange.emit(this.view)};handleMonthSelect=e=>{const t=this.selectedDate||new Date;const i=new Date(t);i.setMonth(e);this.selectedDate=i;this.view="days";this.hbViewChange.emit(this.view)};handleYearSelect=e=>{const t=this.selectedDate||new Date;const i=new Date(t);i.setFullYear(e);this.selectedDate=i;this.view="months";this.hbViewChange.emit(this.view)};getHeaderTitle(){const e=this.selectedDate||new Date;if(this.view==="days"){return`${e.getFullYear()}年 ${n[e.getMonth()]}`}if(this.view==="months"){return`${e.getFullYear()}年`}const t=s(e);return`${t} - ${t+11}`}render(){const e=this.selectedDate||new Date;return i("div",{key:"2259a27d8de2d7944a83a85c2fb2281d22d7f62e",class:"hb-date-picker-pane"},i("div",{key:"8c27820ac2eeb5a39be44f828879c98a33f89e91",class:"hb-date-picker-pane__header"},i("button",{key:"ea7060e14f917bc003303d2dd2d680c3de24d62a",type:"button",class:"hb-date-picker-pane__prev-btn","aria-label":"上一个",onClick:this.handlePrev},"‹"),i("button",{key:"020b053fcfed2384ab62b3c8b408c47864f54a57",type:"button",class:"hb-date-picker-pane__header-label","aria-live":"polite",onClick:this.handleHeaderTitleClick},this.getHeaderTitle()),i("button",{key:"055a6e6d191c2c2e29f3d459c27a8007086de7ee",type:"button",class:"hb-date-picker-pane__next-btn","aria-label":"下一个",onClick:this.handleNext},"›")),this.view==="days"&&this.renderDaysView(),this.view==="months"&&this.renderMonthsView(e),this.view==="years"&&this.renderYearsView(e))}renderDaysView(){const e=l(this.selectedDate||new Date,this.selectedDate);return i("div",{class:"hb-date-picker-pane__body"},i("div",{class:"hb-date-picker-pane__weekdays"},d.map((e=>i("div",{class:"hb-date-picker-pane__weekday"},e)))),i("div",{class:"hb-date-picker-pane__days"},e.map(((e,t)=>i("div",{key:t,class:{"hb-date-picker-pane__day":true,"hb-date-picker-pane__day--other-month":!e.isCurrentMonth,"hb-date-picker-pane__day--today":e.isToday,"hb-date-picker-pane__day--selected":e.isSelected},onClick:()=>e.isCurrentMonth&&this.handleDateSelect(e.date)},e.date.getDate())))))}renderMonthsView(e){const t=a(this.modelValue);const o=t?t.getMonth():-1;const r=t?t.getFullYear():-1;return i("div",{class:"hb-date-picker-pane__body"},i("div",{class:"hb-date-picker-pane__months"},n.map(((t,a)=>i("div",{key:a,class:{"hb-date-picker-pane__month":true,"hb-date-picker-pane__month--current":a===e.getMonth(),"hb-date-picker-pane__month--selected":a===o&&e.getFullYear()===r},onClick:()=>this.handleMonthSelect(a)},t)))))}renderYearsView(e){const t=a(this.modelValue);const o=h(this.selectedDate||new Date,t);return i("div",{class:"hb-date-picker-pane__body"},i("div",{class:"hb-date-picker-pane__years"},o.map((t=>i("div",{key:t.year,class:{"hb-date-picker-pane__year":true,"hb-date-picker-pane__year--current":t.year===e.getFullYear(),"hb-date-picker-pane__year--selected":t.isSelected},onClick:()=>this.handleYearSelect(t.year)},t.year)))))}static get watchers(){return{modelValue:["handleValueChange"]}}};b.style=p;export{b as hb_date_picker_pane};
2
+ //# sourceMappingURL=p-6ac242fe.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["datePickerPaneCss","HbDatePickerPaneStyle0","DatePickerPane","modelValue","format","view","selectedDate","hbChange","hbViewChange","componentDidLoad","this","updateSelectedDate","handleValueChange","parseDate","handleDateSelect","date","emit","handlePrev","base","Date","addMonths","addYears","handleNext","handleHeaderTitleClick","handleMonthSelect","monthIndex","next","setMonth","handleYearSelect","year","setFullYear","getHeaderTitle","current","getFullYear","MONTH_NAMES","getMonth","start","getYearRangeStart","render","h","key","class","type","onClick","renderDaysView","renderMonthsView","renderYearsView","days","getCalendarDays","WEEK_DAY_NAMES","map","day","index","isCurrentMonth","isToday","isSelected","getDate","modelDate","selectedMonth","selectedYear","name","years","getCalendarYears","item"],"sources":["src/components/DatePickerPane/date-picker-pane.css?tag=hb-date-picker-pane&encapsulation=shadow","src/components/DatePickerPane/DatePickerPane.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hb-date-picker-pane {\n padding: 12px;\n background-color: var(--hb-color-white, #ffffff);\n border-radius: 4px;\n}\n\n.hb-date-picker-pane__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: 12px;\n}\n\n.hb-date-picker-pane__header-label {\n font-weight: 600;\n font-size: 14px;\n color: var(--hb-color-text-regular, #606266);\n background: none;\n border: none;\n cursor: pointer;\n padding: 4px 8px;\n border-radius: 4px;\n transition: color 0.2s, background-color 0.2s;\n}\n\n.hb-date-picker-pane__header-label:hover {\n color: var(--hb-color-primary);\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-date-picker-pane__prev-btn,\n.hb-date-picker-pane__next-btn {\n background: none;\n border: none;\n font-size: 18px;\n cursor: pointer;\n color: var(--hb-color-text-regular, #606266);\n padding: 4px 8px;\n transition: color 0.2s;\n}\n\n.hb-date-picker-pane__prev-btn:hover,\n.hb-date-picker-pane__next-btn:hover {\n color: var(--hb-color-primary);\n}\n\n.hb-date-picker-pane__weekdays {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 4px;\n margin-bottom: 8px;\n}\n\n.hb-date-picker-pane__weekday {\n text-align: center;\n font-size: 12px;\n color: var(--hb-color-text-placeholder, #c0c4cc);\n font-weight: 500;\n}\n\n.hb-date-picker-pane__days {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 4px;\n}\n\n.hb-date-picker-pane__day {\n aspect-ratio: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n font-size: 13px;\n color: var(--hb-color-text-regular, #606266);\n cursor: pointer;\n border-radius: 4px;\n transition: all 0.2s;\n}\n\n.hb-date-picker-pane__day:hover:not(.hb-date-picker-pane__day--other-month) {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-date-picker-pane__day--other-month {\n color: var(--hb-color-text-placeholder, #c0c4cc);\n cursor: default;\n}\n\n.hb-date-picker-pane__day--today {\n color: var(--hb-color-primary);\n font-weight: 600;\n}\n\n.hb-date-picker-pane__day--selected {\n background-color: var(--hb-color-primary);\n color: var(--hb-color-white, #ffffff);\n}\n\n/* months / years 视图共享格子样式 */\n.hb-date-picker-pane__months,\n.hb-date-picker-pane__years {\n display: grid;\n grid-template-columns: repeat(3, 1fr);\n gap: 8px;\n padding: 4px 0;\n}\n\n.hb-date-picker-pane__month,\n.hb-date-picker-pane__year {\n display: flex;\n align-items: center;\n justify-content: center;\n min-height: 48px;\n font-size: 13px;\n color: var(--hb-color-text-regular, #606266);\n cursor: pointer;\n border-radius: 4px;\n transition: background-color 0.2s, color 0.2s;\n}\n\n.hb-date-picker-pane__month:hover,\n.hb-date-picker-pane__year:hover {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-date-picker-pane__month--current,\n.hb-date-picker-pane__year--current {\n color: var(--hb-color-primary);\n font-weight: 600;\n}\n\n.hb-date-picker-pane__month--selected,\n.hb-date-picker-pane__year--selected {\n background-color: var(--hb-color-primary);\n color: var(--hb-color-white, #ffffff);\n}\n\n","import { Component, h, Prop, Event, EventEmitter, State, Watch } from '@stencil/core';\nimport {\n getCalendarDays,\n getCalendarYears,\n getYearRangeStart,\n parseDate,\n addMonths,\n addYears,\n MONTH_NAMES,\n WEEK_DAY_NAMES,\n} from '../../utils/date-helpers';\n\n/** DatePickerPane 视图类型 */\nexport type DatePickerPaneView = 'days' | 'months' | 'years';\n\n/**\n * DatePickerPane 日期选择器面板组件\n * 日期选择器面板,用于嵌入到其他组件中\n * 支持 days / months / years 三种视图切换\n */\n@Component({\n tag: 'hb-date-picker-pane',\n styleUrl: 'date-picker-pane.css',\n shadow: true,\n})\nexport class DatePickerPane {\n /** 绑定值 */\n @Prop({ mutable: true }) modelValue?: string | Date;\n\n /** 日期格式 */\n @Prop() format: string = 'YYYY-MM-DD';\n\n /** 当前视图类型,默认 days */\n @Prop({ mutable: true }) view: DatePickerPaneView = 'days';\n\n @State() selectedDate?: Date;\n\n /** 值改变事件 */\n @Event() hbChange: EventEmitter<string | Date>;\n\n /** 视图切换事件 */\n @Event() hbViewChange: EventEmitter<DatePickerPaneView>;\n\n componentDidLoad() {\n this.updateSelectedDate();\n }\n\n @Watch('modelValue')\n handleValueChange() {\n this.updateSelectedDate();\n }\n\n private updateSelectedDate() {\n this.selectedDate = parseDate(this.modelValue);\n }\n\n private handleDateSelect = (date: Date) => {\n this.selectedDate = date;\n this.modelValue = date;\n this.hbChange.emit(date);\n };\n\n /** 头部导航箭头:days 视图 ±1 月,months 视图 ±1 年,years 视图 ±12 年 */\n private handlePrev = () => {\n const base = this.selectedDate || new Date();\n if (this.view === 'days') {\n this.selectedDate = addMonths(base, -1);\n } else if (this.view === 'months') {\n this.selectedDate = addYears(base, -1);\n } else {\n this.selectedDate = addYears(base, -12);\n }\n };\n\n private handleNext = () => {\n const base = this.selectedDate || new Date();\n if (this.view === 'days') {\n this.selectedDate = addMonths(base, 1);\n } else if (this.view === 'months') {\n this.selectedDate = addYears(base, 1);\n } else {\n this.selectedDate = addYears(base, 12);\n }\n };\n\n /** 点击 header 标题:days→months→years */\n private handleHeaderTitleClick = () => {\n if (this.view === 'days') {\n this.view = 'months';\n } else if (this.view === 'months') {\n this.view = 'years';\n }\n this.hbViewChange.emit(this.view);\n };\n\n /** months 视图:选某月 → 切回 days 并跳到该月 */\n private handleMonthSelect = (monthIndex: number) => {\n const base = this.selectedDate || new Date();\n const next = new Date(base);\n next.setMonth(monthIndex);\n this.selectedDate = next;\n this.view = 'days';\n this.hbViewChange.emit(this.view);\n };\n\n /** years 视图:选某年 → 切到 months 并跳到该年 */\n private handleYearSelect = (year: number) => {\n const base = this.selectedDate || new Date();\n const next = new Date(base);\n next.setFullYear(year);\n this.selectedDate = next;\n this.view = 'months';\n this.hbViewChange.emit(this.view);\n };\n\n /** 头部标题文本,根据视图类型生成 */\n private getHeaderTitle(): string {\n const current = this.selectedDate || new Date();\n if (this.view === 'days') {\n return `${current.getFullYear()}年 ${MONTH_NAMES[current.getMonth()]}`;\n }\n if (this.view === 'months') {\n return `${current.getFullYear()}年`;\n }\n // years 视图显示年份档区间,如 2020 - 2031\n const start = getYearRangeStart(current);\n return `${start} - ${start + 11}`;\n }\n\n render() {\n const current = this.selectedDate || new Date();\n\n return (\n <div class=\"hb-date-picker-pane\">\n <div class=\"hb-date-picker-pane__header\">\n <button type=\"button\" class=\"hb-date-picker-pane__prev-btn\" aria-label=\"上一个\" onClick={this.handlePrev}>\n ‹\n </button>\n <button\n type=\"button\"\n class=\"hb-date-picker-pane__header-label\"\n aria-live=\"polite\"\n onClick={this.handleHeaderTitleClick}\n >\n {this.getHeaderTitle()}\n </button>\n <button type=\"button\" class=\"hb-date-picker-pane__next-btn\" aria-label=\"下一个\" onClick={this.handleNext}>\n ›\n </button>\n </div>\n\n {this.view === 'days' && this.renderDaysView()}\n {this.view === 'months' && this.renderMonthsView(current)}\n {this.view === 'years' && this.renderYearsView(current)}\n </div>\n );\n }\n\n private renderDaysView() {\n const days = getCalendarDays(this.selectedDate || new Date(), this.selectedDate);\n return (\n <div class=\"hb-date-picker-pane__body\">\n <div class=\"hb-date-picker-pane__weekdays\">\n {WEEK_DAY_NAMES.map(day => (\n <div class=\"hb-date-picker-pane__weekday\">{day}</div>\n ))}\n </div>\n <div class=\"hb-date-picker-pane__days\">\n {days.map((day, index) => (\n <div\n key={index}\n class={{\n 'hb-date-picker-pane__day': true,\n 'hb-date-picker-pane__day--other-month': !day.isCurrentMonth,\n 'hb-date-picker-pane__day--today': day.isToday,\n 'hb-date-picker-pane__day--selected': day.isSelected,\n }}\n onClick={() => day.isCurrentMonth && this.handleDateSelect(day.date)}\n >\n {day.date.getDate()}\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n private renderMonthsView(current: Date) {\n // modelValue(选中值)所在的年/月\n const modelDate = parseDate(this.modelValue);\n const selectedMonth = modelDate ? modelDate.getMonth() : -1;\n const selectedYear = modelDate ? modelDate.getFullYear() : -1;\n // current 是当前面板的浏览焦点日期(selectedDate 或今天)\n return (\n <div class=\"hb-date-picker-pane__body\">\n <div class=\"hb-date-picker-pane__months\">\n {MONTH_NAMES.map((name, monthIndex) => (\n <div\n key={monthIndex}\n class={{\n 'hb-date-picker-pane__month': true,\n 'hb-date-picker-pane__month--current': monthIndex === current.getMonth(),\n 'hb-date-picker-pane__month--selected':\n monthIndex === selectedMonth && current.getFullYear() === selectedYear,\n }}\n onClick={() => this.handleMonthSelect(monthIndex)}\n >\n {name}\n </div>\n ))}\n </div>\n </div>\n );\n }\n\n private renderYearsView(current: Date) {\n const modelDate = parseDate(this.modelValue);\n const years = getCalendarYears(this.selectedDate || new Date(), modelDate);\n return (\n <div class=\"hb-date-picker-pane__body\">\n <div class=\"hb-date-picker-pane__years\">\n {years.map(item => (\n <div\n key={item.year}\n class={{\n 'hb-date-picker-pane__year': true,\n 'hb-date-picker-pane__year--current': item.year === current.getFullYear(),\n 'hb-date-picker-pane__year--selected': item.isSelected,\n }}\n onClick={() => this.handleYearSelect(item.year)}\n >\n {item.year}\n </div>\n ))}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}