huibo-ui 0.4.0 → 0.6.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 (661) hide show
  1. package/dist/cjs/{a11y-802de67a.js → a11y-4385c871.js} +17 -2
  2. package/dist/cjs/a11y-4385c871.js.map +1 -0
  3. package/dist/cjs/{date-helpers-1ffddc59.js → date-helpers-c05ef385.js} +5 -16
  4. package/dist/cjs/date-helpers-c05ef385.js.map +1 -0
  5. package/dist/cjs/hb-alert.cjs.entry.js +2 -1
  6. package/dist/cjs/hb-alert.cjs.entry.js.map +1 -1
  7. package/dist/cjs/hb-calendar.cjs.entry.js +2 -2
  8. package/dist/cjs/hb-calendar.cjs.entry.js.map +1 -1
  9. package/dist/cjs/hb-cascader.cjs.entry.js +48 -12
  10. package/dist/cjs/hb-cascader.cjs.entry.js.map +1 -1
  11. package/dist/cjs/hb-checkbox-group.cjs.entry.js +12 -8
  12. package/dist/cjs/hb-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/hb-checkbox.cjs.entry.js +9 -4
  14. package/dist/cjs/hb-checkbox.cjs.entry.js.map +1 -1
  15. package/dist/cjs/hb-collapse-item.cjs.entry.js +13 -4
  16. package/dist/cjs/hb-collapse-item.cjs.entry.js.map +1 -1
  17. package/dist/cjs/hb-collapse.cjs.entry.js +20 -15
  18. package/dist/cjs/hb-collapse.cjs.entry.js.map +1 -1
  19. package/dist/cjs/hb-color-picker.cjs.entry.js +22 -19
  20. package/dist/cjs/hb-color-picker.cjs.entry.js.map +1 -1
  21. package/dist/cjs/hb-date-picker-pane.cjs.entry.js +1 -1
  22. package/dist/cjs/hb-date-picker.cjs.entry.js +13 -10
  23. package/dist/cjs/hb-date-picker.cjs.entry.js.map +1 -1
  24. package/dist/cjs/hb-date-range-picker.cjs.entry.js +1 -1
  25. package/dist/cjs/hb-date-time-picker.cjs.entry.js +1 -1
  26. package/dist/cjs/hb-descriptions.cjs.entry.js.map +1 -1
  27. package/dist/cjs/hb-dialog.cjs.entry.js +51 -12
  28. package/dist/cjs/hb-dialog.cjs.entry.js.map +1 -1
  29. package/dist/cjs/hb-drawer.cjs.entry.js +34 -4
  30. package/dist/cjs/hb-drawer.cjs.entry.js.map +1 -1
  31. package/dist/cjs/hb-dropdown.cjs.entry.js +27 -15
  32. package/dist/cjs/hb-dropdown.cjs.entry.js.map +1 -1
  33. package/dist/cjs/hb-empty.cjs.entry.js +1 -1
  34. package/dist/cjs/hb-float-button.cjs.entry.js +2 -2
  35. package/dist/cjs/hb-form-item.cjs.entry.js +67 -16
  36. package/dist/cjs/hb-form-item.cjs.entry.js.map +1 -1
  37. package/dist/cjs/hb-form.cjs.entry.js +115 -7
  38. package/dist/cjs/hb-form.cjs.entry.js.map +1 -1
  39. package/dist/cjs/hb-image-preview.cjs.entry.js +1 -1
  40. package/dist/cjs/hb-image-preview.cjs.entry.js.map +1 -1
  41. package/dist/cjs/hb-image.cjs.entry.js +21 -3
  42. package/dist/cjs/hb-image.cjs.entry.js.map +1 -1
  43. package/dist/cjs/hb-input-number.cjs.entry.js +7 -7
  44. package/dist/cjs/hb-input-number.cjs.entry.js.map +1 -1
  45. package/dist/cjs/hb-input-tag.cjs.entry.js +2 -2
  46. package/dist/cjs/hb-input.cjs.entry.js +3 -2
  47. package/dist/cjs/hb-input.cjs.entry.js.map +1 -1
  48. package/dist/cjs/hb-layout.cjs.entry.js.map +1 -1
  49. package/dist/cjs/hb-link.cjs.entry.js +2 -2
  50. package/dist/cjs/hb-loading.cjs.entry.js +2 -2
  51. package/dist/cjs/hb-menu-item.cjs.entry.js +14 -5
  52. package/dist/cjs/hb-menu-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/hb-menu.cjs.entry.js +2 -2
  54. package/dist/cjs/hb-message.cjs.entry.js +13 -4
  55. package/dist/cjs/hb-message.cjs.entry.js.map +1 -1
  56. package/dist/cjs/hb-page-header.cjs.entry.js +1 -1
  57. package/dist/cjs/hb-pagination.cjs.entry.js +8 -5
  58. package/dist/cjs/hb-pagination.cjs.entry.js.map +1 -1
  59. package/dist/cjs/hb-popconfirm.cjs.entry.js +27 -8
  60. package/dist/cjs/hb-popconfirm.cjs.entry.js.map +1 -1
  61. package/dist/cjs/hb-popover.cjs.entry.js +26 -14
  62. package/dist/cjs/hb-popover.cjs.entry.js.map +1 -1
  63. package/dist/cjs/hb-progress.cjs.entry.js +1 -1
  64. package/dist/cjs/hb-radio.cjs.entry.js +8 -3
  65. package/dist/cjs/hb-radio.cjs.entry.js.map +1 -1
  66. package/dist/cjs/hb-rate.cjs.entry.js +3 -3
  67. package/dist/cjs/hb-rate.cjs.entry.js.map +1 -1
  68. package/dist/cjs/hb-row.cjs.entry.js +2 -2
  69. package/dist/cjs/hb-scrollbar.cjs.entry.js +5 -5
  70. package/dist/cjs/hb-scrollbar.cjs.entry.js.map +1 -1
  71. package/dist/cjs/hb-segmented.cjs.entry.js +13 -2
  72. package/dist/cjs/hb-segmented.cjs.entry.js.map +1 -1
  73. package/dist/cjs/hb-select.cjs.entry.js +100 -19
  74. package/dist/cjs/hb-select.cjs.entry.js.map +1 -1
  75. package/dist/cjs/hb-slider.cjs.entry.js +6 -12
  76. package/dist/cjs/hb-slider.cjs.entry.js.map +1 -1
  77. package/dist/cjs/hb-space.cjs.entry.js +2 -2
  78. package/dist/cjs/hb-statistic.cjs.entry.js +1 -1
  79. package/dist/cjs/hb-step.cjs.entry.js +1 -1
  80. package/dist/cjs/hb-steps.cjs.entry.js +3 -3
  81. package/dist/cjs/hb-steps.cjs.entry.js.map +1 -1
  82. package/dist/cjs/hb-sub-menu.cjs.entry.js +5 -5
  83. package/dist/cjs/hb-switch.cjs.entry.js +3 -3
  84. package/dist/cjs/hb-switch.cjs.entry.js.map +1 -1
  85. package/dist/cjs/hb-tab-pane.cjs.entry.js +1 -1
  86. package/dist/cjs/hb-table.cjs.entry.js +218 -41
  87. package/dist/cjs/hb-table.cjs.entry.js.map +1 -1
  88. package/dist/cjs/hb-tabs.cjs.entry.js +31 -10
  89. package/dist/cjs/hb-tabs.cjs.entry.js.map +1 -1
  90. package/dist/cjs/hb-tag.cjs.entry.js +3 -2
  91. package/dist/cjs/hb-tag.cjs.entry.js.map +1 -1
  92. package/dist/cjs/hb-text.cjs.entry.js +2 -2
  93. package/dist/cjs/hb-time-picker.cjs.entry.js +14 -9
  94. package/dist/cjs/hb-time-picker.cjs.entry.js.map +1 -1
  95. package/dist/cjs/hb-time-select.cjs.entry.js +13 -4
  96. package/dist/cjs/hb-time-select.cjs.entry.js.map +1 -1
  97. package/dist/cjs/hb-tooltip.cjs.entry.js +30 -10
  98. package/dist/cjs/hb-tooltip.cjs.entry.js.map +1 -1
  99. package/dist/cjs/hb-tree-select.cjs.entry.js +125 -10
  100. package/dist/cjs/hb-tree-select.cjs.entry.js.map +1 -1
  101. package/dist/cjs/hb-tree.cjs.entry.js +145 -12
  102. package/dist/cjs/hb-tree.cjs.entry.js.map +1 -1
  103. package/dist/cjs/hb-watermark.cjs.entry.js +19 -11
  104. package/dist/cjs/hb-watermark.cjs.entry.js.map +1 -1
  105. package/dist/cjs/huibo-ui.cjs.js +1 -1
  106. package/dist/cjs/loader.cjs.js +1 -1
  107. package/dist/cjs/transition-59f1da0f.js +34 -0
  108. package/dist/cjs/transition-59f1da0f.js.map +1 -0
  109. package/dist/collection/components/Alert/Alert.js +2 -1
  110. package/dist/collection/components/Alert/Alert.js.map +1 -1
  111. package/dist/collection/components/Calendar/Calendar.js +2 -2
  112. package/dist/collection/components/Calendar/Calendar.js.map +1 -1
  113. package/dist/collection/components/Cascader/Cascader.js +47 -11
  114. package/dist/collection/components/Cascader/Cascader.js.map +1 -1
  115. package/dist/collection/components/Checkbox/Checkbox.js +9 -4
  116. package/dist/collection/components/Checkbox/Checkbox.js.map +1 -1
  117. package/dist/collection/components/Checkbox/CheckboxGroup.js +12 -8
  118. package/dist/collection/components/Checkbox/CheckboxGroup.js.map +1 -1
  119. package/dist/collection/components/Collapse/Collapse.js +20 -15
  120. package/dist/collection/components/Collapse/Collapse.js.map +1 -1
  121. package/dist/collection/components/Collapse/CollapseItem.js +33 -4
  122. package/dist/collection/components/Collapse/CollapseItem.js.map +1 -1
  123. package/dist/collection/components/ColorPicker/ColorPicker.js +22 -19
  124. package/dist/collection/components/ColorPicker/ColorPicker.js.map +1 -1
  125. package/dist/collection/components/ColorPicker/color-picker.css +8 -3
  126. package/dist/collection/components/DatePicker/DatePicker.js +12 -9
  127. package/dist/collection/components/DatePicker/DatePicker.js.map +1 -1
  128. package/dist/collection/components/DatePicker/date-picker.css +3 -2
  129. package/dist/collection/components/Descriptions/descriptions.css +30 -10
  130. package/dist/collection/components/Dialog/Dialog.js +54 -10
  131. package/dist/collection/components/Dialog/Dialog.js.map +1 -1
  132. package/dist/collection/components/Dialog/dialog.css +57 -11
  133. package/dist/collection/components/Drawer/Drawer.js +34 -3
  134. package/dist/collection/components/Drawer/Drawer.js.map +1 -1
  135. package/dist/collection/components/Drawer/drawer.css +207 -17
  136. package/dist/collection/components/Dropdown/Dropdown.js +28 -13
  137. package/dist/collection/components/Dropdown/Dropdown.js.map +1 -1
  138. package/dist/collection/components/Dropdown/dropdown.css +24 -2
  139. package/dist/collection/components/Empty/Empty.js +1 -1
  140. package/dist/collection/components/FloatButton/FloatButton.js +2 -2
  141. package/dist/collection/components/Form/Form.js +217 -9
  142. package/dist/collection/components/Form/Form.js.map +1 -1
  143. package/dist/collection/components/Form/FormItem.js +126 -18
  144. package/dist/collection/components/Form/FormItem.js.map +1 -1
  145. package/dist/collection/components/Form/form-item.css +8 -2
  146. package/dist/collection/components/Image/Image.js +24 -3
  147. package/dist/collection/components/Image/Image.js.map +1 -1
  148. package/dist/collection/components/ImagePreview/ImagePreview.js +1 -1
  149. package/dist/collection/components/ImagePreview/ImagePreview.js.map +1 -1
  150. package/dist/collection/components/Input/Input.js +3 -2
  151. package/dist/collection/components/Input/Input.js.map +1 -1
  152. package/dist/collection/components/Input/input.css +1 -2
  153. package/dist/collection/components/InputNumber/InputNumber.js +6 -6
  154. package/dist/collection/components/InputNumber/InputNumber.js.map +1 -1
  155. package/dist/collection/components/InputNumber/input-number.css +11 -1
  156. package/dist/collection/components/InputTag/InputTag.js +2 -2
  157. package/dist/collection/components/Layout/Layout.js.map +1 -1
  158. package/dist/collection/components/Layout/Row.js +2 -2
  159. package/dist/collection/components/Layout/layout.css +1713 -576
  160. package/dist/collection/components/Link/Link.js +2 -2
  161. package/dist/collection/components/Loading/Loading.js +2 -2
  162. package/dist/collection/components/Menu/Menu.js +2 -2
  163. package/dist/collection/components/Menu/MenuItem.js +34 -5
  164. package/dist/collection/components/Menu/MenuItem.js.map +1 -1
  165. package/dist/collection/components/Menu/SubMenu.js +4 -4
  166. package/dist/collection/components/Message/Message.js +13 -4
  167. package/dist/collection/components/Message/Message.js.map +1 -1
  168. package/dist/collection/components/PageHeader/PageHeader.js +1 -1
  169. package/dist/collection/components/Pagination/Pagination.js +8 -5
  170. package/dist/collection/components/Pagination/Pagination.js.map +1 -1
  171. package/dist/collection/components/Popconfirm/Popconfirm.js +28 -6
  172. package/dist/collection/components/Popconfirm/Popconfirm.js.map +1 -1
  173. package/dist/collection/components/Popconfirm/popconfirm.css +80 -16
  174. package/dist/collection/components/Popover/Popover.js +27 -12
  175. package/dist/collection/components/Popover/Popover.js.map +1 -1
  176. package/dist/collection/components/Popover/popover.css +49 -8
  177. package/dist/collection/components/Progress/Progress.js +1 -1
  178. package/dist/collection/components/Radio/Radio.js +8 -3
  179. package/dist/collection/components/Radio/Radio.js.map +1 -1
  180. package/dist/collection/components/Rate/Rate.js +3 -3
  181. package/dist/collection/components/Rate/Rate.js.map +1 -1
  182. package/dist/collection/components/Scrollbar/Scrollbar.js +5 -5
  183. package/dist/collection/components/Scrollbar/Scrollbar.js.map +1 -1
  184. package/dist/collection/components/Segmented/Segmented.js +15 -1
  185. package/dist/collection/components/Segmented/Segmented.js.map +1 -1
  186. package/dist/collection/components/Select/Select.js +123 -19
  187. package/dist/collection/components/Select/Select.js.map +1 -1
  188. package/dist/collection/components/Select/select.css +0 -1
  189. package/dist/collection/components/Slider/Slider.js +6 -12
  190. package/dist/collection/components/Slider/Slider.js.map +1 -1
  191. package/dist/collection/components/Slider/slider.css +0 -1
  192. package/dist/collection/components/Space/Space.js +2 -2
  193. package/dist/collection/components/Statistic/Statistic.js +1 -1
  194. package/dist/collection/components/Steps/Step.js +1 -1
  195. package/dist/collection/components/Steps/Steps.js +2 -2
  196. package/dist/collection/components/Steps/Steps.js.map +1 -1
  197. package/dist/collection/components/Switch/Switch.js +3 -3
  198. package/dist/collection/components/Switch/Switch.js.map +1 -1
  199. package/dist/collection/components/Switch/switch.css +3 -2
  200. package/dist/collection/components/Table/Table.js +296 -41
  201. package/dist/collection/components/Table/Table.js.map +1 -1
  202. package/dist/collection/components/Table/table.css +6 -2
  203. package/dist/collection/components/Tabs/TabPane.js +1 -1
  204. package/dist/collection/components/Tabs/Tabs.js +31 -10
  205. package/dist/collection/components/Tabs/Tabs.js.map +1 -1
  206. package/dist/collection/components/Tag/Tag.js +3 -2
  207. package/dist/collection/components/Tag/Tag.js.map +1 -1
  208. package/dist/collection/components/Text/Text.js +2 -2
  209. package/dist/collection/components/TimePicker/TimePicker.js +14 -9
  210. package/dist/collection/components/TimePicker/TimePicker.js.map +1 -1
  211. package/dist/collection/components/TimeSelect/TimeSelect.js +13 -4
  212. package/dist/collection/components/TimeSelect/TimeSelect.js.map +1 -1
  213. package/dist/collection/components/Tooltip/Tooltip.js +31 -8
  214. package/dist/collection/components/Tooltip/Tooltip.js.map +1 -1
  215. package/dist/collection/components/Tooltip/tooltip.css +24 -2
  216. package/dist/collection/components/Tree/Tree.js +147 -13
  217. package/dist/collection/components/Tree/Tree.js.map +1 -1
  218. package/dist/collection/components/TreeSelect/TreeSelect.js +130 -11
  219. package/dist/collection/components/TreeSelect/TreeSelect.js.map +1 -1
  220. package/dist/collection/components/Watermark/Watermark.js +19 -11
  221. package/dist/collection/components/Watermark/Watermark.js.map +1 -1
  222. package/dist/collection/utils/a11y.js +15 -1
  223. package/dist/collection/utils/a11y.js.map +1 -1
  224. package/dist/collection/utils/date-helpers.js +4 -15
  225. package/dist/collection/utils/date-helpers.js.map +1 -1
  226. package/dist/collection/utils/transition.js +29 -0
  227. package/dist/collection/utils/transition.js.map +1 -0
  228. package/dist/collection/utils/virtual-scroll.js +39 -0
  229. package/dist/collection/utils/virtual-scroll.js.map +1 -0
  230. package/dist/components/hb-alert.js +2 -1
  231. package/dist/components/hb-alert.js.map +1 -1
  232. package/dist/components/hb-calendar.js +2 -2
  233. package/dist/components/hb-calendar.js.map +1 -1
  234. package/dist/components/hb-cascader.js +48 -12
  235. package/dist/components/hb-cascader.js.map +1 -1
  236. package/dist/components/hb-checkbox-group.js +12 -8
  237. package/dist/components/hb-checkbox-group.js.map +1 -1
  238. package/dist/components/hb-checkbox.js +9 -4
  239. package/dist/components/hb-checkbox.js.map +1 -1
  240. package/dist/components/hb-collapse-item.js +14 -4
  241. package/dist/components/hb-collapse-item.js.map +1 -1
  242. package/dist/components/hb-collapse.js +20 -15
  243. package/dist/components/hb-collapse.js.map +1 -1
  244. package/dist/components/hb-color-picker.js +22 -19
  245. package/dist/components/hb-color-picker.js.map +1 -1
  246. package/dist/components/hb-date-picker-pane.js +1 -1
  247. package/dist/components/hb-date-picker.js +13 -10
  248. package/dist/components/hb-date-picker.js.map +1 -1
  249. package/dist/components/hb-date-range-picker.js +1 -1
  250. package/dist/components/hb-date-time-picker.js +1 -1
  251. package/dist/components/hb-descriptions.js.map +1 -1
  252. package/dist/components/hb-dialog.js +53 -13
  253. package/dist/components/hb-dialog.js.map +1 -1
  254. package/dist/components/hb-drawer.js +36 -5
  255. package/dist/components/hb-drawer.js.map +1 -1
  256. package/dist/components/hb-dropdown.js +28 -15
  257. package/dist/components/hb-dropdown.js.map +1 -1
  258. package/dist/components/hb-empty.js +1 -1
  259. package/dist/components/hb-float-button.js +2 -2
  260. package/dist/components/hb-form-item.js +70 -16
  261. package/dist/components/hb-form-item.js.map +1 -1
  262. package/dist/components/hb-form.js +120 -7
  263. package/dist/components/hb-form.js.map +1 -1
  264. package/dist/components/hb-image-preview.js +1 -1
  265. package/dist/components/hb-image-preview.js.map +1 -1
  266. package/dist/components/hb-image.js +23 -3
  267. package/dist/components/hb-image.js.map +1 -1
  268. package/dist/components/hb-input-number.js +7 -7
  269. package/dist/components/hb-input-number.js.map +1 -1
  270. package/dist/components/hb-input-tag.js +2 -2
  271. package/dist/components/hb-input.js +3 -2
  272. package/dist/components/hb-input.js.map +1 -1
  273. package/dist/components/hb-layout.js.map +1 -1
  274. package/dist/components/hb-link.js +2 -2
  275. package/dist/components/hb-loading.js +2 -2
  276. package/dist/components/hb-menu-item.js +15 -5
  277. package/dist/components/hb-menu-item.js.map +1 -1
  278. package/dist/components/hb-menu.js +2 -2
  279. package/dist/components/hb-message.js +13 -4
  280. package/dist/components/hb-message.js.map +1 -1
  281. package/dist/components/hb-page-header.js +1 -1
  282. package/dist/components/hb-pagination.js +8 -5
  283. package/dist/components/hb-pagination.js.map +1 -1
  284. package/dist/components/hb-popconfirm.js +28 -8
  285. package/dist/components/hb-popconfirm.js.map +1 -1
  286. package/dist/components/hb-popover.js +27 -14
  287. package/dist/components/hb-popover.js.map +1 -1
  288. package/dist/components/hb-progress.js +1 -1
  289. package/dist/components/hb-radio.js +8 -3
  290. package/dist/components/hb-radio.js.map +1 -1
  291. package/dist/components/hb-rate.js +3 -3
  292. package/dist/components/hb-rate.js.map +1 -1
  293. package/dist/components/hb-row.js +2 -2
  294. package/dist/components/hb-scrollbar.js +5 -5
  295. package/dist/components/hb-scrollbar.js.map +1 -1
  296. package/dist/components/hb-segmented.js +15 -2
  297. package/dist/components/hb-segmented.js.map +1 -1
  298. package/dist/components/hb-select.js +105 -20
  299. package/dist/components/hb-select.js.map +1 -1
  300. package/dist/components/hb-slider.js +6 -12
  301. package/dist/components/hb-slider.js.map +1 -1
  302. package/dist/components/hb-space.js +2 -2
  303. package/dist/components/hb-statistic.js +1 -1
  304. package/dist/components/hb-step.js +1 -1
  305. package/dist/components/hb-steps.js +3 -3
  306. package/dist/components/hb-steps.js.map +1 -1
  307. package/dist/components/hb-sub-menu.js +5 -5
  308. package/dist/components/hb-switch.js +3 -3
  309. package/dist/components/hb-switch.js.map +1 -1
  310. package/dist/components/hb-tab-pane.js +1 -1
  311. package/dist/components/hb-table.js +226 -43
  312. package/dist/components/hb-table.js.map +1 -1
  313. package/dist/components/hb-tabs.js +31 -10
  314. package/dist/components/hb-tabs.js.map +1 -1
  315. package/dist/components/hb-tag.js +3 -2
  316. package/dist/components/hb-tag.js.map +1 -1
  317. package/dist/components/hb-text.js +2 -2
  318. package/dist/components/hb-time-picker.js +14 -9
  319. package/dist/components/hb-time-picker.js.map +1 -1
  320. package/dist/components/hb-time-select.js +13 -4
  321. package/dist/components/hb-time-select.js.map +1 -1
  322. package/dist/components/hb-tooltip.js +31 -10
  323. package/dist/components/hb-tooltip.js.map +1 -1
  324. package/dist/components/hb-tree-select.js +129 -11
  325. package/dist/components/hb-tree-select.js.map +1 -1
  326. package/dist/components/hb-tree.js +147 -13
  327. package/dist/components/hb-tree.js.map +1 -1
  328. package/dist/components/hb-watermark.js +19 -11
  329. package/dist/components/hb-watermark.js.map +1 -1
  330. package/dist/{esm/a11y-f9ab2964.js → components/p-00aa34c8.js} +17 -3
  331. package/dist/components/p-00aa34c8.js.map +1 -0
  332. package/dist/components/{p-08b4005c.js → p-e0876aca.js} +5 -16
  333. package/dist/components/p-e0876aca.js.map +1 -0
  334. package/dist/components/p-fad66d69.js +32 -0
  335. package/dist/components/p-fad66d69.js.map +1 -0
  336. package/dist/{components/p-cc0aeb50.js → esm/a11y-e4cde5b0.js} +17 -3
  337. package/dist/esm/a11y-e4cde5b0.js.map +1 -0
  338. package/dist/esm/{date-helpers-44507189.js → date-helpers-259ed2f1.js} +5 -16
  339. package/dist/esm/date-helpers-259ed2f1.js.map +1 -0
  340. package/dist/esm/hb-alert.entry.js +2 -1
  341. package/dist/esm/hb-alert.entry.js.map +1 -1
  342. package/dist/esm/hb-calendar.entry.js +2 -2
  343. package/dist/esm/hb-calendar.entry.js.map +1 -1
  344. package/dist/esm/hb-cascader.entry.js +48 -12
  345. package/dist/esm/hb-cascader.entry.js.map +1 -1
  346. package/dist/esm/hb-checkbox-group.entry.js +12 -8
  347. package/dist/esm/hb-checkbox-group.entry.js.map +1 -1
  348. package/dist/esm/hb-checkbox.entry.js +9 -4
  349. package/dist/esm/hb-checkbox.entry.js.map +1 -1
  350. package/dist/esm/hb-collapse-item.entry.js +13 -4
  351. package/dist/esm/hb-collapse-item.entry.js.map +1 -1
  352. package/dist/esm/hb-collapse.entry.js +20 -15
  353. package/dist/esm/hb-collapse.entry.js.map +1 -1
  354. package/dist/esm/hb-color-picker.entry.js +22 -19
  355. package/dist/esm/hb-color-picker.entry.js.map +1 -1
  356. package/dist/esm/hb-date-picker-pane.entry.js +1 -1
  357. package/dist/esm/hb-date-picker.entry.js +13 -10
  358. package/dist/esm/hb-date-picker.entry.js.map +1 -1
  359. package/dist/esm/hb-date-range-picker.entry.js +1 -1
  360. package/dist/esm/hb-date-time-picker.entry.js +1 -1
  361. package/dist/esm/hb-descriptions.entry.js.map +1 -1
  362. package/dist/esm/hb-dialog.entry.js +51 -12
  363. package/dist/esm/hb-dialog.entry.js.map +1 -1
  364. package/dist/esm/hb-drawer.entry.js +34 -4
  365. package/dist/esm/hb-drawer.entry.js.map +1 -1
  366. package/dist/esm/hb-dropdown.entry.js +27 -15
  367. package/dist/esm/hb-dropdown.entry.js.map +1 -1
  368. package/dist/esm/hb-empty.entry.js +1 -1
  369. package/dist/esm/hb-float-button.entry.js +2 -2
  370. package/dist/esm/hb-form-item.entry.js +67 -16
  371. package/dist/esm/hb-form-item.entry.js.map +1 -1
  372. package/dist/esm/hb-form.entry.js +115 -7
  373. package/dist/esm/hb-form.entry.js.map +1 -1
  374. package/dist/esm/hb-image-preview.entry.js +1 -1
  375. package/dist/esm/hb-image-preview.entry.js.map +1 -1
  376. package/dist/esm/hb-image.entry.js +21 -3
  377. package/dist/esm/hb-image.entry.js.map +1 -1
  378. package/dist/esm/hb-input-number.entry.js +7 -7
  379. package/dist/esm/hb-input-number.entry.js.map +1 -1
  380. package/dist/esm/hb-input-tag.entry.js +2 -2
  381. package/dist/esm/hb-input.entry.js +3 -2
  382. package/dist/esm/hb-input.entry.js.map +1 -1
  383. package/dist/esm/hb-layout.entry.js.map +1 -1
  384. package/dist/esm/hb-link.entry.js +2 -2
  385. package/dist/esm/hb-loading.entry.js +2 -2
  386. package/dist/esm/hb-menu-item.entry.js +14 -5
  387. package/dist/esm/hb-menu-item.entry.js.map +1 -1
  388. package/dist/esm/hb-menu.entry.js +2 -2
  389. package/dist/esm/hb-message.entry.js +13 -4
  390. package/dist/esm/hb-message.entry.js.map +1 -1
  391. package/dist/esm/hb-page-header.entry.js +1 -1
  392. package/dist/esm/hb-pagination.entry.js +8 -5
  393. package/dist/esm/hb-pagination.entry.js.map +1 -1
  394. package/dist/esm/hb-popconfirm.entry.js +27 -8
  395. package/dist/esm/hb-popconfirm.entry.js.map +1 -1
  396. package/dist/esm/hb-popover.entry.js +26 -14
  397. package/dist/esm/hb-popover.entry.js.map +1 -1
  398. package/dist/esm/hb-progress.entry.js +1 -1
  399. package/dist/esm/hb-radio.entry.js +8 -3
  400. package/dist/esm/hb-radio.entry.js.map +1 -1
  401. package/dist/esm/hb-rate.entry.js +3 -3
  402. package/dist/esm/hb-rate.entry.js.map +1 -1
  403. package/dist/esm/hb-row.entry.js +2 -2
  404. package/dist/esm/hb-scrollbar.entry.js +5 -5
  405. package/dist/esm/hb-scrollbar.entry.js.map +1 -1
  406. package/dist/esm/hb-segmented.entry.js +13 -2
  407. package/dist/esm/hb-segmented.entry.js.map +1 -1
  408. package/dist/esm/hb-select.entry.js +100 -19
  409. package/dist/esm/hb-select.entry.js.map +1 -1
  410. package/dist/esm/hb-slider.entry.js +6 -12
  411. package/dist/esm/hb-slider.entry.js.map +1 -1
  412. package/dist/esm/hb-space.entry.js +2 -2
  413. package/dist/esm/hb-statistic.entry.js +1 -1
  414. package/dist/esm/hb-step.entry.js +1 -1
  415. package/dist/esm/hb-steps.entry.js +3 -3
  416. package/dist/esm/hb-steps.entry.js.map +1 -1
  417. package/dist/esm/hb-sub-menu.entry.js +5 -5
  418. package/dist/esm/hb-switch.entry.js +3 -3
  419. package/dist/esm/hb-switch.entry.js.map +1 -1
  420. package/dist/esm/hb-tab-pane.entry.js +1 -1
  421. package/dist/esm/hb-table.entry.js +218 -41
  422. package/dist/esm/hb-table.entry.js.map +1 -1
  423. package/dist/esm/hb-tabs.entry.js +31 -10
  424. package/dist/esm/hb-tabs.entry.js.map +1 -1
  425. package/dist/esm/hb-tag.entry.js +3 -2
  426. package/dist/esm/hb-tag.entry.js.map +1 -1
  427. package/dist/esm/hb-text.entry.js +2 -2
  428. package/dist/esm/hb-time-picker.entry.js +14 -9
  429. package/dist/esm/hb-time-picker.entry.js.map +1 -1
  430. package/dist/esm/hb-time-select.entry.js +13 -4
  431. package/dist/esm/hb-time-select.entry.js.map +1 -1
  432. package/dist/esm/hb-tooltip.entry.js +30 -10
  433. package/dist/esm/hb-tooltip.entry.js.map +1 -1
  434. package/dist/esm/hb-tree-select.entry.js +125 -10
  435. package/dist/esm/hb-tree-select.entry.js.map +1 -1
  436. package/dist/esm/hb-tree.entry.js +145 -12
  437. package/dist/esm/hb-tree.entry.js.map +1 -1
  438. package/dist/esm/hb-watermark.entry.js +19 -11
  439. package/dist/esm/hb-watermark.entry.js.map +1 -1
  440. package/dist/esm/huibo-ui.js +1 -1
  441. package/dist/esm/loader.js +1 -1
  442. package/dist/esm/transition-4295d789.js +32 -0
  443. package/dist/esm/transition-4295d789.js.map +1 -0
  444. package/dist/huibo-ui/huibo-ui.esm.js +1 -1
  445. package/dist/huibo-ui/huibo-ui.esm.js.map +1 -1
  446. package/dist/huibo-ui/p-00aa34c8.js +2 -0
  447. package/dist/huibo-ui/p-00aa34c8.js.map +1 -0
  448. package/dist/huibo-ui/p-0cc1e3f3.entry.js +2 -0
  449. package/dist/huibo-ui/p-0cc1e3f3.entry.js.map +1 -0
  450. package/dist/huibo-ui/{p-678b4212.entry.js → p-0ddae4e9.entry.js} +2 -2
  451. package/dist/huibo-ui/p-10f6c184.entry.js.map +1 -1
  452. package/dist/huibo-ui/{p-f4336be9.entry.js → p-14c3b47b.entry.js} +2 -2
  453. package/dist/huibo-ui/{p-c50ad398.entry.js → p-193efdc0.entry.js} +2 -2
  454. package/dist/huibo-ui/{p-735bceef.entry.js → p-1b98152b.entry.js} +2 -2
  455. package/dist/huibo-ui/p-1b98152b.entry.js.map +1 -0
  456. package/dist/huibo-ui/p-1f6d0adb.entry.js +2 -0
  457. package/dist/huibo-ui/p-1f6d0adb.entry.js.map +1 -0
  458. package/dist/huibo-ui/{p-0d4b2997.entry.js → p-2bcda1bb.entry.js} +2 -2
  459. package/dist/huibo-ui/{p-b8d87f7e.entry.js → p-2ca9796a.entry.js} +2 -2
  460. package/dist/huibo-ui/p-2ca9796a.entry.js.map +1 -0
  461. package/dist/huibo-ui/{p-c80f8ace.entry.js → p-2cf5bf20.entry.js} +2 -2
  462. package/dist/huibo-ui/p-2cf5bf20.entry.js.map +1 -0
  463. package/dist/huibo-ui/{p-7da14d7c.entry.js → p-3042f986.entry.js} +2 -2
  464. package/dist/huibo-ui/{p-e039155d.entry.js → p-3dacb26b.entry.js} +2 -2
  465. package/dist/huibo-ui/{p-a084b8e5.entry.js → p-412ff618.entry.js} +2 -2
  466. package/dist/huibo-ui/p-4148d875.entry.js +2 -0
  467. package/dist/huibo-ui/p-4148d875.entry.js.map +1 -0
  468. package/dist/huibo-ui/{p-6beb5b81.entry.js → p-415295f3.entry.js} +2 -2
  469. package/dist/huibo-ui/p-415295f3.entry.js.map +1 -0
  470. package/dist/huibo-ui/p-494e6c25.entry.js +2 -0
  471. package/dist/huibo-ui/p-494e6c25.entry.js.map +1 -0
  472. package/dist/huibo-ui/p-4d87d7f4.entry.js +2 -0
  473. package/dist/huibo-ui/p-4d87d7f4.entry.js.map +1 -0
  474. package/dist/huibo-ui/p-5e253c15.entry.js +2 -0
  475. package/dist/huibo-ui/p-5e253c15.entry.js.map +1 -0
  476. package/dist/huibo-ui/p-63d68c61.entry.js +2 -0
  477. package/dist/huibo-ui/p-63d68c61.entry.js.map +1 -0
  478. package/dist/huibo-ui/{p-ccd09d5a.entry.js → p-6518c435.entry.js} +2 -2
  479. package/dist/huibo-ui/{p-1f8db37a.entry.js → p-687d8dff.entry.js} +2 -2
  480. package/dist/huibo-ui/p-687d8dff.entry.js.map +1 -0
  481. package/dist/huibo-ui/p-688460ce.entry.js +2 -0
  482. package/dist/huibo-ui/p-688460ce.entry.js.map +1 -0
  483. package/dist/huibo-ui/p-69bb1dd9.entry.js +2 -0
  484. package/dist/huibo-ui/p-69bb1dd9.entry.js.map +1 -0
  485. package/dist/huibo-ui/{p-2811e603.entry.js → p-6bfe1954.entry.js} +2 -2
  486. package/dist/huibo-ui/p-6bfe1954.entry.js.map +1 -0
  487. package/dist/huibo-ui/{p-e5cbfa9e.entry.js → p-6c23fbd1.entry.js} +2 -2
  488. package/dist/huibo-ui/p-6c23fbd1.entry.js.map +1 -0
  489. package/dist/huibo-ui/p-6c8cf248.entry.js.map +1 -1
  490. package/dist/huibo-ui/p-6efed295.entry.js +2 -0
  491. package/dist/huibo-ui/p-6efed295.entry.js.map +1 -0
  492. package/dist/huibo-ui/p-7a38b3e2.entry.js +2 -0
  493. package/dist/huibo-ui/p-7a38b3e2.entry.js.map +1 -0
  494. package/dist/huibo-ui/{p-cad57c2d.entry.js → p-7a682c56.entry.js} +2 -2
  495. package/dist/huibo-ui/{p-a8996d22.entry.js → p-815fc943.entry.js} +2 -2
  496. package/dist/huibo-ui/{p-af74667d.entry.js → p-89be7973.entry.js} +2 -2
  497. package/dist/huibo-ui/p-8a202bc5.entry.js.map +1 -1
  498. package/dist/huibo-ui/{p-213b9de7.entry.js → p-8c4415ed.entry.js} +2 -2
  499. package/dist/huibo-ui/p-8c4415ed.entry.js.map +1 -0
  500. package/dist/huibo-ui/{p-8fdbd17c.entry.js → p-950e7465.entry.js} +2 -2
  501. package/dist/huibo-ui/{p-ab9cf0e4.entry.js → p-96cecd21.entry.js} +2 -2
  502. package/dist/huibo-ui/p-96cecd21.entry.js.map +1 -0
  503. package/dist/huibo-ui/{p-2b4556ff.entry.js → p-98b513cd.entry.js} +2 -2
  504. package/dist/huibo-ui/p-98b513cd.entry.js.map +1 -0
  505. package/dist/huibo-ui/{p-89ea1141.entry.js → p-ac45291c.entry.js} +2 -2
  506. package/dist/huibo-ui/{p-e10fcfbe.entry.js → p-b105cf76.entry.js} +2 -2
  507. package/dist/huibo-ui/p-b105cf76.entry.js.map +1 -0
  508. package/dist/huibo-ui/{p-9a5406f0.entry.js → p-b38802b0.entry.js} +2 -2
  509. package/dist/huibo-ui/{p-9a5406f0.entry.js.map → p-b38802b0.entry.js.map} +1 -1
  510. package/dist/huibo-ui/{p-ea74fcae.entry.js → p-b3fd12c7.entry.js} +2 -2
  511. package/dist/huibo-ui/p-b3fd12c7.entry.js.map +1 -0
  512. package/dist/huibo-ui/p-b5ea18ba.entry.js +2 -0
  513. package/dist/huibo-ui/p-b5ea18ba.entry.js.map +1 -0
  514. package/dist/huibo-ui/{p-41d9c846.entry.js → p-b6afe81e.entry.js} +2 -2
  515. package/dist/huibo-ui/p-b7900dee.entry.js +2 -0
  516. package/dist/huibo-ui/p-b7900dee.entry.js.map +1 -0
  517. package/dist/huibo-ui/p-b8c83751.entry.js +2 -0
  518. package/dist/huibo-ui/p-b8c83751.entry.js.map +1 -0
  519. package/dist/huibo-ui/p-c7713947.entry.js +2 -0
  520. package/dist/huibo-ui/p-c7713947.entry.js.map +1 -0
  521. package/dist/huibo-ui/{p-33de6878.entry.js → p-c869842c.entry.js} +2 -2
  522. package/dist/huibo-ui/p-c869842c.entry.js.map +1 -0
  523. package/dist/huibo-ui/p-c8e917db.entry.js.map +1 -1
  524. package/dist/huibo-ui/p-cb66dbef.entry.js +2 -0
  525. package/dist/huibo-ui/p-cb66dbef.entry.js.map +1 -0
  526. package/dist/huibo-ui/p-cde83f76.entry.js +2 -0
  527. package/dist/huibo-ui/p-cde83f76.entry.js.map +1 -0
  528. package/dist/huibo-ui/{p-f5969181.entry.js → p-dd9c6459.entry.js} +2 -2
  529. package/dist/huibo-ui/{p-08b4005c.js → p-e0876aca.js} +1 -1
  530. package/dist/huibo-ui/p-e0876aca.js.map +1 -0
  531. package/dist/huibo-ui/{p-aa5e5e02.entry.js → p-e1773c93.entry.js} +2 -2
  532. package/dist/huibo-ui/p-e1773c93.entry.js.map +1 -0
  533. package/dist/huibo-ui/{p-626b48f1.entry.js → p-e73c357f.entry.js} +2 -2
  534. package/dist/huibo-ui/p-e73c357f.entry.js.map +1 -0
  535. package/dist/huibo-ui/{p-60532a1f.entry.js → p-e7c73624.entry.js} +2 -2
  536. package/dist/huibo-ui/p-e7c73624.entry.js.map +1 -0
  537. package/dist/huibo-ui/{p-86bdc48a.entry.js → p-e8824b2c.entry.js} +2 -2
  538. package/dist/huibo-ui/p-e8824b2c.entry.js.map +1 -0
  539. package/dist/huibo-ui/{p-13010da2.entry.js → p-e9e7abca.entry.js} +2 -2
  540. package/dist/huibo-ui/{p-f6889710.entry.js → p-ea0823f3.entry.js} +2 -2
  541. package/dist/huibo-ui/p-ea0823f3.entry.js.map +1 -0
  542. package/dist/huibo-ui/{p-b468858e.entry.js → p-f1f2483f.entry.js} +2 -2
  543. package/dist/huibo-ui/p-f69599fa.entry.js +2 -0
  544. package/dist/huibo-ui/p-f69599fa.entry.js.map +1 -0
  545. package/dist/huibo-ui/p-fad66d69.js +2 -0
  546. package/dist/huibo-ui/p-fad66d69.js.map +1 -0
  547. package/dist/huibo-ui/{p-fd8301c6.entry.js → p-fd6831f9.entry.js} +2 -2
  548. package/dist/huibo-ui/p-ff6bc5cc.entry.js +2 -0
  549. package/dist/huibo-ui/p-ff6bc5cc.entry.js.map +1 -0
  550. package/dist/types/components/Cascader/Cascader.d.ts +12 -0
  551. package/dist/types/components/Checkbox/Checkbox.d.ts +5 -0
  552. package/dist/types/components/Checkbox/CheckboxGroup.d.ts +1 -0
  553. package/dist/types/components/Collapse/Collapse.d.ts +2 -0
  554. package/dist/types/components/Collapse/CollapseItem.d.ts +8 -1
  555. package/dist/types/components/Dialog/Dialog.d.ts +13 -1
  556. package/dist/types/components/Drawer/Drawer.d.ts +4 -0
  557. package/dist/types/components/Dropdown/Dropdown.d.ts +6 -2
  558. package/dist/types/components/Form/Form.d.ts +59 -0
  559. package/dist/types/components/Form/FormItem.d.ts +23 -0
  560. package/dist/types/components/Image/Image.d.ts +6 -0
  561. package/dist/types/components/Menu/MenuItem.d.ts +8 -1
  562. package/dist/types/components/Message/Message.d.ts +3 -0
  563. package/dist/types/components/Popconfirm/Popconfirm.d.ts +6 -2
  564. package/dist/types/components/Popover/Popover.d.ts +6 -1
  565. package/dist/types/components/Radio/Radio.d.ts +5 -0
  566. package/dist/types/components/Segmented/Segmented.d.ts +6 -0
  567. package/dist/types/components/Select/Select.d.ts +24 -0
  568. package/dist/types/components/Table/Table.d.ts +110 -9
  569. package/dist/types/components/Tabs/Tabs.d.ts +6 -0
  570. package/dist/types/components/Tooltip/Tooltip.d.ts +6 -0
  571. package/dist/types/components/Tree/Tree.d.ts +24 -0
  572. package/dist/types/components/TreeSelect/TreeSelect.d.ts +17 -0
  573. package/dist/types/components/Watermark/Watermark.d.ts +7 -1
  574. package/dist/types/components.d.ts +188 -6
  575. package/dist/types/utils/a11y.d.ts +9 -0
  576. package/dist/types/utils/transition.d.ts +27 -0
  577. package/dist/types/utils/virtual-scroll.d.ts +38 -0
  578. package/package.json +1 -1
  579. package/dist/cjs/a11y-802de67a.js.map +0 -1
  580. package/dist/cjs/date-helpers-1ffddc59.js.map +0 -1
  581. package/dist/components/p-08b4005c.js.map +0 -1
  582. package/dist/components/p-cc0aeb50.js.map +0 -1
  583. package/dist/esm/a11y-f9ab2964.js.map +0 -1
  584. package/dist/esm/date-helpers-44507189.js.map +0 -1
  585. package/dist/huibo-ui/p-08b4005c.js.map +0 -1
  586. package/dist/huibo-ui/p-1f8db37a.entry.js.map +0 -1
  587. package/dist/huibo-ui/p-213b9de7.entry.js.map +0 -1
  588. package/dist/huibo-ui/p-25fd7d5c.entry.js +0 -2
  589. package/dist/huibo-ui/p-25fd7d5c.entry.js.map +0 -1
  590. package/dist/huibo-ui/p-2811e603.entry.js.map +0 -1
  591. package/dist/huibo-ui/p-2943f5d0.entry.js +0 -2
  592. package/dist/huibo-ui/p-2943f5d0.entry.js.map +0 -1
  593. package/dist/huibo-ui/p-2b4556ff.entry.js.map +0 -1
  594. package/dist/huibo-ui/p-33de6878.entry.js.map +0 -1
  595. package/dist/huibo-ui/p-3807da71.entry.js +0 -2
  596. package/dist/huibo-ui/p-3807da71.entry.js.map +0 -1
  597. package/dist/huibo-ui/p-47ef7a86.entry.js +0 -2
  598. package/dist/huibo-ui/p-47ef7a86.entry.js.map +0 -1
  599. package/dist/huibo-ui/p-4d34e43e.entry.js +0 -2
  600. package/dist/huibo-ui/p-4d34e43e.entry.js.map +0 -1
  601. package/dist/huibo-ui/p-54aa2fd8.entry.js +0 -2
  602. package/dist/huibo-ui/p-54aa2fd8.entry.js.map +0 -1
  603. package/dist/huibo-ui/p-60532a1f.entry.js.map +0 -1
  604. package/dist/huibo-ui/p-626b48f1.entry.js.map +0 -1
  605. package/dist/huibo-ui/p-639f167d.entry.js +0 -2
  606. package/dist/huibo-ui/p-639f167d.entry.js.map +0 -1
  607. package/dist/huibo-ui/p-6beb5b81.entry.js.map +0 -1
  608. package/dist/huibo-ui/p-735bceef.entry.js.map +0 -1
  609. package/dist/huibo-ui/p-76519752.entry.js +0 -2
  610. package/dist/huibo-ui/p-76519752.entry.js.map +0 -1
  611. package/dist/huibo-ui/p-79af2efa.entry.js +0 -2
  612. package/dist/huibo-ui/p-79af2efa.entry.js.map +0 -1
  613. package/dist/huibo-ui/p-7f6975ad.entry.js +0 -2
  614. package/dist/huibo-ui/p-7f6975ad.entry.js.map +0 -1
  615. package/dist/huibo-ui/p-86bdc48a.entry.js.map +0 -1
  616. package/dist/huibo-ui/p-8a8443b8.entry.js +0 -2
  617. package/dist/huibo-ui/p-8a8443b8.entry.js.map +0 -1
  618. package/dist/huibo-ui/p-8fd788c9.entry.js +0 -2
  619. package/dist/huibo-ui/p-8fd788c9.entry.js.map +0 -1
  620. package/dist/huibo-ui/p-92521c31.entry.js +0 -2
  621. package/dist/huibo-ui/p-92521c31.entry.js.map +0 -1
  622. package/dist/huibo-ui/p-965d4d02.entry.js +0 -2
  623. package/dist/huibo-ui/p-965d4d02.entry.js.map +0 -1
  624. package/dist/huibo-ui/p-aa5e5e02.entry.js.map +0 -1
  625. package/dist/huibo-ui/p-ab9cf0e4.entry.js.map +0 -1
  626. package/dist/huibo-ui/p-b8d87f7e.entry.js.map +0 -1
  627. package/dist/huibo-ui/p-c6c91664.entry.js +0 -2
  628. package/dist/huibo-ui/p-c6c91664.entry.js.map +0 -1
  629. package/dist/huibo-ui/p-c80f8ace.entry.js.map +0 -1
  630. package/dist/huibo-ui/p-cc0aeb50.js +0 -2
  631. package/dist/huibo-ui/p-cc0aeb50.js.map +0 -1
  632. package/dist/huibo-ui/p-d79a15b1.entry.js +0 -2
  633. package/dist/huibo-ui/p-d79a15b1.entry.js.map +0 -1
  634. package/dist/huibo-ui/p-e10fcfbe.entry.js.map +0 -1
  635. package/dist/huibo-ui/p-e5cbfa9e.entry.js.map +0 -1
  636. package/dist/huibo-ui/p-ea74fcae.entry.js.map +0 -1
  637. package/dist/huibo-ui/p-edbda423.entry.js +0 -2
  638. package/dist/huibo-ui/p-edbda423.entry.js.map +0 -1
  639. package/dist/huibo-ui/p-f6889710.entry.js.map +0 -1
  640. package/dist/huibo-ui/p-f9bb5217.entry.js +0 -2
  641. package/dist/huibo-ui/p-f9bb5217.entry.js.map +0 -1
  642. package/dist/huibo-ui/p-fea20295.entry.js +0 -2
  643. package/dist/huibo-ui/p-fea20295.entry.js.map +0 -1
  644. /package/dist/huibo-ui/{p-678b4212.entry.js.map → p-0ddae4e9.entry.js.map} +0 -0
  645. /package/dist/huibo-ui/{p-f4336be9.entry.js.map → p-14c3b47b.entry.js.map} +0 -0
  646. /package/dist/huibo-ui/{p-c50ad398.entry.js.map → p-193efdc0.entry.js.map} +0 -0
  647. /package/dist/huibo-ui/{p-0d4b2997.entry.js.map → p-2bcda1bb.entry.js.map} +0 -0
  648. /package/dist/huibo-ui/{p-7da14d7c.entry.js.map → p-3042f986.entry.js.map} +0 -0
  649. /package/dist/huibo-ui/{p-e039155d.entry.js.map → p-3dacb26b.entry.js.map} +0 -0
  650. /package/dist/huibo-ui/{p-a084b8e5.entry.js.map → p-412ff618.entry.js.map} +0 -0
  651. /package/dist/huibo-ui/{p-ccd09d5a.entry.js.map → p-6518c435.entry.js.map} +0 -0
  652. /package/dist/huibo-ui/{p-cad57c2d.entry.js.map → p-7a682c56.entry.js.map} +0 -0
  653. /package/dist/huibo-ui/{p-a8996d22.entry.js.map → p-815fc943.entry.js.map} +0 -0
  654. /package/dist/huibo-ui/{p-af74667d.entry.js.map → p-89be7973.entry.js.map} +0 -0
  655. /package/dist/huibo-ui/{p-8fdbd17c.entry.js.map → p-950e7465.entry.js.map} +0 -0
  656. /package/dist/huibo-ui/{p-89ea1141.entry.js.map → p-ac45291c.entry.js.map} +0 -0
  657. /package/dist/huibo-ui/{p-41d9c846.entry.js.map → p-b6afe81e.entry.js.map} +0 -0
  658. /package/dist/huibo-ui/{p-f5969181.entry.js.map → p-dd9c6459.entry.js.map} +0 -0
  659. /package/dist/huibo-ui/{p-13010da2.entry.js.map → p-e9e7abca.entry.js.map} +0 -0
  660. /package/dist/huibo-ui/{p-b468858e.entry.js.map → p-f1f2483f.entry.js.map} +0 -0
  661. /package/dist/huibo-ui/{p-fd8301c6.entry.js.map → p-fd6831f9.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["treeCss","HbTreeStyle0","Tree","data","expandedKeys","selectedKeys","checkable","checkedKeys","defaultExpandAll","showLine","internalExpanded","internalSelected","internalChecked","focusKey","hbSelect","hbExpand","hbCheck","componentWillLoad","this","all","collectExpandableKeys","handleDataChange","current","getExpandedKeys","merged","deduped","Array","from","Set","handleExpandedKeysChange","handleSelectedKeysChange","handleCheckedKeysChange","nodes","out","node","children","length","push","key","getSelectedKeys","getCheckedKeys","isExpanded","includes","isSelected","isChecked","handleToggleExpand","e","stopPropagation","disabled","idx","indexOf","splice","emit","handleSelect","handleCheck","wasChecked","next","removeDescendantKeys","delete","add","collectCheckableDescendantKeys","reconcileAncestors","result","child","parents","findAncestors","parent","checkableChildren","filter","c","allChecked","every","has","acc","found","computeIndeterminateKeys","checked","walk","hasCheckedDescendant","childState","root","getFlattenedVisibleNodes","level","parentKey","handleTreeKeydown","flat","enabled","x","selected","focusIdx","findIndex","enabledFlatIndices","map","i","o","posInEnabled","isLeaf","expanded","preventDefault","nextPos","focusNode","prevPos","firstChildIdx","parentIdx","requestAnimationFrame","el","shadowRoot","querySelector","focus","renderNode","indeterminateKeys","hasChildren","indeterminate","fallbackFocus","effectiveFocus","isFocused","h","class","role","String","undefined","tabindex","style","paddingLeft","onClick","title","render","onKeyDown"],"sources":["src/components/Tree/tree.css?tag=hb-tree&encapsulation=shadow","src/components/Tree/Tree.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hb-tree {\n list-style: none;\n margin: 0;\n padding: 0;\n font-size: var(--hb-font-size-base);\n color: var(--hb-color-text);\n background-color: var(--hb-color-bg-container);\n box-sizing: border-box;\n}\n\n.hb-tree__children {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n.hb-tree__node {\n list-style: none;\n white-space: nowrap;\n}\n\n.hb-tree__node-content {\n display: flex;\n align-items: center;\n gap: var(--hb-spacing-xxs);\n height: 28px;\n padding-right: var(--hb-spacing-xs);\n border-radius: var(--hb-border-radius-sm);\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) var(--hb-transition-function, ease);\n box-sizing: border-box;\n}\n\n.hb-tree__node-content:hover {\n background-color: var(--hb-color-fill-tertiary);\n}\n\n.hb-tree__node-content--selected {\n background-color: var(--hb-color-primary-bg);\n}\n\n.hb-tree__node--disabled > .hb-tree__node-content {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.hb-tree__node--disabled > .hb-tree__node-content:hover {\n background-color: transparent;\n}\n\n.hb-tree__switcher {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 18px;\n height: 18px;\n flex-shrink: 0;\n color: var(--hb-color-text-tertiary);\n}\n\n.hb-tree__arrow {\n font-size: 10px;\n display: inline-block;\n transition: transform var(--hb-transition-duration, 0.2s);\n}\n\n.hb-tree__arrow--expanded {\n transform: rotate(90deg);\n}\n\n.hb-tree--show-line .hb-tree__switcher {\n color: var(--hb-color-border);\n}\n\n.hb-tree__line-dot {\n width: 6px;\n height: 6px;\n border-left: 1px solid var(--hb-color-border);\n border-bottom: 1px solid var(--hb-color-border);\n border-bottom-left-radius: var(--hb-border-radius-sm);\n}\n\n.hb-tree__checkbox {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 16px;\n height: 16px;\n border: 1px solid var(--hb-color-border);\n border-radius: var(--hb-border-radius-xs, 2px);\n background-color: var(--hb-color-bg-container);\n color: #fff;\n font-size: 11px;\n line-height: 1;\n flex-shrink: 0;\n transition: all var(--hb-transition-duration, 0.2s);\n}\n\n.hb-tree__checkbox:hover:not(.hb-tree__checkbox--disabled) {\n border-color: var(--hb-color-primary);\n}\n\n.hb-tree__checkbox--checked {\n background-color: var(--hb-color-primary);\n border-color: var(--hb-color-primary);\n}\n\n.hb-tree__checkbox--indeterminate {\n background-color: var(--hb-color-primary);\n border-color: var(--hb-color-primary);\n}\n\n.hb-tree__checkbox--disabled {\n cursor: not-allowed;\n opacity: 0.5;\n}\n\n.hb-tree__title {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n user-select: none;\n}\n\n.hb-tree__node-content--selected .hb-tree__title {\n color: var(--hb-color-primary);\n font-weight: 500;\n}\n","import { Component, h, Prop, Event, EventEmitter, State, Element, Watch } from '@stencil/core';\n\nexport interface TreeNode {\n /** 节点唯一标识 */\n key: string;\n /** 节点标题 */\n title: string;\n /** 子节点 */\n children?: TreeNode[];\n /** 是否禁用 */\n disabled?: boolean;\n}\n\n/**\n * Tree 树形组件\n * 文件夹、组织架构、分类导航等层级结构的展示与选择\n */\n@Component({\n tag: 'hb-tree',\n styleUrl: 'tree.css',\n shadow: true,\n})\nexport class Tree {\n @Element() el: HTMLElement;\n\n /**\n * 可选项数据源(递归树结构)\n */\n @Prop() data: TreeNode[] = [];\n\n /**\n * (受控)展开的节点 key 集合\n */\n @Prop({ mutable: true }) expandedKeys: string[] = [];\n\n /**\n * (受控)选中的节点 key 集合\n */\n @Prop({ mutable: true }) selectedKeys: string[] = [];\n\n /**\n * 是否显示 checkbox 复选框\n * @default false\n */\n @Prop() checkable: boolean = false;\n\n /**\n * (受控)勾选的节点 key 集合\n */\n @Prop({ mutable: true }) checkedKeys: string[] = [];\n\n /**\n * 是否默认展开全部节点\n * @default false\n */\n @Prop() defaultExpandAll: boolean = false;\n\n /**\n * 是否显示连接线\n * @default false\n */\n @Prop() showLine: boolean = false;\n\n @State() internalExpanded: string[] | null = null;\n @State() internalSelected: string[] | null = null;\n @State() internalChecked: string[] | null = null;\n /**\n * 键盘焦点节点 key(与 selectedKeys 解耦)。\n * A2:roving tabindex 跟随 focusKey,而非 selectedKeys——否则键盘移动焦点会误改选中态。\n * 默认指向 selectedKeys 末位(首次 Tab 进入时落在选中项)。\n */\n @State() focusKey: string | null = null;\n\n /**\n * 选中节点变化事件(detail: 选中节点 key 数组)\n */\n @Event() hbSelect: EventEmitter<string[]>;\n\n /**\n * 展开节点变化事件(detail: 展开节点 key 数组)\n */\n @Event() hbExpand: EventEmitter<string[]>;\n\n /**\n * 勾选节点变化事件(detail: 勾选节点 key 数组)\n */\n @Event() hbCheck: EventEmitter<string[]>;\n\n componentWillLoad() {\n if (this.defaultExpandAll) {\n const all: string[] = [];\n this.collectExpandableKeys(this.data, all);\n this.internalExpanded = all;\n }\n }\n\n /**\n * data 变化时,若 defaultExpandAll=true,把所有含 children 的节点 key\n * 合并进 expandedKeys(保留用户已手动展开的节点,不收起任何已展开项)。\n * 解决「先 mount 再赋 data」时 componentWillLoad 基于空数据计算导致不展开的问题。\n */\n @Watch('data')\n handleDataChange() {\n if (!this.defaultExpandAll) {\n return;\n }\n const current = this.getExpandedKeys();\n const merged = [...current];\n this.collectExpandableKeys(this.data, merged);\n // 去重\n const deduped = Array.from(new Set(merged));\n this.internalExpanded = deduped;\n this.expandedKeys = deduped;\n }\n\n @Watch('expandedKeys')\n handleExpandedKeysChange() {\n this.internalExpanded = null;\n }\n\n @Watch('selectedKeys')\n handleSelectedKeysChange() {\n this.internalSelected = null;\n }\n\n @Watch('checkedKeys')\n handleCheckedKeysChange() {\n this.internalChecked = null;\n }\n\n private collectExpandableKeys(nodes: TreeNode[], out: string[]) {\n for (const node of nodes) {\n if (node.children && node.children.length > 0) {\n out.push(node.key);\n this.collectExpandableKeys(node.children, out);\n }\n }\n }\n\n private getExpandedKeys(): string[] {\n return this.internalExpanded !== null ? this.internalExpanded : this.expandedKeys;\n }\n\n private getSelectedKeys(): string[] {\n return this.internalSelected !== null ? this.internalSelected : this.selectedKeys;\n }\n\n private getCheckedKeys(): string[] {\n return this.internalChecked !== null ? this.internalChecked : this.checkedKeys;\n }\n\n private isExpanded = (key: string) => this.getExpandedKeys().includes(key);\n private isSelected = (key: string) => this.getSelectedKeys().includes(key);\n private isChecked = (key: string) => this.getCheckedKeys().includes(key);\n\n private handleToggleExpand = (node: TreeNode, e: Event) => {\n e.stopPropagation();\n if (node.disabled) return;\n const current = [...this.getExpandedKeys()];\n const idx = current.indexOf(node.key);\n if (idx >= 0) {\n current.splice(idx, 1);\n } else {\n current.push(node.key);\n }\n this.internalExpanded = current;\n this.expandedKeys = current;\n this.hbExpand.emit(current);\n };\n\n private handleSelect = (node: TreeNode) => {\n if (node.disabled) return;\n const current = [...this.getSelectedKeys()];\n const idx = current.indexOf(node.key);\n if (idx >= 0) {\n current.splice(idx, 1);\n } else {\n current.push(node.key);\n }\n this.internalSelected = current;\n this.selectedKeys = current;\n this.hbSelect.emit(current);\n };\n\n private handleCheck = (node: TreeNode, e: Event) => {\n e.stopPropagation();\n if (node.disabled) return;\n const current = [...this.getCheckedKeys()];\n const wasChecked = current.includes(node.key);\n\n // 计算本次操作应进入/移出 checkedKeys 的所有 key 集合(含级联)。\n // 不可变:始终基于副本计算,绝不原地修改 current。\n const next = new Set(current);\n if (wasChecked) {\n // 取消:取消自身 + 取消所有后代(含禁用后代,因为它们当时是被父级带选的)。\n this.removeDescendantKeys(node, next);\n next.delete(node.key);\n } else {\n // 勾选:勾选自身 + 勾选所有非禁用后代。\n next.add(node.key);\n this.collectCheckableDescendantKeys(node, next);\n }\n\n // 父子联动自底向上修正祖先:所有非禁用子节点全选 → 父加入 checkedKeys;\n // 子节点部分选/全未选 → 父移出 checkedKeys(部分选体现为 indeterminate,由 detail 暴露)。\n this.reconcileAncestors(node, next);\n\n const result = Array.from(next);\n this.internalChecked = result;\n this.checkedKeys = result;\n this.hbCheck.emit(result);\n };\n\n /**\n * 从集合中移除某节点所有后代 key(含禁用项),用于取消父级时级联取消。\n * 不可变:仅修改传入的 Set 副本,不修改树本身。\n */\n private removeDescendantKeys(node: TreeNode, out: Set<string>) {\n if (!node.children) return;\n for (const child of node.children) {\n out.delete(child.key);\n this.removeDescendantKeys(child, out);\n }\n }\n\n /**\n * 收集某节点所有「可勾选(非禁用)」后代 key,用于勾选父级时级联勾选。\n * 注意:禁用子节点本身不可手动勾选,但若其下还有非禁用后代,仍应被级联勾选。\n */\n private collectCheckableDescendantKeys(node: TreeNode, out: Set<string>) {\n if (!node.children) return;\n for (const child of node.children) {\n if (!child.disabled) {\n out.add(child.key);\n }\n // 无论 child 是否禁用,继续向下寻找可勾选后代。\n this.collectCheckableDescendantKeys(child, out);\n }\n }\n\n /**\n * 自底向上修正 checkedKeys 中某节点的所有祖先勾选状态。\n * 规则:一个祖先节点,当且仅当其所有「非禁用子节点」均被勾选时,自身才被勾选;\n * 否则移出 checkedKeys(部分选情况由 indeterminate 集合在渲染层暴露,不进入 checkedKeys)。\n */\n private reconcileAncestors(node: TreeNode, next: Set<string>) {\n const parents = this.findAncestors(this.data, node.key, []);\n // parents 为从直接父到根的数组;逐层判断。\n for (const parent of parents) {\n if (parent.disabled || !parent.children || parent.children.length === 0) continue;\n const checkableChildren = parent.children.filter(c => !c.disabled);\n if (checkableChildren.length === 0) continue;\n const allChecked = checkableChildren.every(c => next.has(c.key));\n if (allChecked) {\n next.add(parent.key);\n } else {\n next.delete(parent.key);\n }\n }\n }\n\n /**\n * 递归查找某 key 的祖先链(不含自身),返回从直接父到根的数组。\n * 找不到返回空数组(key 为根节点或不存在时)。\n */\n private findAncestors(nodes: TreeNode[], key: string, acc: TreeNode[]): TreeNode[] | null {\n for (const node of nodes) {\n if (node.key === key) {\n return acc;\n }\n if (node.children && node.children.length > 0) {\n const found = this.findAncestors(node.children, key, [node, ...acc]);\n if (found) return found;\n }\n }\n return null;\n }\n\n /**\n * 计算当前 checkedKeys 下处于「部分选中(indeterminate)」的节点 key 集合。\n * 一个节点为 indeterminate 当:其本身不在 checkedKeys,但其下(递归)存在被勾选的后代。\n * 用于渲染层暴露三方态(aria-checked=\"mixed\" + class)。\n */\n private computeIndeterminateKeys(): Set<string> {\n const checked = this.getCheckedKeys();\n const result = new Set<string>();\n const walk = (node: TreeNode): { hasCheckedDescendant: boolean } => {\n if (!node.children || node.children.length === 0) {\n return { hasCheckedDescendant: false };\n }\n let hasCheckedDescendant = false;\n for (const child of node.children) {\n const childState = walk(child);\n if (checked.includes(child.key) || childState.hasCheckedDescendant) {\n hasCheckedDescendant = true;\n }\n }\n // 节点本身未勾选,但有被勾选后代 → indeterminate\n if (hasCheckedDescendant && !checked.includes(node.key)) {\n result.add(node.key);\n }\n return { hasCheckedDescendant };\n };\n for (const root of this.data) {\n walk(root);\n }\n return result;\n }\n\n /**\n * 构建当前可见节点的扁平列表(仅含已展开父节点的后代),用于键盘线性导航。\n * 每项记录 { node, level, parentKey },遵循 WAI-ARIA Tree View 模式。\n */\n private getFlattenedVisibleNodes(): { node: TreeNode; level: number; parentKey: string | null }[] {\n const out: { node: TreeNode; level: number; parentKey: string | null }[] = [];\n const walk = (nodes: TreeNode[], level: number, parentKey: string | null) => {\n for (const node of nodes) {\n out.push({ node, level, parentKey });\n if (node.children && node.children.length > 0 && this.isExpanded(node.key)) {\n walk(node.children, level + 1, node.key);\n }\n }\n };\n walk(this.data, 0, null);\n return out;\n }\n\n /**\n * Tree 键盘导航(WAI-ARIA Tree View 模式,A2 修复):\n * - ↑↓:在可见节点间线性移动焦点\n * - →:展开;已展开则进入第一个子节点;叶子节点无操作\n * - ←:折叠;已折叠则移到父节点;根节点无操作\n * - Enter/Space:选中当前焦点节点\n * - Home/End:跳到首个/末个可见节点\n *\n * 焦点管理用 roving tabindex:焦点移到谁,谁就是 selectedKeys(驱动 tabindex=0)。\n */\n private handleTreeKeydown = (e: KeyboardEvent) => {\n const flat = this.getFlattenedVisibleNodes();\n if (flat.length === 0) return;\n const enabled = flat.filter(x => !x.node.disabled);\n if (enabled.length === 0) return;\n\n // 当前焦点索引:优先 focusKey;无则回退到 selectedKeys 末位;再无则首个启用项\n let focusKey: string | null = this.focusKey;\n if (!focusKey) {\n const selected = this.getSelectedKeys();\n focusKey = selected.length > 0 ? selected[selected.length - 1] : null;\n }\n let focusIdx = focusKey ? flat.findIndex(x => x.node.key === focusKey) : -1;\n // 若当前焦点在禁用项上或无焦点,回退到首个启用项\n if (focusIdx < 0 || flat[focusIdx].node.disabled) {\n focusIdx = flat.findIndex(x => !x.node.disabled);\n if (focusIdx < 0) return;\n }\n const enabledFlatIndices = flat\n .map((x, i) => ({ x, i }))\n .filter(o => !o.x.node.disabled)\n .map(o => o.i);\n const posInEnabled = enabledFlatIndices.indexOf(focusIdx);\n\n const current = flat[focusIdx];\n const isLeaf = !(current.node.children && current.node.children.length > 0);\n const expanded = !isLeaf && this.isExpanded(current.node.key);\n\n switch (e.key) {\n case 'ArrowDown': {\n e.preventDefault();\n const nextPos = (posInEnabled + 1) % enabledFlatIndices.length;\n this.focusNode(flat[enabledFlatIndices[nextPos]].node);\n break;\n }\n case 'ArrowUp': {\n e.preventDefault();\n const prevPos = (posInEnabled - 1 + enabledFlatIndices.length) % enabledFlatIndices.length;\n this.focusNode(flat[enabledFlatIndices[prevPos]].node);\n break;\n }\n case 'ArrowRight': {\n e.preventDefault();\n if (isLeaf) return;\n if (!expanded) {\n // 展开\n this.handleToggleExpand(current.node, { stopPropagation: () => {} } as unknown as Event);\n } else {\n // 已展开 → 进入第一个非禁用子节点\n const firstChildIdx = flat.findIndex((x, i) => i > focusIdx && x.parentKey === current.node.key && !x.node.disabled);\n if (firstChildIdx >= 0) this.focusNode(flat[firstChildIdx].node);\n }\n break;\n }\n case 'ArrowLeft': {\n e.preventDefault();\n if (!isLeaf && expanded) {\n // 折叠\n this.handleToggleExpand(current.node, { stopPropagation: () => {} } as unknown as Event);\n } else if (current.parentKey) {\n // 已折叠/叶子 → 移到父节点\n const parentIdx = flat.findIndex(x => x.node.key === current.parentKey);\n if (parentIdx >= 0 && !flat[parentIdx].node.disabled) this.focusNode(flat[parentIdx].node);\n }\n break;\n }\n case 'Home': {\n e.preventDefault();\n this.focusNode(flat[enabledFlatIndices[0]].node);\n break;\n }\n case 'End': {\n e.preventDefault();\n this.focusNode(flat[enabledFlatIndices[enabledFlatIndices.length - 1]].node);\n break;\n }\n case 'Enter':\n case ' ':\n case 'Spacebar': {\n e.preventDefault();\n this.handleSelect(current.node);\n break;\n }\n default:\n return;\n }\n };\n\n /** 把键盘焦点移到 node:仅更新 focusKey(驱动 roving tabindex),不改选中态。 */\n private focusNode(node: TreeNode) {\n this.focusKey = node.key;\n // 真实 DOM 聚焦(render 后 tabindex=0 会落到该节点)\n requestAnimationFrame(() => {\n const el = this.el.shadowRoot?.querySelector(`[data-tree-key=\"${node.key}\"]`);\n (el as HTMLElement | null)?.focus();\n });\n }\n\n private renderNode = (node: TreeNode, level: number, indeterminateKeys: Set<string>): any => {\n const hasChildren = !!(node.children && node.children.length > 0);\n const expanded = this.isExpanded(node.key);\n const selected = this.isSelected(node.key);\n const checked = this.isChecked(node.key);\n const indeterminate = indeterminateKeys.has(node.key);\n const disabled = !!node.disabled;\n // roving tabindex:键盘焦点节点 tabindex=0;无键盘焦点时回退到选中项(首次 Tab 进入)\n const selectedKeys = this.getSelectedKeys();\n const fallbackFocus = selectedKeys.length > 0 ? selectedKeys[selectedKeys.length - 1] : null;\n const effectiveFocus = this.focusKey ?? fallbackFocus;\n const isFocused = effectiveFocus === node.key;\n\n return (\n <li\n class={{\n 'hb-tree__node': true,\n 'hb-tree__node--disabled': disabled,\n }}\n data-tree-key={node.key}\n role=\"treeitem\"\n aria-level={level + 1}\n aria-expanded={hasChildren ? String(expanded) : undefined}\n aria-selected={selected ? 'true' : 'false'}\n aria-checked={this.checkable ? (indeterminate ? 'mixed' : checked ? 'true' : 'false') : undefined}\n aria-disabled={disabled ? 'true' : undefined}\n tabindex={isFocused ? 0 : -1}\n >\n <div\n class={{\n 'hb-tree__node-content': true,\n 'hb-tree__node-content--selected': selected,\n }}\n style={{ paddingLeft: `${level * 18 + 8}px` }}\n >\n <span class=\"hb-tree__switcher\" onClick={e => hasChildren && this.handleToggleExpand(node, e)}>\n {hasChildren ? <span class={{ 'hb-tree__arrow': true, 'hb-tree__arrow--expanded': expanded }}>▶</span> : this.showLine ? <span class=\"hb-tree__line-dot\" /> : null}\n </span>\n\n {this.checkable && (\n <span\n class={{\n 'hb-tree__checkbox': true,\n 'hb-tree__checkbox--checked': checked,\n 'hb-tree__checkbox--indeterminate': indeterminate,\n 'hb-tree__checkbox--disabled': disabled,\n }}\n onClick={e => this.handleCheck(node, e)}\n >\n {checked ? '✓' : indeterminate ? '–' : ''}\n </span>\n )}\n\n <span class=\"hb-tree__title\" onClick={() => this.handleSelect(node)}>\n {node.title}\n </span>\n </div>\n\n {hasChildren && expanded && (\n <ul class=\"hb-tree__children\" role=\"group\">\n {node.children!.map(child => this.renderNode(child, level + 1, indeterminateKeys))}\n </ul>\n )}\n </li>\n );\n };\n\n render() {\n const indeterminateKeys = this.checkable ? this.computeIndeterminateKeys() : new Set<string>();\n return (\n <ul class={{ 'hb-tree': true, 'hb-tree--show-line': this.showLine }} role=\"tree\" tabindex={-1} onKeyDown={this.handleTreeKeydown}>\n {this.data.map(node => this.renderNode(node, 0, indeterminateKeys))}\n </ul>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,c as t,g as i,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{.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-menu{background-color:var(--hb-menu-bg,var(--hb-color-bg-container));border-right:1px solid var(--hb-color-border-secondary);box-sizing:border-box;color:var(--hb-menu-color,var(--hb-color-text));font-size:var(--hb-font-size-sm);list-style:none;margin:0;padding:4px 0}.hb-menu--horizontal{border-bottom:1px solid var(--hb-color-border-secondary);border-right:none;display:flex}.hb-menu--collapsed{width:64px}.hb-menu--collapsed .hb-menu-item__text,.hb-menu--collapsed .hb-sub-menu__arrow,.hb-menu--collapsed .hb-sub-menu__label{display:none}.hb-sub-menu--collapsed{position:relative}.hb-sub-menu--collapsed .hb-sub-menu__title{justify-content:center;padding:0}.hb-sub-menu__children--popover{background-color:var(--hb-menu-bg,var(--hb-color-bg-container));border:1px solid var(--hb-color-border-secondary);border-radius:var(--hb-radius-sm,4px);box-shadow:0 2px 8px #0000001f;left:100%;margin-left:4px;min-width:160px;padding:4px 0;position:absolute;top:0;white-space:nowrap;z-index:1000}.hb-sub-menu__children--popover .hb-menu-item{padding-left:var(--hb-spacing-md)}::slotted(hb-menu-item){display:block}.hb-menu-item{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;gap:var(--hb-spacing-xs);height:var(--hb-size-default);line-height:var(--hb-size-default);list-style:none;padding:0 var(--hb-spacing-md);transition:all var(--hb-transition-duration)var(--hb-transition-function);white-space:nowrap}.hb-menu-item:hover:not(.hb-menu-item--disabled){background-color:var(--hb-menu-item-hover-bg,var(--hb-color-fill-tertiary))}.hb-menu-item--active{background-color:var(--hb-menu-item-active-bg,var(--hb-color-primary-bg));color:var(--hb-menu-active-color,var(--hb-color-primary))}.hb-menu-item--disabled{cursor:not-allowed;opacity:.5}.hb-menu-item__icon{display:inline-flex;width:16px}.hb-sub-menu{list-style:none}.hb-sub-menu__title{align-items:center;cursor:pointer;display:flex;gap:var(--hb-spacing-xs);height:var(--hb-size-default);line-height:var(--hb-size-default);padding:0 var(--hb-spacing-md);transition:all var(--hb-transition-duration)}.hb-sub-menu__title:hover{background-color:var(--hb-menu-item-hover-bg,var(--hb-color-fill-tertiary))}.hb-sub-menu__label{flex:1}.hb-sub-menu__arrow{font-size:10px;transition:transform var(--hb-transition-duration)}.hb-sub-menu__arrow--open{transform:rotate(90deg)}.hb-sub-menu__children{background-color:var(--hb-menu-bg,var(--hb-color-bg-container));list-style:none;margin:0;padding:0}.hb-sub-menu__children .hb-menu-item{padding-left:calc(var(--hb-spacing-md) + 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}@media (max-width:575.98px){.hb-menu--horizontal{align-items:stretch;flex-direction:column;gap:2px}.hb-menu--horizontal .hb-menu-item,.hb-menu--horizontal .hb-sub-menu{padding:10px 12px}:host .hb-menu-item__text,:host .hb-sub-menu__label{display:inline}}';const a=n;const r=class{constructor(i){e(this,i);this.hbSelect=t(this,"hbSelect",7)}get el(){return i(this)}mode="vertical";defaultActive="";collapsed=false;backgroundColor;textColor;activeTextColor;activeItem="";hbSelect;componentDidLoad(){this.activeItem=this.defaultActive;this.syncCollapsedToChildren()}handleDefaultActiveChange(){this.activeItem=this.defaultActive}handleCollapsedChange(){this.syncCollapsedToChildren()}syncCollapsedToChildren(){if(!this.el)return;this.el.querySelectorAll("hb-sub-menu").forEach((e=>{e.setAttribute("collapsed",this.collapsed?"true":"false")}))}handleSelect(e){const t=e.detail;this.activeItem=t;this.defaultActive=t;this.hbSelect.emit(t);this.el.querySelectorAll("hb-menu-item").forEach((e=>{e.setAttribute("active",e.getAttribute("key")===t?"true":"false")}))}render(){const e={};if(this.backgroundColor)e["--hb-menu-bg"]=this.backgroundColor;if(this.textColor)e["--hb-menu-color"]=this.textColor;if(this.activeTextColor)e["--hb-menu-active-color"]=this.activeTextColor;return o("ul",{key:"8ed9611af410b2d453c01b9e026efb787c62cea6",class:{"hb-menu":true,[`hb-menu--${this.mode}`]:true,"hb-menu--collapsed":this.collapsed},style:e,role:"menu"},o("slot",{key:"7eb6d2b0fdd4ab9b3a0866ff4ba7c2c23bfdd6dd"}))}static get watchers(){return{defaultActive:["handleDefaultActiveChange"],collapsed:["handleCollapsedChange"]}}};r.style=a;export{r as hb_menu};
2
- //# sourceMappingURL=p-89ea1141.entry.js.map
1
+ import{r as e,c as t,g as i,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{.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-menu{background-color:var(--hb-menu-bg,var(--hb-color-bg-container));border-right:1px solid var(--hb-color-border-secondary);box-sizing:border-box;color:var(--hb-menu-color,var(--hb-color-text));font-size:var(--hb-font-size-sm);list-style:none;margin:0;padding:4px 0}.hb-menu--horizontal{border-bottom:1px solid var(--hb-color-border-secondary);border-right:none;display:flex}.hb-menu--collapsed{width:64px}.hb-menu--collapsed .hb-menu-item__text,.hb-menu--collapsed .hb-sub-menu__arrow,.hb-menu--collapsed .hb-sub-menu__label{display:none}.hb-sub-menu--collapsed{position:relative}.hb-sub-menu--collapsed .hb-sub-menu__title{justify-content:center;padding:0}.hb-sub-menu__children--popover{background-color:var(--hb-menu-bg,var(--hb-color-bg-container));border:1px solid var(--hb-color-border-secondary);border-radius:var(--hb-radius-sm,4px);box-shadow:0 2px 8px #0000001f;left:100%;margin-left:4px;min-width:160px;padding:4px 0;position:absolute;top:0;white-space:nowrap;z-index:1000}.hb-sub-menu__children--popover .hb-menu-item{padding-left:var(--hb-spacing-md)}::slotted(hb-menu-item){display:block}.hb-menu-item{align-items:center;box-sizing:border-box;cursor:pointer;display:flex;gap:var(--hb-spacing-xs);height:var(--hb-size-default);line-height:var(--hb-size-default);list-style:none;padding:0 var(--hb-spacing-md);transition:all var(--hb-transition-duration)var(--hb-transition-function);white-space:nowrap}.hb-menu-item:hover:not(.hb-menu-item--disabled){background-color:var(--hb-menu-item-hover-bg,var(--hb-color-fill-tertiary))}.hb-menu-item--active{background-color:var(--hb-menu-item-active-bg,var(--hb-color-primary-bg));color:var(--hb-menu-active-color,var(--hb-color-primary))}.hb-menu-item--disabled{cursor:not-allowed;opacity:.5}.hb-menu-item__icon{display:inline-flex;width:16px}.hb-sub-menu{list-style:none}.hb-sub-menu__title{align-items:center;cursor:pointer;display:flex;gap:var(--hb-spacing-xs);height:var(--hb-size-default);line-height:var(--hb-size-default);padding:0 var(--hb-spacing-md);transition:all var(--hb-transition-duration)}.hb-sub-menu__title:hover{background-color:var(--hb-menu-item-hover-bg,var(--hb-color-fill-tertiary))}.hb-sub-menu__label{flex:1}.hb-sub-menu__arrow{font-size:10px;transition:transform var(--hb-transition-duration)}.hb-sub-menu__arrow--open{transform:rotate(90deg)}.hb-sub-menu__children{background-color:var(--hb-menu-bg,var(--hb-color-bg-container));list-style:none;margin:0;padding:0}.hb-sub-menu__children .hb-menu-item{padding-left:calc(var(--hb-spacing-md) + 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}@media (max-width:575.98px){.hb-menu--horizontal{align-items:stretch;flex-direction:column;gap:2px}.hb-menu--horizontal .hb-menu-item,.hb-menu--horizontal .hb-sub-menu{padding:10px 12px}:host .hb-menu-item__text,:host .hb-sub-menu__label{display:inline}}';const a=n;const r=class{constructor(i){e(this,i);this.hbSelect=t(this,"hbSelect",7)}get el(){return i(this)}mode="vertical";defaultActive="";collapsed=false;backgroundColor;textColor;activeTextColor;activeItem="";hbSelect;componentDidLoad(){this.activeItem=this.defaultActive;this.syncCollapsedToChildren()}handleDefaultActiveChange(){this.activeItem=this.defaultActive}handleCollapsedChange(){this.syncCollapsedToChildren()}syncCollapsedToChildren(){if(!this.el)return;this.el.querySelectorAll("hb-sub-menu").forEach((e=>{e.setAttribute("collapsed",this.collapsed?"true":"false")}))}handleSelect(e){const t=e.detail;this.activeItem=t;this.defaultActive=t;this.hbSelect.emit(t);this.el.querySelectorAll("hb-menu-item").forEach((e=>{e.setAttribute("active",e.getAttribute("key")===t?"true":"false")}))}render(){const e={};if(this.backgroundColor)e["--hb-menu-bg"]=this.backgroundColor;if(this.textColor)e["--hb-menu-color"]=this.textColor;if(this.activeTextColor)e["--hb-menu-active-color"]=this.activeTextColor;return o("ul",{key:"afca5c6b17206341e12c66c5948c328396ceeccf",class:{"hb-menu":true,[`hb-menu--${this.mode}`]:true,"hb-menu--collapsed":this.collapsed},style:e,role:"menu"},o("slot",{key:"3de1ef4c434bacb9fea50b46a275ab8854df65c6"}))}static get watchers(){return{defaultActive:["handleDefaultActiveChange"],collapsed:["handleCollapsedChange"]}}};r.style=a;export{r as hb_menu};
2
+ //# sourceMappingURL=p-ac45291c.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as e,c as o,h as t}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-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}}}@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{.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)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{--hb-checkbox-font-size:14px;--hb-checkbox-font-size-large:16px;--hb-checkbox-font-size-small:12px;--hb-checkbox-color:var(--hb-color-primary);--hb-checkbox-border-color:var(--hb-border-color,#dcdfe6);--hb-checkbox-border-color-checked:var(--hb-color-primary);--hb-checkbox-bg-color:var(--hb-color-white,#fff);--hb-checkbox-text-color:var(--hb-color-text-regular,#606266);--hb-checkbox-disabled-color:var(--hb-color-text-placeholder,#c0c4cc);--hb-checkbox-disabled-bg-color:var(--hb-fill-color-light,#f5f7fa);display:inline-block}.hb-checkbox{align-items:center;color:var(--hb-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--hb-checkbox-font-size);font-weight:500;margin-right:30px;position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap}.hb-checkbox:last-child{margin-right:0}.hb-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.hb-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.hb-checkbox__inner{background-color:var(--hb-checkbox-bg-color);border:var(--hb-border,1px solid var(--hb-checkbox-border-color));border-radius:2px;box-sizing:border-box;display:inline-block;height:14px;position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);width:14px;z-index:1}.hb-checkbox__inner:after{border:2px solid var(--hb-color-white,#fff);border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg)scaleY(0);transform-origin:50%;transition:transform .15s ease-in 50ms;width:3px}.hb-checkbox--checked .hb-checkbox__inner{background-color:var(--hb-checkbox-color);border-color:var(--hb-checkbox-border-color-checked)}.hb-checkbox--checked .hb-checkbox__inner:after{transform:rotate(45deg)scaleY(1)}.hb-checkbox__inner--indeterminate{background-color:var(--hb-checkbox-color);border-color:var(--hb-checkbox-border-color-checked)}.hb-checkbox__inner--indeterminate:after{background-color:var(--hb-color-white,#fff);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scaleX(.5)}.hb-checkbox__label{font-size:var(--hb-checkbox-font-size);line-height:1;padding-left:8px}.hb-checkbox--disabled{cursor:not-allowed}.hb-checkbox--disabled .hb-checkbox__inner{background-color:var(--hb-checkbox-disabled-bg-color);border-color:var(--hb-checkbox-border-color);cursor:not-allowed}.hb-checkbox--disabled .hb-checkbox__inner:after{border-color:var(--hb-checkbox-disabled-color);cursor:not-allowed}.hb-checkbox--disabled .hb-checkbox__label{color:var(--hb-checkbox-disabled-color);cursor:not-allowed}.hb-checkbox--border{border:1px solid var(--hb-checkbox-border-color);border-radius:4px;box-sizing:border-box;padding:9px 15px 9px 9px;white-space:nowrap}.hb-checkbox--border.hb-checkbox--checked{border-color:var(--hb-checkbox-border-color-checked)}.hb-checkbox--border.hb-checkbox--disabled{border-color:var(--hb-checkbox-border-color);cursor:not-allowed}.hb-checkbox--small{font-size:var(--hb-checkbox-font-size-small)}.hb-checkbox--small .hb-checkbox__inner{height:12px;width:12px}.hb-checkbox--small .hb-checkbox__label{padding-left:6px}.hb-checkbox--large{font-size:var(--hb-checkbox-font-size-large)}.hb-checkbox--large .hb-checkbox__inner{height:16px;width:16px}.hb-checkbox--large .hb-checkbox__label{padding-left:10px}.hb-checkbox:hover:not(.hb-checkbox--disabled) .hb-checkbox__inner{border-color:var(--hb-checkbox-border-color-checked)}@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}';const r=i;const a=class{constructor(t){e(this,t);this.hbChange=o(this,"hbChange",7)}modelValue=false;value;disabled=false;checked=false;indeterminate=false;name;checkboxId;label;border=false;size="default";hbChange;isChecked=false;handleValueChange(){this.updateChecked()}componentDidLoad(){this.updateChecked()}updateChecked(){if(this.value!==undefined){const e=this.modelValue;this.isChecked=Array.isArray(e)&&e.includes(this.value)}else{this.isChecked=this.checked||this.modelValue}}handleChange=e=>{const o=e.target;if(this.disabled){e.preventDefault();return}if(this.value!==undefined){const e=this.modelValue||[];let t;if(o.checked){t=[...e,this.value]}else{t=e.filter((e=>e!==this.value))}this.modelValue=t;this.hbChange.emit(t)}else{this.modelValue=o.checked;this.isChecked=o.checked;this.hbChange.emit(o.checked)}};render(){const e=this.checkboxId||`hb-checkbox-${Math.random().toString(36).substr(2,9)}`;return t("label",{key:"3454531e94317be24e62b1eb74b18ccc337f4e87",class:{"hb-checkbox":true,"hb-checkbox--checked":this.isChecked,"hb-checkbox--disabled":this.disabled,"hb-checkbox--border":this.border,[`hb-checkbox--${this.size}`]:true}},t("span",{key:"7b889197f591ffe75912ad536946654994e1550b",class:"hb-checkbox__input"},t("input",{key:"100100c49fd6ab3a3ae82d01b10a762402c6bc7e",type:"checkbox",id:e,name:this.name,checked:this.isChecked,disabled:this.disabled,indeterminate:this.indeterminate,onChange:this.handleChange,class:"hb-checkbox__original"}),t("span",{key:"b9a7072747f298d80763c9fb3b5966c26312a777",class:{"hb-checkbox__inner":true,"hb-checkbox__inner--indeterminate":this.indeterminate}})),(this.label||this.value!==undefined)&&t("span",{key:"207fa5fe0d219c0c1f693d9d26a46f6bf75526e1",class:"hb-checkbox__label"},t("slot",{key:"8bb056dd9f287d5224d0f973e006a7566f511e5e"},this.label||this.value)))}static get watchers(){return{modelValue:["handleValueChange"],checked:["handleValueChange"],value:["handleValueChange"]}}};a.style=r;export{a as hb_checkbox};
2
- //# sourceMappingURL=p-e10fcfbe.entry.js.map
1
+ import{r as e,c as o,h as t}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-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}}}@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{.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)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{--hb-checkbox-font-size:14px;--hb-checkbox-font-size-large:16px;--hb-checkbox-font-size-small:12px;--hb-checkbox-color:var(--hb-color-primary);--hb-checkbox-border-color:var(--hb-border-color,#dcdfe6);--hb-checkbox-border-color-checked:var(--hb-color-primary);--hb-checkbox-bg-color:var(--hb-color-white,#fff);--hb-checkbox-text-color:var(--hb-color-text-regular,#606266);--hb-checkbox-disabled-color:var(--hb-color-text-placeholder,#c0c4cc);--hb-checkbox-disabled-bg-color:var(--hb-fill-color-light,#f5f7fa);display:inline-block}.hb-checkbox{align-items:center;color:var(--hb-checkbox-text-color);cursor:pointer;display:inline-flex;font-size:var(--hb-checkbox-font-size);font-weight:500;margin-right:30px;position:relative;-webkit-user-select:none;user-select:none;white-space:nowrap}.hb-checkbox:last-child{margin-right:0}.hb-checkbox__input{cursor:pointer;display:inline-flex;outline:none;position:relative;vertical-align:middle;white-space:nowrap}.hb-checkbox__original{height:0;margin:0;opacity:0;outline:none;position:absolute;width:0;z-index:-1}.hb-checkbox__inner{background-color:var(--hb-checkbox-bg-color);border:var(--hb-border,1px solid var(--hb-checkbox-border-color));border-radius:2px;box-sizing:border-box;display:inline-block;height:14px;position:relative;transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);width:14px;z-index:1}.hb-checkbox__inner:after{border:2px solid var(--hb-color-white,#fff);border-left:0;border-top:0;box-sizing:content-box;content:"";height:7px;left:4px;position:absolute;top:1px;transform:rotate(45deg)scaleY(0);transform-origin:50%;transition:transform .15s ease-in 50ms;width:3px}.hb-checkbox--checked .hb-checkbox__inner{background-color:var(--hb-checkbox-color);border-color:var(--hb-checkbox-border-color-checked)}.hb-checkbox--checked .hb-checkbox__inner:after{transform:rotate(45deg)scaleY(1)}.hb-checkbox__inner--indeterminate{background-color:var(--hb-checkbox-color);border-color:var(--hb-checkbox-border-color-checked)}.hb-checkbox__inner--indeterminate:after{background-color:var(--hb-color-white,#fff);content:"";display:block;height:2px;left:0;position:absolute;right:0;top:5px;transform:scaleX(.5)}.hb-checkbox__label{font-size:var(--hb-checkbox-font-size);line-height:1;padding-left:8px}.hb-checkbox--disabled{cursor:not-allowed}.hb-checkbox--disabled .hb-checkbox__inner{background-color:var(--hb-checkbox-disabled-bg-color);border-color:var(--hb-checkbox-border-color);cursor:not-allowed}.hb-checkbox--disabled .hb-checkbox__inner:after{border-color:var(--hb-checkbox-disabled-color);cursor:not-allowed}.hb-checkbox--disabled .hb-checkbox__label{color:var(--hb-checkbox-disabled-color);cursor:not-allowed}.hb-checkbox--border{border:1px solid var(--hb-checkbox-border-color);border-radius:4px;box-sizing:border-box;padding:9px 15px 9px 9px;white-space:nowrap}.hb-checkbox--border.hb-checkbox--checked{border-color:var(--hb-checkbox-border-color-checked)}.hb-checkbox--border.hb-checkbox--disabled{border-color:var(--hb-checkbox-border-color);cursor:not-allowed}.hb-checkbox--small{font-size:var(--hb-checkbox-font-size-small)}.hb-checkbox--small .hb-checkbox__inner{height:12px;width:12px}.hb-checkbox--small .hb-checkbox__label{padding-left:6px}.hb-checkbox--large{font-size:var(--hb-checkbox-font-size-large)}.hb-checkbox--large .hb-checkbox__inner{height:16px;width:16px}.hb-checkbox--large .hb-checkbox__label{padding-left:10px}.hb-checkbox:hover:not(.hb-checkbox--disabled) .hb-checkbox__inner{border-color:var(--hb-checkbox-border-color-checked)}@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}';const r=i;const a=class{constructor(t){e(this,t);this.hbChange=o(this,"hbChange",7)}modelValue=false;value;disabled=false;checked=false;indeterminate=false;name;checkboxId;label;border=false;size="default";hbChange;isChecked=false;stableInputId=`hb-checkbox-${Math.random().toString(36).slice(2,11)}`;handleValueChange(){this.updateChecked()}componentDidLoad(){this.updateChecked()}updateChecked(){if(this.value!==undefined){const e=this.modelValue;this.isChecked=Array.isArray(e)&&e.includes(this.value)}else{this.isChecked=this.checked||this.modelValue}}handleChange=e=>{const o=e.target;if(this.disabled){e.preventDefault();return}if(this.value!==undefined){const e=this.modelValue||[];let t;if(o.checked){t=[...e,this.value]}else{t=e.filter((e=>e!==this.value))}this.modelValue=t;this.hbChange.emit(t)}else{this.modelValue=o.checked;this.isChecked=o.checked;this.hbChange.emit(o.checked)}};render(){const e=this.checkboxId||this.stableInputId;return t("label",{key:"0e4e2f28d55bedb791acadf1b5607c9c100a1229",class:{"hb-checkbox":true,"hb-checkbox--checked":this.isChecked,"hb-checkbox--disabled":this.disabled,"hb-checkbox--border":this.border,[`hb-checkbox--${this.size}`]:true}},t("span",{key:"621e476251e104ce7ffdc19bff15a825e612f787",class:"hb-checkbox__input"},t("input",{key:"8d826b8fbd5ed334440b8a711c244b656d950fd9",type:"checkbox",id:e,name:this.name,checked:this.isChecked,disabled:this.disabled,indeterminate:this.indeterminate,onChange:this.handleChange,class:"hb-checkbox__original"}),t("span",{key:"fda16db0f97a5ab1d1726970f63938e8e0444ee3",class:{"hb-checkbox__inner":true,"hb-checkbox__inner--indeterminate":this.indeterminate}})),(this.label||this.value!==undefined)&&t("span",{key:"edf63f685bb45b9e284033b731d8ded2f8723b6a",class:"hb-checkbox__label"},t("slot",{key:"e27d6d674f13ba79c65537dc7d6480202ba3b591"},this.label||this.value)))}static get watchers(){return{modelValue:["handleValueChange"],checked:["handleValueChange"],value:["handleValueChange"]}}};a.style=r;export{a as hb_checkbox};
2
+ //# sourceMappingURL=p-b105cf76.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["checkboxCss","HbCheckboxStyle0","Checkbox","modelValue","value","disabled","checked","indeterminate","name","checkboxId","label","border","size","hbChange","isChecked","stableInputId","Math","random","toString","slice","handleValueChange","this","updateChecked","componentDidLoad","undefined","Array","isArray","includes","handleChange","e","target","preventDefault","newValue","filter","v","emit","render","inputId","h","key","class","type","id","onChange"],"sources":["src/components/Checkbox/checkbox.css?tag=hb-checkbox&encapsulation=shadow","src/components/Checkbox/Checkbox.tsx"],"sourcesContent":[":host {\n display: inline-block;\n --hb-checkbox-font-size: 14px;\n --hb-checkbox-font-size-large: 16px;\n --hb-checkbox-font-size-small: 12px;\n --hb-checkbox-color: var(--hb-color-primary);\n --hb-checkbox-border-color: var(--hb-border-color, #dcdfe6);\n --hb-checkbox-border-color-checked: var(--hb-color-primary);\n --hb-checkbox-bg-color: var(--hb-color-white, #ffffff);\n --hb-checkbox-text-color: var(--hb-color-text-regular, #606266);\n --hb-checkbox-disabled-color: var(--hb-color-text-placeholder, #c0c4cc);\n --hb-checkbox-disabled-bg-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-checkbox {\n color: var(--hb-checkbox-text-color);\n font-weight: 500;\n font-size: var(--hb-checkbox-font-size);\n position: relative;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n white-space: nowrap;\n user-select: none;\n margin-right: 30px;\n}\n\n.hb-checkbox:last-child {\n margin-right: 0;\n}\n\n.hb-checkbox__input {\n white-space: nowrap;\n cursor: pointer;\n outline: none;\n display: inline-flex;\n position: relative;\n vertical-align: middle;\n}\n\n.hb-checkbox__original {\n opacity: 0;\n outline: none;\n position: absolute;\n margin: 0;\n width: 0;\n height: 0;\n z-index: -1;\n}\n\n.hb-checkbox__inner {\n display: inline-block;\n position: relative;\n border: var(--hb-border, 1px solid var(--hb-checkbox-border-color));\n border-radius: 2px;\n box-sizing: border-box;\n width: 14px;\n height: 14px;\n background-color: var(--hb-checkbox-bg-color);\n z-index: 1;\n transition: border-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46),\n background-color 0.25s cubic-bezier(0.71, -0.46, 0.29, 1.46);\n}\n\n.hb-checkbox__inner::after {\n box-sizing: content-box;\n content: '';\n border: 2px solid var(--hb-color-white, #ffffff);\n border-left: 0;\n border-top: 0;\n height: 7px;\n left: 4px;\n position: absolute;\n top: 1px;\n transform: rotate(45deg) scaleY(0);\n width: 3px;\n transition: transform 0.15s ease-in 0.05s;\n transform-origin: center;\n}\n\n.hb-checkbox--checked .hb-checkbox__inner {\n background-color: var(--hb-checkbox-color);\n border-color: var(--hb-checkbox-border-color-checked);\n}\n\n.hb-checkbox--checked .hb-checkbox__inner::after {\n transform: rotate(45deg) scaleY(1);\n}\n\n.hb-checkbox__inner--indeterminate {\n background-color: var(--hb-checkbox-color);\n border-color: var(--hb-checkbox-border-color-checked);\n}\n\n.hb-checkbox__inner--indeterminate::after {\n content: '';\n position: absolute;\n display: block;\n background-color: var(--hb-color-white, #ffffff);\n height: 2px;\n transform: scaleX(0.5);\n left: 0;\n right: 0;\n top: 5px;\n}\n\n.hb-checkbox__label {\n padding-left: 8px;\n line-height: 1;\n font-size: var(--hb-checkbox-font-size);\n}\n\n.hb-checkbox--disabled {\n cursor: not-allowed;\n}\n\n.hb-checkbox--disabled .hb-checkbox__inner {\n background-color: var(--hb-checkbox-disabled-bg-color);\n border-color: var(--hb-checkbox-border-color);\n cursor: not-allowed;\n}\n\n.hb-checkbox--disabled .hb-checkbox__inner::after {\n cursor: not-allowed;\n border-color: var(--hb-checkbox-disabled-color);\n}\n\n.hb-checkbox--disabled .hb-checkbox__label {\n color: var(--hb-checkbox-disabled-color);\n cursor: not-allowed;\n}\n\n.hb-checkbox--border {\n padding: 9px 15px 9px 9px;\n border-radius: 4px;\n border: 1px solid var(--hb-checkbox-border-color);\n box-sizing: border-box;\n white-space: nowrap;\n}\n\n.hb-checkbox--border.hb-checkbox--checked {\n border-color: var(--hb-checkbox-border-color-checked);\n}\n\n.hb-checkbox--border.hb-checkbox--disabled {\n border-color: var(--hb-checkbox-border-color);\n cursor: not-allowed;\n}\n\n.hb-checkbox--small {\n font-size: var(--hb-checkbox-font-size-small);\n}\n\n.hb-checkbox--small .hb-checkbox__inner {\n width: 12px;\n height: 12px;\n}\n\n.hb-checkbox--small .hb-checkbox__label {\n padding-left: 6px;\n}\n\n.hb-checkbox--large {\n font-size: var(--hb-checkbox-font-size-large);\n}\n\n.hb-checkbox--large .hb-checkbox__inner {\n width: 16px;\n height: 16px;\n}\n\n.hb-checkbox--large .hb-checkbox__label {\n padding-left: 10px;\n}\n\n.hb-checkbox:hover:not(.hb-checkbox--disabled) .hb-checkbox__inner {\n border-color: var(--hb-checkbox-border-color-checked);\n}\n\n","import { Component, h, Prop, Event, EventEmitter, State, Watch } from '@stencil/core';\n\nexport interface CheckboxOption {\n label: string;\n value: string | number;\n disabled?: boolean;\n}\n\n/**\n * Checkbox 多选框组件\n * 一组备选项中进行多选\n */\n@Component({\n tag: 'hb-checkbox',\n styleUrl: 'checkbox.css',\n shadow: true,\n})\nexport class Checkbox {\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue: boolean | (string | number)[] = false;\n\n /**\n * 当前值(用于单个 checkbox)\n */\n @Prop() value?: string | number;\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 是否选中\n * @default false\n */\n @Prop() checked: boolean = false;\n\n /**\n * 是否不确定状态\n * @default false\n */\n @Prop() indeterminate: boolean = false;\n\n /**\n * 原生 name 属性\n */\n @Prop() name?: string;\n\n /**\n * 原生 id 属性\n */\n @Prop() checkboxId?: string;\n\n /**\n * 文本标签\n */\n @Prop() label?: string;\n\n /**\n * 是否显示边框\n * @default false\n */\n @Prop() border: boolean = false;\n\n /**\n * 尺寸\n */\n @Prop() size: 'large' | 'default' | 'small' = 'default';\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<boolean | (string | number)[]>;\n\n @State() isChecked: boolean = false;\n\n /**\n * P7:实例级稳定 inputId,在 componentWillLoad 生成一次。\n * 修复前每次 render 用 Math.random() 生成新 id,破坏 SSR 水合与外部 getElementById 缓存。\n */\n private stableInputId = `hb-checkbox-${Math.random().toString(36).slice(2, 11)}`;\n\n @Watch('modelValue')\n @Watch('checked')\n @Watch('value')\n handleValueChange() {\n this.updateChecked();\n }\n\n componentDidLoad() {\n this.updateChecked();\n }\n\n private updateChecked() {\n if (this.value !== undefined) {\n // 在 checkbox group 中\n const modelValue = this.modelValue as (string | number)[];\n this.isChecked = Array.isArray(modelValue) && modelValue.includes(this.value);\n } else {\n // 单个 checkbox\n this.isChecked = this.checked || (this.modelValue as boolean);\n }\n }\n\n private handleChange = (e: Event) => {\n const target = e.target as HTMLInputElement;\n\n if (this.disabled) {\n e.preventDefault();\n return;\n }\n\n if (this.value !== undefined) {\n // 在 checkbox group 中\n const modelValue = (this.modelValue as (string | number)[]) || [];\n let newValue: (string | number)[];\n\n if (target.checked) {\n newValue = [...modelValue, this.value];\n } else {\n newValue = modelValue.filter(v => v !== this.value);\n }\n\n this.modelValue = newValue;\n this.hbChange.emit(newValue);\n } else {\n // 单个 checkbox\n this.modelValue = target.checked;\n this.isChecked = target.checked;\n this.hbChange.emit(target.checked);\n }\n };\n\n render() {\n const inputId = this.checkboxId || this.stableInputId;\n\n return (\n <label\n class={{\n 'hb-checkbox': true,\n 'hb-checkbox--checked': this.isChecked,\n 'hb-checkbox--disabled': this.disabled,\n 'hb-checkbox--border': this.border,\n [`hb-checkbox--${this.size}`]: true,\n }}\n >\n <span class=\"hb-checkbox__input\">\n <input\n type=\"checkbox\"\n id={inputId}\n name={this.name}\n checked={this.isChecked}\n disabled={this.disabled}\n indeterminate={this.indeterminate}\n onChange={this.handleChange}\n class=\"hb-checkbox__original\"\n />\n <span\n class={{\n 'hb-checkbox__inner': true,\n 'hb-checkbox__inner--indeterminate': this.indeterminate,\n }}\n ></span>\n </span>\n {(this.label || this.value !== undefined) && (\n <span class=\"hb-checkbox__label\">\n <slot>{this.label || this.value}</slot>\n </span>\n )}\n </label>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAc,ytSACpB,MAAAC,EAAeD,E,MCgBFE,EAAQ,M,4DAIMC,WAA4C,MAK7DC,MAMAC,SAAoB,MAMpBC,QAAmB,MAMnBC,cAAyB,MAKzBC,KAKAC,WAKAC,MAMAC,OAAkB,MAKlBC,KAAsC,UAKrCC,SAEAC,UAAqB,MAMtBC,cAAgB,eAAeC,KAAKC,SAASC,SAAS,IAAIC,MAAM,EAAG,MAK3E,iBAAAC,GACEC,KAAKC,e,CAGP,gBAAAC,GACEF,KAAKC,e,CAGC,aAAAA,GACN,GAAID,KAAKjB,QAAUoB,UAAW,CAE5B,MAAMrB,EAAakB,KAAKlB,WACxBkB,KAAKP,UAAYW,MAAMC,QAAQvB,IAAeA,EAAWwB,SAASN,KAAKjB,M,KAClE,CAELiB,KAAKP,UAAYO,KAAKf,SAAYe,KAAKlB,U,EAInCyB,aAAgBC,IACtB,MAAMC,EAASD,EAAEC,OAEjB,GAAIT,KAAKhB,SAAU,CACjBwB,EAAEE,iBACF,M,CAGF,GAAIV,KAAKjB,QAAUoB,UAAW,CAE5B,MAAMrB,EAAckB,KAAKlB,YAAsC,GAC/D,IAAI6B,EAEJ,GAAIF,EAAOxB,QAAS,CAClB0B,EAAW,IAAI7B,EAAYkB,KAAKjB,M,KAC3B,CACL4B,EAAW7B,EAAW8B,QAAOC,GAAKA,IAAMb,KAAKjB,O,CAG/CiB,KAAKlB,WAAa6B,EAClBX,KAAKR,SAASsB,KAAKH,E,KACd,CAELX,KAAKlB,WAAa2B,EAAOxB,QACzBe,KAAKP,UAAYgB,EAAOxB,QACxBe,KAAKR,SAASsB,KAAKL,EAAOxB,Q,GAI9B,MAAA8B,GACE,MAAMC,EAAUhB,KAAKZ,YAAcY,KAAKN,cAExC,OACEuB,EAAA,SAAAC,IAAA,2CACEC,MAAO,CACL,cAAe,KACf,uBAAwBnB,KAAKP,UAC7B,wBAAyBO,KAAKhB,SAC9B,sBAAuBgB,KAAKV,OAC5B,CAAC,gBAAgBU,KAAKT,QAAS,OAGjC0B,EAAA,QAAAC,IAAA,2CAAMC,MAAM,sBACVF,EAAA,SAAAC,IAAA,2CACEE,KAAK,WACLC,GAAIL,EACJ7B,KAAMa,KAAKb,KACXF,QAASe,KAAKP,UACdT,SAAUgB,KAAKhB,SACfE,cAAec,KAAKd,cACpBoC,SAAUtB,KAAKO,aACfY,MAAM,0BAERF,EAAA,QAAAC,IAAA,2CACEC,MAAO,CACL,qBAAsB,KACtB,oCAAqCnB,KAAKd,mBAI9Cc,KAAKX,OAASW,KAAKjB,QAAUoB,YAC7Bc,EAAA,QAAAC,IAAA,2CAAMC,MAAM,sBACVF,EAAA,QAAAC,IAAA,4CAAOlB,KAAKX,OAASW,KAAKjB,Q","ignoreList":[]}
@@ -1,2 +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-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-rate-font-size:20px;--hb-rate-color:var(--hb-color-warning,#e6a23c);--hb-rate-void-color:var(--hb-color-text-placeholder,#c0c4cc);display:inline-block}.hb-rate{display:inline-block;height:var(--hb-rate-font-size);line-height:var(--hb-rate-font-size);vertical-align:middle}.hb-rate__item{color:var(--hb-rate-void-color);cursor:pointer;display:inline-block;font-size:var(--hb-rate-font-size);margin-right:6px;position:relative;transition:transform .2s}.hb-rate__item:hover{transform:scale(1.1)}.hb-rate__item--active{color:var(--hb-rate-color)}.hb-rate__icon{display:block}.hb-rate__half{color:var(--hb-rate-void-color);left:0;overflow:hidden;position:absolute;top:0;width:50%}.hb-rate__half--active{color:var(--hb-rate-color)}.hb-rate__text{color:var(--hb-color-text-regular,#606266);font-size:14px;margin-left:8px;vertical-align:middle}@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=a;const r=class{constructor(i){t(this,i);this.hbChange=e(this,"hbChange",7)}modelValue=0;max=5;disabled=false;allowHalf=false;readonly=false;showScore=false;showText=false;texts;scoreTemplate;hoverValue=0;currentValue=0;hbChange;componentDidLoad(){this.currentValue=this.modelValue}handleValueChange(){this.currentValue=this.modelValue}handleClick=(t,e)=>{if(this.disabled||this.readonly)return;const i=e&&this.allowHalf?t-.5:t;this.currentValue=i;this.modelValue=i;this.hoverValue=0;this.hbChange.emit(i)};handleKeydown=t=>{if(this.disabled||this.readonly)return;const e=this.allowHalf?.5:1;let i=null;switch(t.key){case"ArrowRight":case"ArrowUp":i=this.currentValue+e;break;case"ArrowLeft":case"ArrowDown":i=this.currentValue-e;break;case"Home":i=0;break;case"End":i=this.max;break;default:return}t.preventDefault();if(i===null)return;const a=Math.max(0,Math.min(i,this.max));const o=this.allowHalf?Math.round(a*2)/2:Math.round(a);if(o===this.currentValue)return;this.currentValue=o;this.modelValue=o;this.hbChange.emit(o)};handleMouseEnter=t=>{if(this.disabled||this.readonly)return;this.hoverValue=t};handleMouseLeave=()=>{if(this.disabled||this.readonly)return;this.hoverValue=0};getDisplayValue(){return this.hoverValue||this.currentValue}getText(){const t=Math.ceil(this.currentValue);if(this.texts&&this.texts[t-1]){return this.texts[t-1]}return""}getScoreText(){if(this.scoreTemplate){return this.scoreTemplate.replace("{value}",String(this.currentValue))}return`${this.currentValue} / ${this.max}`}render(){const t=this.getDisplayValue();const e=Array.from({length:this.max},((t,e)=>e+1));return i("div",{key:"6e1ff9a1ed597f2dba1111893a32d079bdce38a4",class:"hb-rate",role:"slider",tabindex:this.disabled||this.readonly?-1:0,"aria-valuemin":0,"aria-valuemax":this.max,"aria-valuenow":this.currentValue,"aria-valuetext":this.scoreTemplate?this.getScoreText():`${this.currentValue} 分`,"aria-orientation":"horizontal","aria-disabled":this.disabled?"true":"false","aria-readonly":this.readonly?"true":"false",onKeyDown:this.handleKeydown},e.map((e=>{const a=t>=e;const o=this.allowHalf&&t>=e-.5&&t<e;const r=a||o;return i("span",{class:{"hb-rate__item":true,"hb-rate__item--active":r,"hb-rate__item--half":o},onMouseEnter:()=>this.handleMouseEnter(e),onMouseLeave:this.handleMouseLeave,onClick:()=>this.handleClick(e,false)},this.allowHalf&&i("span",{class:{"hb-rate__half":true,"hb-rate__half--active":o},onClick:t=>{t.stopPropagation();this.handleClick(e,true)}},"★"),i("span",{class:"hb-rate__icon","aria-hidden":"true"},"★"))})),this.showScore&&i("span",{key:"8bea6243ef85f5cab68eff37b3d259cf3793f9c9",class:"hb-rate__text"},this.getScoreText()),this.showText&&this.getText()&&i("span",{key:"714f24cacb7bc8dfd04f0a984658d845197ef82d",class:"hb-rate__text"},this.getText()))}static get watchers(){return{modelValue:["handleValueChange"]}}};r.style=o;export{r as hb_rate};
2
- //# sourceMappingURL=p-9a5406f0.entry.js.map
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-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-rate-font-size:20px;--hb-rate-color:var(--hb-color-warning,#e6a23c);--hb-rate-void-color:var(--hb-color-text-placeholder,#c0c4cc);display:inline-block}.hb-rate{display:inline-block;height:var(--hb-rate-font-size);line-height:var(--hb-rate-font-size);vertical-align:middle}.hb-rate__item{color:var(--hb-rate-void-color);cursor:pointer;display:inline-block;font-size:var(--hb-rate-font-size);margin-right:6px;position:relative;transition:transform .2s}.hb-rate__item:hover{transform:scale(1.1)}.hb-rate__item--active{color:var(--hb-rate-color)}.hb-rate__icon{display:block}.hb-rate__half{color:var(--hb-rate-void-color);left:0;overflow:hidden;position:absolute;top:0;width:50%}.hb-rate__half--active{color:var(--hb-rate-color)}.hb-rate__text{color:var(--hb-color-text-regular,#606266);font-size:14px;margin-left:8px;vertical-align:middle}@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=a;const r=class{constructor(i){t(this,i);this.hbChange=e(this,"hbChange",7)}modelValue=0;max=5;disabled=false;allowHalf=false;readonly=false;showScore=false;showText=false;texts;scoreTemplate;hoverValue=0;currentValue=0;hbChange;componentDidLoad(){this.currentValue=this.modelValue}handleValueChange(){this.currentValue=this.modelValue}handleClick=(t,e)=>{if(this.disabled||this.readonly)return;const i=e&&this.allowHalf?t-.5:t;this.currentValue=i;this.modelValue=i;this.hoverValue=0;this.hbChange.emit(i)};handleKeydown=t=>{if(this.disabled||this.readonly)return;const e=this.allowHalf?.5:1;let i=null;switch(t.key){case"ArrowRight":case"ArrowUp":i=this.currentValue+e;break;case"ArrowLeft":case"ArrowDown":i=this.currentValue-e;break;case"Home":i=0;break;case"End":i=this.max;break;default:return}t.preventDefault();if(i===null)return;const a=Math.max(0,Math.min(i,this.max));const o=this.allowHalf?Math.round(a*2)/2:Math.round(a);if(o===this.currentValue)return;this.currentValue=o;this.modelValue=o;this.hbChange.emit(o)};handleMouseEnter=t=>{if(this.disabled||this.readonly)return;this.hoverValue=t};handleMouseLeave=()=>{if(this.disabled||this.readonly)return;this.hoverValue=0};getDisplayValue(){return this.hoverValue||this.currentValue}getText(){const t=Math.ceil(this.currentValue);if(this.texts&&this.texts[t-1]){return this.texts[t-1]}return""}getScoreText(){if(this.scoreTemplate){return this.scoreTemplate.replace("{value}",String(this.currentValue))}return`${this.currentValue} / ${this.max}`}render(){const t=this.getDisplayValue();const e=Array.from({length:this.max},((t,e)=>e+1));return i("div",{key:"733a00e30b05ce6e5e8e5d798d558babc97fb477",class:"hb-rate",role:"slider",tabindex:this.disabled||this.readonly?-1:0,"aria-valuemin":0,"aria-valuemax":this.max,"aria-valuenow":this.currentValue,"aria-valuetext":this.scoreTemplate?this.getScoreText():`${this.currentValue} 分`,"aria-orientation":"horizontal","aria-disabled":this.disabled?"true":"false","aria-readonly":this.readonly?"true":"false",onKeyDown:this.handleKeydown},e.map((e=>{const a=t>=e;const o=this.allowHalf&&t>=e-.5&&t<e;const r=a||o;return i("span",{class:{"hb-rate__item":true,"hb-rate__item--active":r,"hb-rate__item--half":o},onMouseEnter:()=>this.handleMouseEnter(e),onMouseLeave:this.handleMouseLeave,onClick:()=>this.handleClick(e,false)},this.allowHalf&&i("span",{class:{"hb-rate__half":true,"hb-rate__half--active":o},onClick:t=>{t.stopPropagation();this.handleClick(e,true)}},"★"),i("span",{class:"hb-rate__icon","aria-hidden":"true"},"★"))})),this.showScore&&i("span",{key:"481d7c8434c369991751e9573423a3ec4dd043e9",class:"hb-rate__text"},this.getScoreText()),this.showText&&this.getText()&&i("span",{key:"0d63eec55abc38ef6a9819db65b22bbcd93613c9",class:"hb-rate__text"},this.getText()))}static get watchers(){return{modelValue:["handleValueChange"]}}};r.style=o;export{r as hb_rate};
2
+ //# sourceMappingURL=p-b38802b0.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["rateCss","HbRateStyle0","Rate","modelValue","max","disabled","allowHalf","readonly","showScore","showText","texts","scoreTemplate","hoverValue","currentValue","hbChange","componentDidLoad","this","handleValueChange","handleClick","value","isHalf","newValue","emit","handleKeydown","e","step","next","key","preventDefault","clamped","Math","min","snapped","round","handleMouseEnter","handleMouseLeave","getDisplayValue","getText","ceil","getScoreText","replace","String","render","displayValue","stars","Array","from","length","_","i","h","class","role","tabindex","onKeyDown","map","isFull","isActive","onMouseEnter","onMouseLeave","onClick","stopPropagation"],"sources":["src/components/Rate/rate.css?tag=hb-rate&encapsulation=shadow","src/components/Rate/Rate.tsx"],"sourcesContent":[":host {\n display: inline-block;\n --hb-rate-font-size: 20px;\n --hb-rate-color: var(--hb-color-warning, #e6a23c);\n --hb-rate-void-color: var(--hb-color-text-placeholder, #c0c4cc);\n}\n\n.hb-rate {\n display: inline-block;\n height: var(--hb-rate-font-size);\n line-height: var(--hb-rate-font-size);\n vertical-align: middle;\n}\n\n.hb-rate__item {\n position: relative;\n display: inline-block;\n font-size: var(--hb-rate-font-size);\n margin-right: 6px;\n color: var(--hb-rate-void-color);\n cursor: pointer;\n transition: transform 0.2s;\n}\n\n.hb-rate__item:hover {\n transform: scale(1.1);\n}\n\n.hb-rate__item--active {\n color: var(--hb-rate-color);\n}\n\n.hb-rate__icon {\n display: block;\n}\n\n.hb-rate__half {\n position: absolute;\n left: 0;\n top: 0;\n width: 50%;\n overflow: hidden;\n color: var(--hb-rate-void-color);\n}\n\n.hb-rate__half--active {\n color: var(--hb-rate-color);\n}\n\n.hb-rate__text {\n margin-left: 8px;\n font-size: 14px;\n color: var(--hb-color-text-regular, #606266);\n vertical-align: middle;\n}\n\n","import { Component, h, Prop, Event, EventEmitter, State, Watch } from '@stencil/core';\n\n/**\n * Rate 评分组件\n * 评分组件\n */\n@Component({\n tag: 'hb-rate',\n styleUrl: 'rate.css',\n shadow: true,\n})\nexport class Rate {\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue: number = 0;\n\n /**\n * 最大分值\n * @default 5\n */\n @Prop() max: number = 5;\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 是否允许半选\n * @default false\n */\n @Prop() allowHalf: boolean = false;\n\n /**\n * 只读\n * @default false\n */\n @Prop() readonly: boolean = false;\n\n /**\n * 是否显示分数\n * @default false\n */\n @Prop() showScore: boolean = false;\n\n /**\n * 是否显示文本\n * @default false\n */\n @Prop() showText: boolean = false;\n\n /**\n * 辅助文字数组\n */\n @Prop() texts?: string[];\n\n /**\n * 分数显示模板\n */\n @Prop() scoreTemplate?: string;\n\n @State() hoverValue: number = 0;\n @State() currentValue: number = 0;\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<number>;\n\n componentDidLoad() {\n this.currentValue = this.modelValue;\n }\n\n @Watch('modelValue')\n handleValueChange() {\n this.currentValue = this.modelValue;\n }\n\n private handleClick = (value: number, isHalf: boolean) => {\n if (this.disabled || this.readonly) return;\n\n const newValue = isHalf && this.allowHalf ? value - 0.5 : value;\n this.currentValue = newValue;\n this.modelValue = newValue;\n this.hoverValue = 0;\n this.hbChange.emit(newValue);\n };\n\n /**\n * 键盘调节评分(对齐 WAI-ARIA slider / antd Rate):\n * - ArrowRight/ArrowUp:增加(allowHalf 时步进 0.5,否则 1)\n * - ArrowLeft/ArrowDown:减少\n * - Home:归 0;End:满分\n */\n private handleKeydown = (e: KeyboardEvent) => {\n if (this.disabled || this.readonly) return;\n const step = this.allowHalf ? 0.5 : 1;\n let next: number | null = null;\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n next = this.currentValue + step;\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n next = this.currentValue - step;\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = this.max;\n break;\n default:\n return;\n }\n e.preventDefault();\n if (next === null) return;\n // 夹取到 [0, max],且按 step 对齐\n const clamped = Math.max(0, Math.min(next, this.max));\n // 修正浮点:allowHalf 时保留一位小数\n const snapped = this.allowHalf ? Math.round(clamped * 2) / 2 : Math.round(clamped);\n if (snapped === this.currentValue) return;\n this.currentValue = snapped;\n this.modelValue = snapped;\n this.hbChange.emit(snapped);\n };\n\n private handleMouseEnter = (value: number) => {\n if (this.disabled || this.readonly) return;\n this.hoverValue = value;\n };\n\n private handleMouseLeave = () => {\n if (this.disabled || this.readonly) return;\n this.hoverValue = 0;\n };\n\n private getDisplayValue(): number {\n return this.hoverValue || this.currentValue;\n }\n\n private getText(): string {\n const value = Math.ceil(this.currentValue);\n if (this.texts && this.texts[value - 1]) {\n return this.texts[value - 1];\n }\n return '';\n }\n\n private getScoreText(): string {\n if (this.scoreTemplate) {\n return this.scoreTemplate.replace('{value}', String(this.currentValue));\n }\n return `${this.currentValue} / ${this.max}`;\n }\n\n render() {\n const displayValue = this.getDisplayValue();\n const stars = Array.from({ length: this.max }, (_, i) => i + 1);\n\n return (\n <div\n class=\"hb-rate\"\n role=\"slider\"\n tabindex={this.disabled || this.readonly ? -1 : 0}\n aria-valuemin={0}\n aria-valuemax={this.max}\n aria-valuenow={this.currentValue}\n aria-valuetext={this.scoreTemplate ? this.getScoreText() : `${this.currentValue} 分`}\n aria-orientation=\"horizontal\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-readonly={this.readonly ? 'true' : 'false'}\n onKeyDown={this.handleKeydown}\n >\n {stars.map((value) => {\n const isFull = displayValue >= value;\n const isHalf = this.allowHalf && displayValue >= value - 0.5 && displayValue < value;\n const isActive = isFull || isHalf;\n\n return (\n <span\n class={{\n 'hb-rate__item': true,\n 'hb-rate__item--active': isActive,\n 'hb-rate__item--half': isHalf,\n }}\n onMouseEnter={() => this.handleMouseEnter(value)}\n onMouseLeave={this.handleMouseLeave}\n onClick={() => this.handleClick(value, false)}\n >\n {this.allowHalf && (\n <span\n class={{\n 'hb-rate__half': true,\n 'hb-rate__half--active': isHalf,\n }}\n onClick={(e) => {\n e.stopPropagation();\n this.handleClick(value, true);\n }}\n >\n ★\n </span>\n )}\n <span class=\"hb-rate__icon\" aria-hidden=\"true\">★</span>\n </span>\n );\n })}\n {this.showScore && (\n <span class=\"hb-rate__text\">{this.getScoreText()}</span>\n )}\n {this.showText && this.getText() && (\n <span class=\"hb-rate__text\">{this.getText()}</span>\n )}\n </div>\n );\n }\n}\n\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["rateCss","HbRateStyle0","Rate","modelValue","max","disabled","allowHalf","readonly","showScore","showText","texts","scoreTemplate","hoverValue","currentValue","hbChange","componentDidLoad","this","handleValueChange","handleClick","value","isHalf","newValue","emit","handleKeydown","e","step","next","key","preventDefault","clamped","Math","min","snapped","round","handleMouseEnter","handleMouseLeave","getDisplayValue","getText","ceil","getScoreText","replace","String","render","displayValue","stars","Array","from","length","_","i","h","class","role","tabindex","onKeyDown","map","isFull","isActive","onMouseEnter","onMouseLeave","onClick","stopPropagation"],"sources":["src/components/Rate/rate.css?tag=hb-rate&encapsulation=shadow","src/components/Rate/Rate.tsx"],"sourcesContent":[":host {\n display: inline-block;\n --hb-rate-font-size: 20px;\n --hb-rate-color: var(--hb-color-warning, #e6a23c);\n --hb-rate-void-color: var(--hb-color-text-placeholder, #c0c4cc);\n}\n\n.hb-rate {\n display: inline-block;\n height: var(--hb-rate-font-size);\n line-height: var(--hb-rate-font-size);\n vertical-align: middle;\n}\n\n.hb-rate__item {\n position: relative;\n display: inline-block;\n font-size: var(--hb-rate-font-size);\n margin-right: 6px;\n color: var(--hb-rate-void-color);\n cursor: pointer;\n transition: transform 0.2s;\n}\n\n.hb-rate__item:hover {\n transform: scale(1.1);\n}\n\n.hb-rate__item--active {\n color: var(--hb-rate-color);\n}\n\n.hb-rate__icon {\n display: block;\n}\n\n.hb-rate__half {\n position: absolute;\n left: 0;\n top: 0;\n width: 50%;\n overflow: hidden;\n color: var(--hb-rate-void-color);\n}\n\n.hb-rate__half--active {\n color: var(--hb-rate-color);\n}\n\n.hb-rate__text {\n margin-left: 8px;\n font-size: 14px;\n color: var(--hb-color-text-regular, #606266);\n vertical-align: middle;\n}\n\n","import { Component, h, Prop, Event, EventEmitter, State, Watch } from '@stencil/core';\n\n/**\n * Rate 评分组件\n * 评分组件\n */\n@Component({\n tag: 'hb-rate',\n styleUrl: 'rate.css',\n shadow: true,\n})\nexport class Rate {\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue: number = 0;\n\n /**\n * 最大分值\n * @default 5\n */\n @Prop() max: number = 5;\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 是否允许半选\n * @default false\n */\n @Prop() allowHalf: boolean = false;\n\n /**\n * 只读\n * @default false\n */\n @Prop() readonly: boolean = false;\n\n /**\n * 是否显示分数\n * @default false\n */\n @Prop() showScore: boolean = false;\n\n /**\n * 是否显示文本\n * @default false\n */\n @Prop() showText: boolean = false;\n\n /**\n * 辅助文字数组\n */\n @Prop() texts?: string[];\n\n /**\n * 分数显示模板\n */\n @Prop() scoreTemplate?: string;\n\n @State() hoverValue: number = 0;\n @State() currentValue: number = 0;\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<number>;\n\n componentDidLoad() {\n this.currentValue = this.modelValue;\n }\n\n @Watch('modelValue')\n handleValueChange() {\n this.currentValue = this.modelValue;\n }\n\n private handleClick = (value: number, isHalf: boolean) => {\n if (this.disabled || this.readonly) return;\n\n const newValue = isHalf && this.allowHalf ? value - 0.5 : value;\n this.currentValue = newValue;\n this.modelValue = newValue;\n this.hoverValue = 0;\n this.hbChange.emit(newValue);\n };\n\n /**\n * 键盘调节评分(对齐 WAI-ARIA slider / antd Rate):\n * - ArrowRight/ArrowUp:增加(allowHalf 时步进 0.5,否则 1)\n * - ArrowLeft/ArrowDown:减少\n * - Home:归 0;End:满分\n */\n private handleKeydown = (e: KeyboardEvent) => {\n if (this.disabled || this.readonly) return;\n const step = this.allowHalf ? 0.5 : 1;\n let next: number | null = null;\n switch (e.key) {\n case 'ArrowRight':\n case 'ArrowUp':\n next = this.currentValue + step;\n break;\n case 'ArrowLeft':\n case 'ArrowDown':\n next = this.currentValue - step;\n break;\n case 'Home':\n next = 0;\n break;\n case 'End':\n next = this.max;\n break;\n default:\n return;\n }\n e.preventDefault();\n if (next === null) return;\n // 夹取到 [0, max],且按 step 对齐\n const clamped = Math.max(0, Math.min(next, this.max));\n // 修正浮点:allowHalf 时保留一位小数\n const snapped = this.allowHalf ? Math.round(clamped * 2) / 2 : Math.round(clamped);\n if (snapped === this.currentValue) return;\n this.currentValue = snapped;\n this.modelValue = snapped;\n this.hbChange.emit(snapped);\n };\n\n private handleMouseEnter = (value: number) => {\n if (this.disabled || this.readonly) return;\n this.hoverValue = value;\n };\n\n private handleMouseLeave = () => {\n if (this.disabled || this.readonly) return;\n this.hoverValue = 0;\n };\n\n private getDisplayValue(): number {\n return this.hoverValue || this.currentValue;\n }\n\n private getText(): string {\n const value = Math.ceil(this.currentValue);\n if (this.texts && this.texts[value - 1]) {\n return this.texts[value - 1];\n }\n return '';\n }\n\n private getScoreText(): string {\n if (this.scoreTemplate) {\n return this.scoreTemplate.replace('{value}', String(this.currentValue));\n }\n return `${this.currentValue} / ${this.max}`;\n }\n\n render() {\n const displayValue = this.getDisplayValue();\n const stars = Array.from({ length: this.max }, (_, i) => i + 1);\n\n return (\n <div\n class=\"hb-rate\"\n role=\"slider\"\n tabindex={this.disabled || this.readonly ? -1 : 0}\n aria-valuemin={0}\n aria-valuemax={this.max}\n aria-valuenow={this.currentValue}\n aria-valuetext={this.scoreTemplate ? this.getScoreText() : `${this.currentValue} 分`}\n aria-orientation=\"horizontal\"\n aria-disabled={this.disabled ? 'true' : 'false'}\n aria-readonly={this.readonly ? 'true' : 'false'}\n onKeyDown={this.handleKeydown}\n >\n {stars.map(value => {\n const isFull = displayValue >= value;\n const isHalf = this.allowHalf && displayValue >= value - 0.5 && displayValue < value;\n const isActive = isFull || isHalf;\n\n return (\n <span\n class={{\n 'hb-rate__item': true,\n 'hb-rate__item--active': isActive,\n 'hb-rate__item--half': isHalf,\n }}\n onMouseEnter={() => this.handleMouseEnter(value)}\n onMouseLeave={this.handleMouseLeave}\n onClick={() => this.handleClick(value, false)}\n >\n {this.allowHalf && (\n <span\n class={{\n 'hb-rate__half': true,\n 'hb-rate__half--active': isHalf,\n }}\n onClick={e => {\n e.stopPropagation();\n this.handleClick(value, true);\n }}\n >\n ★\n </span>\n )}\n <span class=\"hb-rate__icon\" aria-hidden=\"true\">\n ★\n </span>\n </span>\n );\n })}\n {this.showScore && <span class=\"hb-rate__text\">{this.getScoreText()}</span>}\n {this.showText && this.getText() && <span class=\"hb-rate__text\">{this.getText()}</span>}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,g as e,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{--hb-scrollbar-bg-color:var(--hb-fill-color-light,#f5f7fa);--hb-scrollbar-thumb-color:var(--hb-fill-color,#c0c4cc);--hb-scrollbar-thumb-hover-color:var(--hb-fill-color-dark,#a0a4ac);display:block}.hb-scrollbar{height:100%;overflow:hidden;position:relative}.hb-scrollbar__wrap{height:100%;overflow:auto;scrollbar-color:var(--hb-scrollbar-thumb-color)var(--hb-scrollbar-bg-color);scrollbar-width:thin}.hb-scrollbar__wrap::-webkit-scrollbar{height:6px;width:6px}.hb-scrollbar__wrap::-webkit-scrollbar-track{background:var(--hb-scrollbar-bg-color);border-radius:3px}.hb-scrollbar__wrap::-webkit-scrollbar-thumb{background:var(--hb-scrollbar-thumb-color);border-radius:3px}.hb-scrollbar__wrap::-webkit-scrollbar-thumb:hover{background:var(--hb-scrollbar-thumb-hover-color)}.hb-scrollbar--native .hb-scrollbar__wrap{overflow-y:auto}.hb-scrollbar__view{width:100%}.hb-scrollbar__bar{border-radius:4px;bottom:2px;opacity:0;position:absolute;right:2px;transition:opacity .12s ease-out;z-index:1}.hb-scrollbar:hover .hb-scrollbar__bar{opacity:1}.hb-scrollbar__bar--vertical{top:2px;width:6px}.hb-scrollbar__bar--vertical>div{width:100%}.hb-scrollbar__thumb{background-color:var(--hb-scrollbar-thumb-color);border-radius:inherit;cursor:pointer;display:block;height:0;position:relative;transition:background-color .3s;width:100%}.hb-scrollbar__thumb:hover{background-color:var(--hb-scrollbar-thumb-hover-color)}@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 s=r;const a=class{constructor(e){t(this,e);this.hbScroll=i(this,"hbScroll",7)}get el(){return e(this)}height;maxHeight;always=false;native=false;minSize=20;hbScroll;scrollbarVisible=false;thumbHeight=0;thumbTop=0;wrapRef;thumbRef;resizeObserver;isDragging=false;startY=0;startScrollTop=0;componentDidLoad(){if(!this.native){this.initScrollbar()}}disconnectedCallback(){if(this.resizeObserver){this.resizeObserver.disconnect()}this.removeEventListeners()}handleSizeChange(){this.updateScrollbar()}async setScrollTop(t){if(this.wrapRef){this.wrapRef.scrollTop=t;this.updateScrollbar()}}async setScrollLeft(t){if(this.wrapRef){this.wrapRef.scrollLeft=t;this.updateScrollbar()}}async getScrollTop(){return this.wrapRef?.scrollTop||0}async getScrollLeft(){return this.wrapRef?.scrollLeft||0}initScrollbar(){if(!this.wrapRef)return;this.resizeObserver=new ResizeObserver((()=>{this.updateScrollbar()}));this.resizeObserver.observe(this.wrapRef);this.addEventListeners();this.updateScrollbar()}addEventListeners(){if(this.wrapRef){this.wrapRef.addEventListener("scroll",this.handleScroll)}if(this.thumbRef){this.thumbRef.addEventListener("mousedown",this.handleThumbMouseDown)}document.addEventListener("mousemove",this.handleMouseMove);document.addEventListener("mouseup",this.handleMouseUp)}removeEventListeners(){if(this.wrapRef){this.wrapRef.removeEventListener("scroll",this.handleScroll)}if(this.thumbRef){this.thumbRef.removeEventListener("mousedown",this.handleThumbMouseDown)}document.removeEventListener("mousemove",this.handleMouseMove);document.removeEventListener("mouseup",this.handleMouseUp)}updateScrollbar(){if(!this.wrapRef)return;const t=this.wrapRef.clientHeight;const i=this.wrapRef.scrollHeight;const e=this.wrapRef.scrollTop;const o=i>t;this.scrollbarVisible=o||this.always;if(o&&this.thumbRef){const o=Math.max(this.minSize,t/i*t);const r=t-o;const s=e/(i-t)*r;this.thumbHeight=o;this.thumbTop=Math.max(0,Math.min(r,s))}}handleScroll=()=>{this.updateScrollbar();if(this.wrapRef){this.hbScroll.emit({scrollTop:this.wrapRef.scrollTop,scrollLeft:this.wrapRef.scrollLeft})}};handleThumbMouseDown=t=>{t.preventDefault();t.stopPropagation();this.isDragging=true;this.startY=t.clientY;this.startScrollTop=this.wrapRef?.scrollTop||0};handleMouseMove=t=>{if(!this.isDragging||!this.wrapRef)return;const i=t.clientY-this.startY;const e=this.wrapRef.clientHeight;const o=this.wrapRef.scrollHeight;const r=o-e;const s=this.thumbHeight;const a=e-s;const n=i/a*r;const l=Math.max(0,Math.min(r,this.startScrollTop+n));this.wrapRef.scrollTop=l};handleMouseUp=()=>{this.isDragging=false};render(){const t={};if(this.height){t.height=this.height}if(this.maxHeight){t.maxHeight=this.maxHeight}if(this.native){return o("div",{class:"hb-scrollbar hb-scrollbar--native",style:t},o("div",{class:"hb-scrollbar__wrap"},o("div",{class:"hb-scrollbar__view"},o("slot",null))))}return o("div",{class:"hb-scrollbar",style:t},o("div",{class:"hb-scrollbar__wrap",ref:t=>this.wrapRef=t,onScroll:this.handleScroll},o("div",{class:"hb-scrollbar__view"},o("slot",null))),this.scrollbarVisible&&!this.native&&o("div",{class:"hb-scrollbar__bar hb-scrollbar__bar--vertical"},o("div",{class:"hb-scrollbar__thumb",ref:t=>{this.thumbRef=t;if(t&&!this.native){t.addEventListener("mousedown",this.handleThumbMouseDown)}},style:{height:`${this.thumbHeight}px`,transform:`translateY(${this.thumbTop}px)`}})))}static get watchers(){return{height:["handleSizeChange"],maxHeight:["handleSizeChange"]}}};a.style=s;export{a as hb_scrollbar};
2
- //# sourceMappingURL=p-ea74fcae.entry.js.map
1
+ import{r as t,c as i,g as e,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{--hb-scrollbar-bg-color:var(--hb-fill-color-light,#f5f7fa);--hb-scrollbar-thumb-color:var(--hb-fill-color,#c0c4cc);--hb-scrollbar-thumb-hover-color:var(--hb-fill-color-dark,#a0a4ac);display:block}.hb-scrollbar{height:100%;overflow:hidden;position:relative}.hb-scrollbar__wrap{height:100%;overflow:auto;scrollbar-color:var(--hb-scrollbar-thumb-color)var(--hb-scrollbar-bg-color);scrollbar-width:thin}.hb-scrollbar__wrap::-webkit-scrollbar{height:6px;width:6px}.hb-scrollbar__wrap::-webkit-scrollbar-track{background:var(--hb-scrollbar-bg-color);border-radius:3px}.hb-scrollbar__wrap::-webkit-scrollbar-thumb{background:var(--hb-scrollbar-thumb-color);border-radius:3px}.hb-scrollbar__wrap::-webkit-scrollbar-thumb:hover{background:var(--hb-scrollbar-thumb-hover-color)}.hb-scrollbar--native .hb-scrollbar__wrap{overflow-y:auto}.hb-scrollbar__view{width:100%}.hb-scrollbar__bar{border-radius:4px;bottom:2px;opacity:0;position:absolute;right:2px;transition:opacity .12s ease-out;z-index:1}.hb-scrollbar:hover .hb-scrollbar__bar{opacity:1}.hb-scrollbar__bar--vertical{top:2px;width:6px}.hb-scrollbar__bar--vertical>div{width:100%}.hb-scrollbar__thumb{background-color:var(--hb-scrollbar-thumb-color);border-radius:inherit;cursor:pointer;display:block;height:0;position:relative;transition:background-color .3s;width:100%}.hb-scrollbar__thumb:hover{background-color:var(--hb-scrollbar-thumb-hover-color)}@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 s=r;const a=class{constructor(e){t(this,e);this.hbScroll=i(this,"hbScroll",7)}get el(){return e(this)}height;maxHeight;always=false;native=false;minSize=20;hbScroll;scrollbarVisible=false;thumbHeight=0;thumbTop=0;wrapRef;thumbRef;resizeObserver;isDragging=false;startY=0;startScrollTop=0;componentDidLoad(){if(!this.native){this.initScrollbar()}}disconnectedCallback(){if(this.resizeObserver){this.resizeObserver.disconnect()}this.removeEventListeners()}handleSizeChange(){this.updateScrollbar()}async setScrollTop(t){if(this.wrapRef){this.wrapRef.scrollTop=t;this.updateScrollbar()}}async setScrollLeft(t){if(this.wrapRef){this.wrapRef.scrollLeft=t;this.updateScrollbar()}}async getScrollTop(){return this.wrapRef?.scrollTop||0}async getScrollLeft(){return this.wrapRef?.scrollLeft||0}initScrollbar(){if(!this.wrapRef)return;this.resizeObserver=new ResizeObserver((()=>{this.updateScrollbar()}));this.resizeObserver.observe(this.wrapRef);this.addEventListeners();this.updateScrollbar()}addEventListeners(){if(this.wrapRef){this.wrapRef.addEventListener("scroll",this.handleScroll)}document.addEventListener("mousemove",this.handleMouseMove);document.addEventListener("mouseup",this.handleMouseUp)}removeEventListeners(){if(this.wrapRef){this.wrapRef.removeEventListener("scroll",this.handleScroll)}if(this.thumbRef){this.thumbRef.removeEventListener("mousedown",this.handleThumbMouseDown)}document.removeEventListener("mousemove",this.handleMouseMove);document.removeEventListener("mouseup",this.handleMouseUp)}updateScrollbar(){if(!this.wrapRef)return;const t=this.wrapRef.clientHeight;const i=this.wrapRef.scrollHeight;const e=this.wrapRef.scrollTop;const o=i>t;this.scrollbarVisible=o||this.always;if(o&&this.thumbRef){const o=Math.max(this.minSize,t/i*t);const r=t-o;const s=e/(i-t)*r;this.thumbHeight=o;this.thumbTop=Math.max(0,Math.min(r,s))}}handleScroll=()=>{this.updateScrollbar();if(this.wrapRef){this.hbScroll.emit({scrollTop:this.wrapRef.scrollTop,scrollLeft:this.wrapRef.scrollLeft})}};handleThumbMouseDown=t=>{t.preventDefault();t.stopPropagation();this.isDragging=true;this.startY=t.clientY;this.startScrollTop=this.wrapRef?.scrollTop||0};handleMouseMove=t=>{if(!this.isDragging||!this.wrapRef)return;const i=t.clientY-this.startY;const e=this.wrapRef.clientHeight;const o=this.wrapRef.scrollHeight;const r=o-e;const s=this.thumbHeight;const a=e-s;const n=i/a*r;const l=Math.max(0,Math.min(r,this.startScrollTop+n));this.wrapRef.scrollTop=l};handleMouseUp=()=>{this.isDragging=false};render(){const t={};if(this.height){t.height=this.height}if(this.maxHeight){t.maxHeight=this.maxHeight}if(this.native){return o("div",{class:"hb-scrollbar hb-scrollbar--native",style:t},o("div",{class:"hb-scrollbar__wrap"},o("div",{class:"hb-scrollbar__view"},o("slot",null))))}return o("div",{class:"hb-scrollbar",style:t},o("div",{class:"hb-scrollbar__wrap",ref:t=>this.wrapRef=t,onScroll:this.handleScroll},o("div",{class:"hb-scrollbar__view"},o("slot",null))),this.scrollbarVisible&&!this.native&&o("div",{class:"hb-scrollbar__bar hb-scrollbar__bar--vertical"},o("div",{class:"hb-scrollbar__thumb",ref:t=>{this.thumbRef=t;if(t){t.addEventListener("mousedown",this.handleThumbMouseDown)}},style:{height:`${this.thumbHeight}px`,transform:`translateY(${this.thumbTop}px)`}})))}static get watchers(){return{height:["handleSizeChange"],maxHeight:["handleSizeChange"]}}};a.style=s;export{a as hb_scrollbar};
2
+ //# sourceMappingURL=p-b3fd12c7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["scrollbarCss","HbScrollbarStyle0","Scrollbar","height","maxHeight","always","native","minSize","hbScroll","scrollbarVisible","thumbHeight","thumbTop","wrapRef","thumbRef","resizeObserver","isDragging","startY","startScrollTop","componentDidLoad","this","initScrollbar","disconnectedCallback","disconnect","removeEventListeners","handleSizeChange","updateScrollbar","setScrollTop","top","scrollTop","setScrollLeft","left","scrollLeft","getScrollTop","getScrollLeft","ResizeObserver","observe","addEventListeners","addEventListener","handleScroll","document","handleMouseMove","handleMouseUp","removeEventListener","handleThumbMouseDown","wrapHeight","clientHeight","scrollHeight","hasScroll","Math","max","maxThumbTop","min","emit","e","preventDefault","stopPropagation","clientY","deltaY","maxScrollTop","scrollDelta","newScrollTop","render","style","h","class","ref","el","onScroll","transform"],"sources":["src/components/Scrollbar/scrollbar.css?tag=hb-scrollbar&encapsulation=shadow","src/components/Scrollbar/Scrollbar.tsx"],"sourcesContent":[":host {\n display: block;\n --hb-scrollbar-bg-color: var(--hb-fill-color-light, #f5f7fa);\n --hb-scrollbar-thumb-color: var(--hb-fill-color, #c0c4cc);\n --hb-scrollbar-thumb-hover-color: var(--hb-fill-color-dark, #a0a4ac);\n}\n\n.hb-scrollbar {\n position: relative;\n height: 100%;\n overflow: hidden;\n}\n\n.hb-scrollbar__wrap {\n overflow: auto;\n height: 100%;\n scrollbar-width: thin;\n scrollbar-color: var(--hb-scrollbar-thumb-color) var(--hb-scrollbar-bg-color);\n}\n\n.hb-scrollbar__wrap::-webkit-scrollbar {\n width: 6px;\n height: 6px;\n}\n\n.hb-scrollbar__wrap::-webkit-scrollbar-track {\n background: var(--hb-scrollbar-bg-color);\n border-radius: 3px;\n}\n\n.hb-scrollbar__wrap::-webkit-scrollbar-thumb {\n background: var(--hb-scrollbar-thumb-color);\n border-radius: 3px;\n}\n\n.hb-scrollbar__wrap::-webkit-scrollbar-thumb:hover {\n background: var(--hb-scrollbar-thumb-hover-color);\n}\n\n.hb-scrollbar--native .hb-scrollbar__wrap {\n overflow-y: auto;\n}\n\n.hb-scrollbar__view {\n width: 100%;\n}\n\n.hb-scrollbar__bar {\n position: absolute;\n right: 2px;\n bottom: 2px;\n z-index: 1;\n border-radius: 4px;\n opacity: 0;\n transition: opacity 0.12s ease-out;\n}\n\n.hb-scrollbar:hover .hb-scrollbar__bar {\n opacity: 1;\n}\n\n.hb-scrollbar__bar--vertical {\n width: 6px;\n top: 2px;\n}\n\n.hb-scrollbar__bar--vertical > div {\n width: 100%;\n}\n\n.hb-scrollbar__thumb {\n position: relative;\n display: block;\n width: 100%;\n height: 0;\n cursor: pointer;\n border-radius: inherit;\n background-color: var(--hb-scrollbar-thumb-color);\n transition: background-color 0.3s;\n}\n\n.hb-scrollbar__thumb:hover {\n background-color: var(--hb-scrollbar-thumb-hover-color);\n}\n\n","import { Component, h, Prop, Element, State, Watch, Event, EventEmitter, Method } from '@stencil/core';\n\n/**\n * Scrollbar 滚动条组件\n * 用于替换浏览器原生滚动条\n */\n@Component({\n tag: 'hb-scrollbar',\n styleUrl: 'scrollbar.css',\n shadow: true,\n})\nexport class Scrollbar {\n @Element() el: HTMLElement;\n\n /**\n * 滚动条高度\n */\n @Prop() height?: string;\n\n /**\n * 滚动条最大高度\n */\n @Prop() maxHeight?: string;\n\n /**\n * 是否总是显示滚动条\n * @default false\n */\n @Prop() always: boolean = false;\n\n /**\n * 是否显示原生滚动条\n * @default false\n */\n @Prop() native: boolean = false;\n\n /**\n * 滚动条的最小尺寸\n * @default 20\n */\n @Prop() minSize: number = 20;\n\n /**\n * 滚动事件\n */\n @Event() hbScroll: EventEmitter<{ scrollTop: number; scrollLeft: number }>;\n\n @State() scrollbarVisible: boolean = false;\n @State() thumbHeight: number = 0;\n @State() thumbTop: number = 0;\n\n private wrapRef?: HTMLDivElement;\n private thumbRef?: HTMLDivElement;\n private resizeObserver?: ResizeObserver;\n private isDragging: boolean = false;\n private startY: number = 0;\n private startScrollTop: number = 0;\n\n componentDidLoad() {\n if (!this.native) {\n this.initScrollbar();\n }\n }\n\n disconnectedCallback() {\n if (this.resizeObserver) {\n this.resizeObserver.disconnect();\n }\n this.removeEventListeners();\n }\n\n @Watch('height')\n @Watch('maxHeight')\n handleSizeChange() {\n this.updateScrollbar();\n }\n\n /**\n * 设置滚动条位置\n */\n @Method()\n async setScrollTop(top: number) {\n if (this.wrapRef) {\n this.wrapRef.scrollTop = top;\n this.updateScrollbar();\n }\n }\n\n /**\n * 设置滚动条位置\n */\n @Method()\n async setScrollLeft(left: number) {\n if (this.wrapRef) {\n this.wrapRef.scrollLeft = left;\n this.updateScrollbar();\n }\n }\n\n /**\n * 获取滚动条位置\n */\n @Method()\n async getScrollTop(): Promise<number> {\n return this.wrapRef?.scrollTop || 0;\n }\n\n /**\n * 获取滚动条位置\n */\n @Method()\n async getScrollLeft(): Promise<number> {\n return this.wrapRef?.scrollLeft || 0;\n }\n\n private initScrollbar() {\n if (!this.wrapRef) return;\n\n this.resizeObserver = new ResizeObserver(() => {\n this.updateScrollbar();\n });\n\n this.resizeObserver.observe(this.wrapRef);\n this.addEventListeners();\n this.updateScrollbar();\n }\n\n private addEventListeners() {\n if (this.wrapRef) {\n this.wrapRef.addEventListener('scroll', this.handleScroll);\n }\n // thumb 的 mousedown 绑定放在 ref 回调里(thumb 是条件渲染,componentDidLoad 时可能尚未存在)。\n document.addEventListener('mousemove', this.handleMouseMove);\n document.addEventListener('mouseup', this.handleMouseUp);\n }\n\n private removeEventListeners() {\n if (this.wrapRef) {\n this.wrapRef.removeEventListener('scroll', this.handleScroll);\n }\n if (this.thumbRef) {\n this.thumbRef.removeEventListener('mousedown', this.handleThumbMouseDown);\n }\n document.removeEventListener('mousemove', this.handleMouseMove);\n document.removeEventListener('mouseup', this.handleMouseUp);\n }\n\n private updateScrollbar() {\n if (!this.wrapRef) return;\n\n const wrapHeight = this.wrapRef.clientHeight;\n const scrollHeight = this.wrapRef.scrollHeight;\n const scrollTop = this.wrapRef.scrollTop;\n\n const hasScroll = scrollHeight > wrapHeight;\n this.scrollbarVisible = hasScroll || this.always;\n\n if (hasScroll && this.thumbRef) {\n const thumbHeight = Math.max(this.minSize, (wrapHeight / scrollHeight) * wrapHeight);\n const maxThumbTop = wrapHeight - thumbHeight;\n const thumbTop = (scrollTop / (scrollHeight - wrapHeight)) * maxThumbTop;\n\n this.thumbHeight = thumbHeight;\n this.thumbTop = Math.max(0, Math.min(maxThumbTop, thumbTop));\n }\n }\n\n private handleScroll = () => {\n this.updateScrollbar();\n if (this.wrapRef) {\n this.hbScroll.emit({\n scrollTop: this.wrapRef.scrollTop,\n scrollLeft: this.wrapRef.scrollLeft,\n });\n }\n };\n\n private handleThumbMouseDown = (e: MouseEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = true;\n this.startY = e.clientY;\n this.startScrollTop = this.wrapRef?.scrollTop || 0;\n };\n\n private handleMouseMove = (e: MouseEvent) => {\n if (!this.isDragging || !this.wrapRef) return;\n\n const deltaY = e.clientY - this.startY;\n const wrapHeight = this.wrapRef.clientHeight;\n const scrollHeight = this.wrapRef.scrollHeight;\n const maxScrollTop = scrollHeight - wrapHeight;\n const thumbHeight = this.thumbHeight;\n const maxThumbTop = wrapHeight - thumbHeight;\n\n const scrollDelta = (deltaY / maxThumbTop) * maxScrollTop;\n const newScrollTop = Math.max(0, Math.min(maxScrollTop, this.startScrollTop + scrollDelta));\n\n this.wrapRef.scrollTop = newScrollTop;\n };\n\n private handleMouseUp = () => {\n this.isDragging = false;\n };\n\n render() {\n const style: any = {};\n if (this.height) {\n style.height = this.height;\n }\n if (this.maxHeight) {\n style.maxHeight = this.maxHeight;\n }\n\n if (this.native) {\n return (\n <div class=\"hb-scrollbar hb-scrollbar--native\" style={style}>\n <div class=\"hb-scrollbar__wrap\">\n <div class=\"hb-scrollbar__view\">\n <slot></slot>\n </div>\n </div>\n </div>\n );\n }\n\n return (\n <div class=\"hb-scrollbar\" style={style}>\n <div class=\"hb-scrollbar__wrap\" ref={el => (this.wrapRef = el)} onScroll={this.handleScroll}>\n <div class=\"hb-scrollbar__view\">\n <slot></slot>\n </div>\n </div>\n {this.scrollbarVisible && !this.native && (\n <div class=\"hb-scrollbar__bar hb-scrollbar__bar--vertical\">\n <div\n class=\"hb-scrollbar__thumb\"\n ref={el => {\n // L5:thumb 是条件渲染(scrollbarVisible && !native),\n // 在 ref 回调里绑定 mousedown,确保 thumb 出现时即绑定。\n this.thumbRef = el as HTMLDivElement | undefined;\n if (el) {\n el.addEventListener('mousedown', this.handleThumbMouseDown);\n }\n }}\n style={{\n height: `${this.thumbHeight}px`,\n transform: `translateY(${this.thumbTop}px)`,\n }}\n ></div>\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";import{a,h as r}from"./p-00aa34c8.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{.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-tabs__header{border-bottom:1px solid var(--hb-color-border-secondary);margin-bottom:var(--hb-spacing-md)}.hb-tabs__nav{display:flex;gap:var(--hb-spacing-xs)}.hb-tabs__item{align-items:center;border-bottom:2px solid #0000;color:var(--hb-color-text-secondary);cursor:pointer;display:inline-flex;font-size:var(--hb-font-size-sm);gap:4px;padding:var(--hb-spacing-xs)var(--hb-spacing-md);transition:all var(--hb-transition-duration)var(--hb-transition-function);-webkit-user-select:none;user-select:none}.hb-tabs__item--active,.hb-tabs__item:hover{color:var(--hb-color-primary)}.hb-tabs__item--active{border-bottom-color:var(--hb-color-primary)}.hb-tabs--card .hb-tabs__item{background:var(--hb-color-fill-quaternary);border:1px solid var(--hb-color-border);border-bottom:none;border-radius:var(--hb-border-radius-sm)var(--hb-border-radius-sm)0 0}.hb-tabs--card .hb-tabs__item--active{background:var(--hb-color-bg);border-bottom-color:var(--hb-color-bg);margin-bottom:-1px}.hb-tabs__item-close{align-items:center;border-radius:50%;display:inline-flex;font-size:11px;height:14px;justify-content:center;transition:background-color var(--hb-transition-duration);width:14px}.hb-tabs__item-close:hover{background-color:#0000001a}.hb-tabs__content{color:var(--hb-color-text)}@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 s=n;const l=class{constructor(i){t(this,i);this.hbTabChange=e(this,"hbTabChange",7);this.hbTabRemove=e(this,"hbTabRemove",7)}get el(){return i(this)}modelValue="";type="line";closable=false;activeTab="";tabs=[];paneObserver;hbTabChange;hbTabRemove;componentDidLoad(){this.collectTabs();if(!this.modelValue&&this.tabs.length>0){this.activeTab=this.tabs[0].key;this.modelValue=this.activeTab}else{this.activeTab=this.modelValue}this.updatePaneVisibility();if(typeof MutationObserver!=="undefined"){this.paneObserver=new MutationObserver((()=>{this.collectTabs();if(this.tabs.length>0&&!this.tabs.some((t=>t.key===this.activeTab))){this.activeTab=this.tabs[0].key;this.modelValue=this.activeTab}this.updatePaneVisibility()}));this.paneObserver.observe(this.el,{childList:true,subtree:true,attributes:true,attributeFilter:["key","label"]})}}disconnectedCallback(){this.paneObserver?.disconnect()}handleModelValueChange(){this.activeTab=this.modelValue;this.updatePaneVisibility()}collectTabs(){const t=this.el.querySelectorAll("hb-tab-pane");const e=[];t.forEach((t=>{e.push({key:t.getAttribute("key")||"",label:t.getAttribute("label")||""})}));this.tabs=e}updatePaneVisibility(){const t=this.el.querySelectorAll("hb-tab-pane");t.forEach((t=>{const e=t.getAttribute("key")===this.activeTab;t.setAttribute("active",String(e))}))}handleTabClick=t=>{this.activeTab=t;this.modelValue=t;this.hbTabChange.emit(t);this.updatePaneVisibility();this.moveFocusToTab(t)};handleTabKeydown=(t,e)=>{const i=t.key==="ArrowLeft"||t.key==="ArrowRight"||t.key==="ArrowUp"||t.key==="ArrowDown"||t.key==="Home"||t.key==="End";if(!i)return;t.preventDefault();const o=r(t,{activeIndex:e,itemCount:this.tabs.length,loop:true});if(o.type==="navigate"&&this.tabs[o.index]){this.handleTabClick(this.tabs[o.index].key)}};moveFocusToTab(t){const e=this.tabs.findIndex((e=>e.key===t));if(e<0)return;const i=this.el.shadowRoot?.querySelectorAll(".hb-tabs__item");i?.[e]?.focus()}render(){return o("div",{key:"0f9c23ff4c608965ec84c8bfff0a41f43f5fecef",class:{"hb-tabs":true,[`hb-tabs--${this.type}`]:true}},o("div",{key:"522808237e4128dcf5a3603933eeeedc89b621bd",class:"hb-tabs__header"},o("div",{key:"285309bf2ea491cbbf4d77b5447abe618161919f",class:"hb-tabs__nav",role:"tablist"},this.tabs.map(((t,e)=>{const i=t.key===this.activeTab;const r=`hb-tabs__tab-${t.key}`;return o("div",{class:{"hb-tabs__item":true,"hb-tabs__item--active":i},role:"tab",id:r,"aria-selected":i?"true":"false",tabindex:i?0:-1,"aria-controls":`hb-tabs__panel-${t.key}`,onClick:()=>this.handleTabClick(t.key),onKeyDown:t=>this.handleTabKeydown(t,e)},o("span",{class:"hb-tabs__item-label"},t.label),this.closable&&o("span",{class:"hb-tabs__item-close",role:"button","aria-label":"关闭标签",tabIndex:0,onClick:e=>{e.stopPropagation();this.hbTabRemove.emit(t.key)},onKeyDown:a},"×"))})))),o("div",{key:"2833dd4f5fc59159a98d311f44ad9f25baae7a4d",class:"hb-tabs__content"},o("slot",{key:"fa5ef0b2be073a69d2f1c603795aca3429683e38"})))}static get watchers(){return{modelValue:["handleModelValueChange"]}}};l.style=s;export{l as hb_tabs};
2
+ //# sourceMappingURL=p-b5ea18ba.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["tabsCss","HbTabsStyle0","Tabs","modelValue","type","closable","activeTab","tabs","paneObserver","hbTabChange","hbTabRemove","componentDidLoad","this","collectTabs","length","key","updatePaneVisibility","MutationObserver","some","t","observe","el","childList","subtree","attributes","attributeFilter","disconnectedCallback","disconnect","handleModelValueChange","panes","querySelectorAll","forEach","pane","push","getAttribute","label","isActive","setAttribute","String","handleTabClick","emit","moveFocusToTab","handleTabKeydown","e","currentIndex","isArrow","preventDefault","action","handleListKeyboard","activeIndex","itemCount","loop","index","idx","findIndex","items","shadowRoot","focus","render","h","class","role","map","tab","selected","tabId","id","tabindex","onClick","onKeyDown","tabIndex","stopPropagation","activationClickHandler"],"sources":["src/components/Tabs/tabs.css?tag=hb-tabs&encapsulation=shadow","src/components/Tabs/Tabs.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hb-tabs__header {\n border-bottom: 1px solid var(--hb-color-border-secondary);\n margin-bottom: var(--hb-spacing-md);\n}\n\n.hb-tabs__nav {\n display: flex;\n gap: var(--hb-spacing-xs);\n}\n\n.hb-tabs__item {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: var(--hb-spacing-xs) var(--hb-spacing-md);\n font-size: var(--hb-font-size-sm);\n color: var(--hb-color-text-secondary);\n cursor: pointer;\n border-bottom: 2px solid transparent;\n transition: all var(--hb-transition-duration) var(--hb-transition-function);\n user-select: none;\n}\n\n.hb-tabs__item:hover {\n color: var(--hb-color-primary);\n}\n\n.hb-tabs__item--active {\n color: var(--hb-color-primary);\n border-bottom-color: var(--hb-color-primary);\n}\n\n/* ---- card 类型 ---- */\n.hb-tabs--card .hb-tabs__item {\n border: 1px solid var(--hb-color-border);\n border-bottom: none;\n border-radius: var(--hb-border-radius-sm) var(--hb-border-radius-sm) 0 0;\n background: var(--hb-color-fill-quaternary);\n}\n.hb-tabs--card .hb-tabs__item--active {\n background: var(--hb-color-bg);\n border-bottom-color: var(--hb-color-bg);\n margin-bottom: -1px;\n}\n\n.hb-tabs__item-close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 14px;\n height: 14px;\n border-radius: 50%;\n font-size: 11px;\n transition: background-color var(--hb-transition-duration);\n}\n.hb-tabs__item-close:hover {\n background-color: rgba(0, 0, 0, 0.1);\n}\n\n.hb-tabs__content {\n color: var(--hb-color-text);\n}\n","import { Component, h, Prop, State, Element, Watch, Event, EventEmitter } from '@stencil/core';\nimport { handleListKeyboard, activationClickHandler } from '../../utils/a11y';\n\n/**\n * Tabs 标签页组件\n * 选项卡切换组件\n */\n@Component({\n tag: 'hb-tabs',\n styleUrl: 'tabs.css',\n shadow: true,\n})\nexport class Tabs {\n @Element() el: HTMLElement;\n\n /** 当前激活的标签 */\n @Prop({ mutable: true }) modelValue: string = '';\n\n /** 标签风格类型 */\n @Prop() type: 'line' | 'card' | 'border-card' = 'line';\n\n /** 是否可关闭 */\n @Prop() closable: boolean = false;\n\n @State() activeTab: string = '';\n @State() tabs: { key: string; label: string }[] = [];\n\n /**\n * P5:监听 slot 内 <hb-tab-pane> 的增删/属性变化,动态反映到 tabs 列表。\n * 修复前 collectTabs 仅在 componentDidLoad 跑一次,运行时增删 pane 不生效(正确性 bug)。\n */\n private paneObserver?: MutationObserver;\n\n /** 标签切换事件 */\n @Event() hbTabChange: EventEmitter<string>;\n\n /** 标签关闭事件 */\n @Event() hbTabRemove: EventEmitter<string>;\n\n componentDidLoad() {\n this.collectTabs();\n if (!this.modelValue && this.tabs.length > 0) {\n this.activeTab = this.tabs[0].key;\n this.modelValue = this.activeTab;\n } else {\n this.activeTab = this.modelValue;\n }\n this.updatePaneVisibility();\n // P5:观察 slot 内子节点变化,动态重建 tabs 列表。\n // Stencil 单测环境无 MutationObserver,做特性检测保护。\n if (typeof MutationObserver !== 'undefined') {\n this.paneObserver = new MutationObserver(() => {\n this.collectTabs();\n // 若当前激活 tab 被移除,回退到首个\n if (this.tabs.length > 0 && !this.tabs.some(t => t.key === this.activeTab)) {\n this.activeTab = this.tabs[0].key;\n this.modelValue = this.activeTab;\n }\n this.updatePaneVisibility();\n });\n this.paneObserver.observe(this.el, { childList: true, subtree: true, attributes: true, attributeFilter: ['key', 'label'] });\n }\n }\n\n disconnectedCallback() {\n this.paneObserver?.disconnect();\n }\n\n @Watch('modelValue')\n handleModelValueChange() {\n this.activeTab = this.modelValue;\n this.updatePaneVisibility();\n }\n\n private collectTabs() {\n const panes = this.el.querySelectorAll('hb-tab-pane');\n const tabs: { key: string; label: string }[] = [];\n panes.forEach(pane => {\n tabs.push({\n key: pane.getAttribute('key') || '',\n label: pane.getAttribute('label') || '',\n });\n });\n this.tabs = tabs;\n }\n\n private updatePaneVisibility() {\n const panes = this.el.querySelectorAll('hb-tab-pane');\n panes.forEach(pane => {\n const isActive = pane.getAttribute('key') === this.activeTab;\n pane.setAttribute('active', String(isActive));\n });\n }\n\n private handleTabClick = (key: string) => {\n this.activeTab = key;\n this.modelValue = key;\n this.hbTabChange.emit(key);\n this.updatePaneVisibility();\n this.moveFocusToTab(key);\n };\n\n /** WAI-ARIA tabs:左右(横排)/上下(竖排)箭头在 tab 间切换聚焦的 tab。 */\n private handleTabKeydown = (e: KeyboardEvent, currentIndex: number) => {\n // 仅响应方向键 / Home / End;Enter/Space 由浏览器对可聚焦元素原生触发 click。\n const isArrow = e.key === 'ArrowLeft' || e.key === 'ArrowRight' || e.key === 'ArrowUp' || e.key === 'ArrowDown' || e.key === 'Home' || e.key === 'End';\n if (!isArrow) return;\n e.preventDefault();\n const action = handleListKeyboard(e, {\n activeIndex: currentIndex,\n itemCount: this.tabs.length,\n loop: true,\n });\n if (action.type === 'navigate' && this.tabs[action.index]) {\n this.handleTabClick(this.tabs[action.index].key);\n }\n };\n\n private moveFocusToTab(key: string) {\n const idx = this.tabs.findIndex(t => t.key === key);\n if (idx < 0) return;\n const items = this.el.shadowRoot?.querySelectorAll<HTMLElement>('.hb-tabs__item');\n items?.[idx]?.focus();\n }\n\n render() {\n return (\n <div class={{ 'hb-tabs': true, [`hb-tabs--${this.type}`]: true }}>\n <div class=\"hb-tabs__header\">\n <div class=\"hb-tabs__nav\" role=\"tablist\">\n {this.tabs.map((tab, index) => {\n const selected = tab.key === this.activeTab;\n const tabId = `hb-tabs__tab-${tab.key}`;\n return (\n <div\n class={{\n 'hb-tabs__item': true,\n 'hb-tabs__item--active': selected,\n }}\n role=\"tab\"\n id={tabId}\n aria-selected={selected ? 'true' : 'false'}\n tabindex={selected ? 0 : -1}\n aria-controls={`hb-tabs__panel-${tab.key}`}\n onClick={() => this.handleTabClick(tab.key)}\n onKeyDown={e => this.handleTabKeydown(e, index)}\n >\n <span class=\"hb-tabs__item-label\">{tab.label}</span>\n {this.closable && (\n <span\n class=\"hb-tabs__item-close\"\n role=\"button\"\n aria-label=\"关闭标签\"\n tabIndex={0}\n onClick={e => {\n e.stopPropagation();\n this.hbTabRemove.emit(tab.key);\n }}\n onKeyDown={activationClickHandler}\n >\n ×\n </span>\n )}\n </div>\n );\n })}\n </div>\n </div>\n <div class=\"hb-tabs__content\">\n <slot />\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,h as e}from"./p-e42dfa95.js";const i=class{constructor(e){t(this,e)}title="";description;icon;status="wait";render(){return e("div",{key:"63f299b0fda78da0625d0d33af185af098512986",class:"hb-step"},e("slot",{key:"7d8193df46de7452dee4df28246552fd9bae9cee"}))}};i.style='/*! 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)))){*,:before,:after,::backdrop{--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{:root,:host{--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{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::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}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-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}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-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)}}@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} ';export{i as hb_step};
2
- //# sourceMappingURL=p-41d9c846.entry.js.map
1
+ import{r as t,h as e}from"./p-e42dfa95.js";const i=class{constructor(e){t(this,e)}title="";description;icon;status="wait";render(){return e("div",{key:"aef0fdedd0607289d0268e8d72aab5f44fc20e68",class:"hb-step"},e("slot",{key:"1db9e594e00431c6b5d44c5b9b0e535e464fb359"}))}};i.style='/*! 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)))){*,:before,:after,::backdrop{--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{:root,:host{--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{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;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);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::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}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-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}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-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)}}@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} ';export{i as hb_step};
2
+ //# sourceMappingURL=p-b6afe81e.entry.js.map