huibo-ui 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/dist/cjs/a11y-802de67a.js +123 -0
- package/dist/cjs/a11y-802de67a.js.map +1 -0
- package/dist/cjs/app-globals-3a1e7e63.js +7 -0
- package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
- package/dist/cjs/click-outside-3fcc00dd.js +27 -0
- package/dist/cjs/click-outside-3fcc00dd.js.map +1 -0
- package/dist/cjs/date-helpers-904747ff.js +134 -0
- package/dist/cjs/date-helpers-904747ff.js.map +1 -0
- package/dist/cjs/hb-affix.cjs.entry.js +101 -0
- package/dist/cjs/hb-affix.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-alert.cjs.entry.js +47 -0
- package/dist/cjs/hb-alert.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-anchor.cjs.entry.js +46 -0
- package/dist/cjs/hb-anchor.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-aside.cjs.entry.js +30 -0
- package/dist/cjs/hb-aside.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-avatar.cjs.entry.js +31 -0
- package/dist/cjs/hb-avatar.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-backtop.cjs.entry.js +100 -0
- package/dist/cjs/hb-backtop.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-badge.cjs.entry.js +35 -0
- package/dist/cjs/hb-badge.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-breadcrumb-item.cjs.entry.js +25 -0
- package/dist/cjs/hb-breadcrumb-item.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-breadcrumb.cjs.entry.js +24 -0
- package/dist/cjs/hb-breadcrumb.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-button.cjs.entry.js +39 -0
- package/dist/cjs/hb-button.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-calendar.cjs.entry.js +90 -0
- package/dist/cjs/hb-calendar.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-card.cjs.entry.js +27 -0
- package/dist/cjs/hb-card.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-carousel.cjs.entry.js +150 -0
- package/dist/cjs/hb-carousel.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-cascader.cjs.entry.js +413 -0
- package/dist/cjs/hb-cascader.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-checkbox-group.cjs.entry.js +117 -0
- package/dist/cjs/hb-checkbox-group.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-checkbox.cjs.entry.js +130 -0
- package/dist/cjs/hb-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-collapse-item.cjs.entry.js +58 -0
- package/dist/cjs/hb-collapse-item.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-collapse.cjs.entry.js +41 -0
- package/dist/cjs/hb-collapse.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-color-picker-panel.cjs.entry.js +86 -0
- package/dist/cjs/hb-color-picker-panel.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-color-picker.cjs.entry.js +265 -0
- package/dist/cjs/hb-color-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-config-provider.cjs.entry.js +44 -0
- package/dist/cjs/hb-config-provider.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-container.cjs.entry.js +30 -0
- package/dist/cjs/hb-container.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-date-picker-pane.cjs.entry.js +150 -0
- package/dist/cjs/hb-date-picker-pane.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-date-picker.cjs.entry.js +138 -0
- package/dist/cjs/hb-date-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-date-range-picker.cjs.entry.js +222 -0
- package/dist/cjs/hb-date-range-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-date-time-picker.cjs.entry.js +140 -0
- package/dist/cjs/hb-date-time-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-descriptions.cjs.entry.js +32 -0
- package/dist/cjs/hb-descriptions.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-dialog.cjs.entry.js +114 -0
- package/dist/cjs/hb-dialog.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-divider.cjs.entry.js +36 -0
- package/dist/cjs/hb-divider.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-drawer.cjs.entry.js +89 -0
- package/dist/cjs/hb-drawer.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-dropdown.cjs.entry.js +80 -0
- package/dist/cjs/hb-dropdown.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-empty.cjs.entry.js +24 -0
- package/dist/cjs/hb-empty.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-float-button.cjs.entry.js +57 -0
- package/dist/cjs/hb-float-button.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-footer.cjs.entry.js +30 -0
- package/dist/cjs/hb-footer.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-form-item.cjs.entry.js +112 -0
- package/dist/cjs/hb-form-item.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-form.cjs.entry.js +70 -0
- package/dist/cjs/hb-form.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-header.cjs.entry.js +30 -0
- package/dist/cjs/hb-header.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-icon.cjs.entry.js +76 -0
- package/dist/cjs/hb-icon.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-image-preview.cjs.entry.js +179 -0
- package/dist/cjs/hb-image-preview.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-image.cjs.entry.js +35 -0
- package/dist/cjs/hb-image.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-input-number.cjs.entry.js +169 -0
- package/dist/cjs/hb-input-number.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-input-tag.cjs.entry.js +145 -0
- package/dist/cjs/hb-input-tag.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-input.cjs.entry.js +252 -0
- package/dist/cjs/hb-input.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-layout.cjs.entry.js +78 -0
- package/dist/cjs/hb-layout.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-link.cjs.entry.js +67 -0
- package/dist/cjs/hb-link.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-loading.cjs.entry.js +32 -0
- package/dist/cjs/hb-loading.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-main.cjs.entry.js +22 -0
- package/dist/cjs/hb-main.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-menu-item.cjs.entry.js +50 -0
- package/dist/cjs/hb-menu-item.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-menu.cjs.entry.js +87 -0
- package/dist/cjs/hb-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-message.cjs.entry.js +48 -0
- package/dist/cjs/hb-message.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-notification.cjs.entry.js +67 -0
- package/dist/cjs/hb-notification.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-page-header.cjs.entry.js +37 -0
- package/dist/cjs/hb-page-header.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-pagination.cjs.entry.js +107 -0
- package/dist/cjs/hb-pagination.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-popconfirm.cjs.entry.js +51 -0
- package/dist/cjs/hb-popconfirm.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-popover.cjs.entry.js +59 -0
- package/dist/cjs/hb-popover.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-progress.cjs.entry.js +39 -0
- package/dist/cjs/hb-progress.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-radio.cjs.entry.js +119 -0
- package/dist/cjs/hb-radio.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-rate.cjs.entry.js +132 -0
- package/dist/cjs/hb-rate.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-result.cjs.entry.js +57 -0
- package/dist/cjs/hb-result.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-row.cjs.entry.js +57 -0
- package/dist/cjs/hb-row.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-scrollbar.cjs.entry.js +204 -0
- package/dist/cjs/hb-scrollbar.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-segmented.cjs.entry.js +43 -0
- package/dist/cjs/hb-segmented.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-select.cjs.entry.js +262 -0
- package/dist/cjs/hb-select.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-skeleton.cjs.entry.js +53 -0
- package/dist/cjs/hb-skeleton.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-slider.cjs.entry.js +172 -0
- package/dist/cjs/hb-slider.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-space.cjs.entry.js +72 -0
- package/dist/cjs/hb-space.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-statistic.cjs.entry.js +66 -0
- package/dist/cjs/hb-statistic.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-step.cjs.entry.js +24 -0
- package/dist/cjs/hb-step.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-steps.cjs.entry.js +50 -0
- package/dist/cjs/hb-steps.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-sub-menu.cjs.entry.js +70 -0
- package/dist/cjs/hb-sub-menu.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-switch.cjs.entry.js +92 -0
- package/dist/cjs/hb-switch.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tab-pane.cjs.entry.js +26 -0
- package/dist/cjs/hb-tab-pane.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-table.cjs.entry.js +370 -0
- package/dist/cjs/hb-table.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tabs.cjs.entry.js +115 -0
- package/dist/cjs/hb-tabs.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tag.cjs.entry.js +45 -0
- package/dist/cjs/hb-tag.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-text.cjs.entry.js +60 -0
- package/dist/cjs/hb-text.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-time-picker.cjs.entry.js +147 -0
- package/dist/cjs/hb-time-picker.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-time-select.cjs.entry.js +145 -0
- package/dist/cjs/hb-time-select.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-timeline.cjs.entry.js +30 -0
- package/dist/cjs/hb-timeline.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tooltip.cjs.entry.js +74 -0
- package/dist/cjs/hb-tooltip.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tour.cjs.entry.js +119 -0
- package/dist/cjs/hb-tour.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-transfer.cjs.entry.js +173 -0
- package/dist/cjs/hb-transfer.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tree-select.cjs.entry.js +236 -0
- package/dist/cjs/hb-tree-select.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-tree.cjs.entry.js +313 -0
- package/dist/cjs/hb-tree.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-upload.cjs.entry.js +184 -0
- package/dist/cjs/hb-upload.cjs.entry.js.map +1 -0
- package/dist/cjs/hb-watermark.cjs.entry.js +59 -0
- package/dist/cjs/hb-watermark.cjs.entry.js.map +1 -0
- package/dist/cjs/huibo-ui.cjs.js +27 -0
- package/dist/cjs/huibo-ui.cjs.js.map +1 -0
- package/dist/cjs/index-5aa5c817.js +1915 -0
- package/dist/cjs/index-5aa5c817.js.map +1 -0
- package/dist/cjs/index.cjs.js +4 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +17 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/popup-manager-cde53b2f.js +83 -0
- package/dist/cjs/popup-manager-cde53b2f.js.map +1 -0
- package/dist/collection/collection-manifest.json +97 -0
- package/dist/collection/components/Affix/Affix.js +197 -0
- package/dist/collection/components/Affix/Affix.js.map +1 -0
- package/dist/collection/components/Affix/affix.css +15 -0
- package/dist/collection/components/Alert/Alert.js +193 -0
- package/dist/collection/components/Alert/Alert.js.map +1 -0
- package/dist/collection/components/Alert/alert.css +20 -0
- package/dist/collection/components/Anchor/Anchor.js +142 -0
- package/dist/collection/components/Anchor/Anchor.js.map +1 -0
- package/dist/collection/components/Anchor/anchor.css +53 -0
- package/dist/collection/components/Avatar/Avatar.js +129 -0
- package/dist/collection/components/Avatar/Avatar.js.map +1 -0
- package/dist/collection/components/Avatar/avatar.css +9 -0
- package/dist/collection/components/Backtop/Backtop.js +236 -0
- package/dist/collection/components/Backtop/Backtop.js.map +1 -0
- package/dist/collection/components/Backtop/backtop.css +33 -0
- package/dist/collection/components/Badge/Badge.js +136 -0
- package/dist/collection/components/Badge/Badge.js.map +1 -0
- package/dist/collection/components/Badge/badge.css +17 -0
- package/dist/collection/components/Breadcrumb/Breadcrumb.js +49 -0
- package/dist/collection/components/Breadcrumb/Breadcrumb.js.map +1 -0
- package/dist/collection/components/Breadcrumb/BreadcrumbItem.js +43 -0
- package/dist/collection/components/Breadcrumb/BreadcrumbItem.js.map +1 -0
- package/dist/collection/components/Breadcrumb/breadcrumb.css +10 -0
- package/dist/collection/components/Button/Button.js +144 -0
- package/dist/collection/components/Button/Button.js.map +1 -0
- package/dist/collection/components/Button/button.css +127 -0
- package/dist/collection/components/Calendar/Calendar.js +185 -0
- package/dist/collection/components/Calendar/Calendar.js.map +1 -0
- package/dist/collection/components/Calendar/calendar.css +101 -0
- package/dist/collection/components/Card/Card.js +67 -0
- package/dist/collection/components/Card/Card.js.map +1 -0
- package/dist/collection/components/Card/card.css +17 -0
- package/dist/collection/components/Carousel/Carousel.js +312 -0
- package/dist/collection/components/Carousel/Carousel.js.map +1 -0
- package/dist/collection/components/Carousel/carousel.css +96 -0
- package/dist/collection/components/Cascader/Cascader.js +773 -0
- package/dist/collection/components/Cascader/Cascader.js.map +1 -0
- package/dist/collection/components/Cascader/cascader.css +276 -0
- package/dist/collection/components/Checkbox/Checkbox.js +372 -0
- package/dist/collection/components/Checkbox/Checkbox.js.map +1 -0
- package/dist/collection/components/Checkbox/CheckboxGroup.js +276 -0
- package/dist/collection/components/Checkbox/CheckboxGroup.js.map +1 -0
- package/dist/collection/components/Checkbox/checkbox-group.css +17 -0
- package/dist/collection/components/Checkbox/checkbox.css +179 -0
- package/dist/collection/components/Collapse/Collapse.js +63 -0
- package/dist/collection/components/Collapse/Collapse.js.map +1 -0
- package/dist/collection/components/Collapse/CollapseItem.js +142 -0
- package/dist/collection/components/Collapse/CollapseItem.js.map +1 -0
- package/dist/collection/components/Collapse/collapse.css +2 -0
- package/dist/collection/components/ColorPicker/ColorPicker.js +416 -0
- package/dist/collection/components/ColorPicker/ColorPicker.js.map +1 -0
- package/dist/collection/components/ColorPicker/color-picker.css +203 -0
- package/dist/collection/components/ColorPickerPanel/ColorPickerPanel.js +195 -0
- package/dist/collection/components/ColorPickerPanel/ColorPickerPanel.js.map +1 -0
- package/dist/collection/components/ColorPickerPanel/color-picker-panel.css +127 -0
- package/dist/collection/components/ConfigProvider/ConfigProvider.js +103 -0
- package/dist/collection/components/ConfigProvider/ConfigProvider.js.map +1 -0
- package/dist/collection/components/Container/Aside.js +54 -0
- package/dist/collection/components/Container/Aside.js.map +1 -0
- package/dist/collection/components/Container/Container.js +58 -0
- package/dist/collection/components/Container/Container.js.map +1 -0
- package/dist/collection/components/Container/Footer.js +54 -0
- package/dist/collection/components/Container/Footer.js.map +1 -0
- package/dist/collection/components/Container/Header.js +54 -0
- package/dist/collection/components/Container/Header.js.map +1 -0
- package/dist/collection/components/Container/Main.js +23 -0
- package/dist/collection/components/Container/Main.js.map +1 -0
- package/dist/collection/components/Container/aside.css +15 -0
- package/dist/collection/components/Container/container.css +41 -0
- package/dist/collection/components/Container/footer.css +15 -0
- package/dist/collection/components/Container/header.css +15 -0
- package/dist/collection/components/Container/main.css +14 -0
- package/dist/collection/components/DatePicker/DatePicker.js +402 -0
- package/dist/collection/components/DatePicker/DatePicker.js.map +1 -0
- package/dist/collection/components/DatePicker/date-picker.css +209 -0
- package/dist/collection/components/DatePickerPane/DatePickerPane.js +276 -0
- package/dist/collection/components/DatePickerPane/DatePickerPane.js.map +1 -0
- package/dist/collection/components/DatePickerPane/date-picker-pane.css +140 -0
- package/dist/collection/components/DateRangePicker/DateRangePicker.js +438 -0
- package/dist/collection/components/DateRangePicker/DateRangePicker.js.map +1 -0
- package/dist/collection/components/DateRangePicker/date-range-picker.css +200 -0
- package/dist/collection/components/DateTimePicker/DateTimePicker.js +341 -0
- package/dist/collection/components/DateTimePicker/DateTimePicker.js.map +1 -0
- package/dist/collection/components/DateTimePicker/date-time-picker.css +168 -0
- package/dist/collection/components/Descriptions/Descriptions.js +141 -0
- package/dist/collection/components/Descriptions/Descriptions.js.map +1 -0
- package/dist/collection/components/Descriptions/descriptions.css +52 -0
- package/dist/collection/components/Dialog/Dialog.js +348 -0
- package/dist/collection/components/Dialog/Dialog.js.map +1 -0
- package/dist/collection/components/Dialog/dialog.css +113 -0
- package/dist/collection/components/Divider/Divider.js +102 -0
- package/dist/collection/components/Divider/Divider.js.map +1 -0
- package/dist/collection/components/Divider/divider.css +40 -0
- package/dist/collection/components/Drawer/Drawer.js +289 -0
- package/dist/collection/components/Drawer/Drawer.js.map +1 -0
- package/dist/collection/components/Drawer/drawer.css +18 -0
- package/dist/collection/components/Dropdown/Dropdown.js +172 -0
- package/dist/collection/components/Dropdown/Dropdown.js.map +1 -0
- package/dist/collection/components/Dropdown/dropdown.css +62 -0
- package/dist/collection/components/Empty/Empty.js +64 -0
- package/dist/collection/components/Empty/Empty.js.map +1 -0
- package/dist/collection/components/Empty/empty.css +6 -0
- package/dist/collection/components/FloatButton/FloatButton.js +223 -0
- package/dist/collection/components/FloatButton/FloatButton.js.map +1 -0
- package/dist/collection/components/FloatButton/float-button.css +101 -0
- package/dist/collection/components/Form/Form.js +271 -0
- package/dist/collection/components/Form/Form.js.map +1 -0
- package/dist/collection/components/Form/FormItem.js +300 -0
- package/dist/collection/components/Form/FormItem.js.map +1 -0
- package/dist/collection/components/Form/form-item.css +43 -0
- package/dist/collection/components/Form/form.css +15 -0
- package/dist/collection/components/Icon/Icon.js +162 -0
- package/dist/collection/components/Icon/Icon.js.map +1 -0
- package/dist/collection/components/Icon/icon.css +43 -0
- package/dist/collection/components/Image/Image.js +200 -0
- package/dist/collection/components/Image/Image.js.map +1 -0
- package/dist/collection/components/Image/image.css +7 -0
- package/dist/collection/components/ImagePreview/ImagePreview.js +371 -0
- package/dist/collection/components/ImagePreview/ImagePreview.js.map +1 -0
- package/dist/collection/components/ImagePreview/image-preview.css +125 -0
- package/dist/collection/components/Input/Input.js +717 -0
- package/dist/collection/components/Input/Input.js.map +1 -0
- package/dist/collection/components/Input/input.css +144 -0
- package/dist/collection/components/InputNumber/InputNumber.js +510 -0
- package/dist/collection/components/InputNumber/InputNumber.js.map +1 -0
- package/dist/collection/components/InputNumber/input-number.css +168 -0
- package/dist/collection/components/InputTag/InputTag.js +427 -0
- package/dist/collection/components/InputTag/InputTag.js.map +1 -0
- package/dist/collection/components/InputTag/input-tag.css +159 -0
- package/dist/collection/components/Layout/Layout.js +270 -0
- package/dist/collection/components/Layout/Layout.js.map +1 -0
- package/dist/collection/components/Layout/Row.js +147 -0
- package/dist/collection/components/Layout/Row.js.map +1 -0
- package/dist/collection/components/Layout/layout.css +89 -0
- package/dist/collection/components/Layout/row.css +56 -0
- package/dist/collection/components/Link/Link.js +220 -0
- package/dist/collection/components/Link/Link.js.map +1 -0
- package/dist/collection/components/Link/link.css +87 -0
- package/dist/collection/components/Loading/Loading.js +96 -0
- package/dist/collection/components/Loading/Loading.js.map +1 -0
- package/dist/collection/components/Loading/loading.css +58 -0
- package/dist/collection/components/Menu/Menu.js +246 -0
- package/dist/collection/components/Menu/Menu.js.map +1 -0
- package/dist/collection/components/Menu/MenuItem.js +128 -0
- package/dist/collection/components/Menu/MenuItem.js.map +1 -0
- package/dist/collection/components/Menu/SubMenu.js +140 -0
- package/dist/collection/components/Menu/SubMenu.js.map +1 -0
- package/dist/collection/components/Menu/menu.css +143 -0
- package/dist/collection/components/Message/Message.js +139 -0
- package/dist/collection/components/Message/Message.js.map +1 -0
- package/dist/collection/components/Message/show-message.js +24 -0
- package/dist/collection/components/Message/show-message.js.map +1 -0
- package/dist/collection/components/Notification/Notification.js +262 -0
- package/dist/collection/components/Notification/Notification.js.map +1 -0
- package/dist/collection/components/Notification/notification.css +160 -0
- package/dist/collection/components/Notification/notify.js +53 -0
- package/dist/collection/components/Notification/notify.js.map +1 -0
- package/dist/collection/components/PageHeader/PageHeader.js +139 -0
- package/dist/collection/components/PageHeader/PageHeader.js.map +1 -0
- package/dist/collection/components/PageHeader/page-header.css +39 -0
- package/dist/collection/components/Pagination/Pagination.js +309 -0
- package/dist/collection/components/Pagination/Pagination.js.map +1 -0
- package/dist/collection/components/Pagination/pagination.css +83 -0
- package/dist/collection/components/Popconfirm/Popconfirm.js +185 -0
- package/dist/collection/components/Popconfirm/Popconfirm.js.map +1 -0
- package/dist/collection/components/Popconfirm/popconfirm.css +20 -0
- package/dist/collection/components/Popover/Popover.js +173 -0
- package/dist/collection/components/Popover/Popover.js.map +1 -0
- package/dist/collection/components/Popover/popover.css +10 -0
- package/dist/collection/components/Progress/Progress.js +139 -0
- package/dist/collection/components/Progress/Progress.js.map +1 -0
- package/dist/collection/components/Progress/progress.css +5 -0
- package/dist/collection/components/Radio/Radio.js +338 -0
- package/dist/collection/components/Radio/Radio.js.map +1 -0
- package/dist/collection/components/Radio/radio.css +158 -0
- package/dist/collection/components/Rate/Rate.js +357 -0
- package/dist/collection/components/Rate/Rate.js.map +1 -0
- package/dist/collection/components/Rate/rate.css +56 -0
- package/dist/collection/components/Result/Result.js +146 -0
- package/dist/collection/components/Result/Result.js.map +1 -0
- package/dist/collection/components/Result/result.css +47 -0
- package/dist/collection/components/Scrollbar/Scrollbar.js +426 -0
- package/dist/collection/components/Scrollbar/Scrollbar.js.map +1 -0
- package/dist/collection/components/Scrollbar/scrollbar.css +85 -0
- package/dist/collection/components/Segmented/Segmented.js +149 -0
- package/dist/collection/components/Segmented/Segmented.js.map +1 -0
- package/dist/collection/components/Segmented/segmented.css +46 -0
- package/dist/collection/components/Select/Select.js +595 -0
- package/dist/collection/components/Select/Select.js.map +1 -0
- package/dist/collection/components/Select/select.css +223 -0
- package/dist/collection/components/Skeleton/Skeleton.js +178 -0
- package/dist/collection/components/Skeleton/Skeleton.js.map +1 -0
- package/dist/collection/components/Skeleton/skeleton.css +59 -0
- package/dist/collection/components/Slider/Slider.js +434 -0
- package/dist/collection/components/Slider/Slider.js.map +1 -0
- package/dist/collection/components/Slider/slider.css +141 -0
- package/dist/collection/components/Space/Space.js +212 -0
- package/dist/collection/components/Space/Space.js.map +1 -0
- package/dist/collection/components/Space/space.css +57 -0
- package/dist/collection/components/Statistic/Statistic.js +188 -0
- package/dist/collection/components/Statistic/Statistic.js.map +1 -0
- package/dist/collection/components/Statistic/statistic.css +32 -0
- package/dist/collection/components/Steps/Step.js +95 -0
- package/dist/collection/components/Steps/Step.js.map +1 -0
- package/dist/collection/components/Steps/Steps.js +137 -0
- package/dist/collection/components/Steps/Steps.js.map +1 -0
- package/dist/collection/components/Steps/steps.css +25 -0
- package/dist/collection/components/Switch/Switch.js +324 -0
- package/dist/collection/components/Switch/Switch.js.map +1 -0
- package/dist/collection/components/Switch/switch.css +85 -0
- package/dist/collection/components/Table/Table.js +860 -0
- package/dist/collection/components/Table/Table.js.map +1 -0
- package/dist/collection/components/Table/table.css +289 -0
- package/dist/collection/components/Tabs/TabPane.js +82 -0
- package/dist/collection/components/Tabs/TabPane.js.map +1 -0
- package/dist/collection/components/Tabs/Tabs.js +221 -0
- package/dist/collection/components/Tabs/Tabs.js.map +1 -0
- package/dist/collection/components/Tabs/tabs.css +66 -0
- package/dist/collection/components/Tag/Tag.js +167 -0
- package/dist/collection/components/Tag/Tag.js.map +1 -0
- package/dist/collection/components/Tag/tag.css +71 -0
- package/dist/collection/components/Text/Text.js +203 -0
- package/dist/collection/components/Text/Text.js.map +1 -0
- package/dist/collection/components/Text/text.css +61 -0
- package/dist/collection/components/TimePicker/TimePicker.js +348 -0
- package/dist/collection/components/TimePicker/TimePicker.js.map +1 -0
- package/dist/collection/components/TimePicker/time-picker.css +151 -0
- package/dist/collection/components/TimeSelect/TimeSelect.js +389 -0
- package/dist/collection/components/TimeSelect/TimeSelect.js.map +1 -0
- package/dist/collection/components/TimeSelect/time-select.css +139 -0
- package/dist/collection/components/Timeline/Timeline.js +79 -0
- package/dist/collection/components/Timeline/Timeline.js.map +1 -0
- package/dist/collection/components/Timeline/timeline.css +71 -0
- package/dist/collection/components/Tooltip/Tooltip.js +192 -0
- package/dist/collection/components/Tooltip/Tooltip.js.map +1 -0
- package/dist/collection/components/Tooltip/tooltip.css +40 -0
- package/dist/collection/components/Tour/Tour.js +225 -0
- package/dist/collection/components/Tour/Tour.js.map +1 -0
- package/dist/collection/components/Tour/tour.css +117 -0
- package/dist/collection/components/Transfer/Transfer.js +331 -0
- package/dist/collection/components/Transfer/Transfer.js.map +1 -0
- package/dist/collection/components/Transfer/transfer.css +183 -0
- package/dist/collection/components/Tree/Tree.js +527 -0
- package/dist/collection/components/Tree/Tree.js.map +1 -0
- package/dist/collection/components/Tree/tree.css +132 -0
- package/dist/collection/components/TreeSelect/TreeSelect.js +440 -0
- package/dist/collection/components/TreeSelect/TreeSelect.js.map +1 -0
- package/dist/collection/components/TreeSelect/tree-select.css +209 -0
- package/dist/collection/components/Upload/Upload.js +504 -0
- package/dist/collection/components/Upload/Upload.js.map +1 -0
- package/dist/collection/components/Upload/upload.css +16 -0
- package/dist/collection/components/Watermark/Watermark.js +205 -0
- package/dist/collection/components/Watermark/Watermark.js.map +1 -0
- package/dist/collection/components/Watermark/watermark.css +26 -0
- package/dist/collection/index.js +2 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/utils/a11y.js +130 -0
- package/dist/collection/utils/a11y.js.map +1 -0
- package/dist/collection/utils/click-outside.js +22 -0
- package/dist/collection/utils/click-outside.js.map +1 -0
- package/dist/collection/utils/date-helpers.js +120 -0
- package/dist/collection/utils/date-helpers.js.map +1 -0
- package/dist/collection/utils/form-input-base.js +48 -0
- package/dist/collection/utils/form-input-base.js.map +1 -0
- package/dist/collection/utils/popup-manager.js +75 -0
- package/dist/collection/utils/popup-manager.js.map +1 -0
- package/dist/components/hb-affix.d.ts +11 -0
- package/dist/components/hb-affix.js +121 -0
- package/dist/components/hb-affix.js.map +1 -0
- package/dist/components/hb-alert.d.ts +11 -0
- package/dist/components/hb-alert.js +70 -0
- package/dist/components/hb-alert.js.map +1 -0
- package/dist/components/hb-anchor.d.ts +11 -0
- package/dist/components/hb-anchor.js +66 -0
- package/dist/components/hb-anchor.js.map +1 -0
- package/dist/components/hb-aside.d.ts +11 -0
- package/dist/components/hb-aside.js +47 -0
- package/dist/components/hb-aside.js.map +1 -0
- package/dist/components/hb-avatar.d.ts +11 -0
- package/dist/components/hb-avatar.js +52 -0
- package/dist/components/hb-avatar.js.map +1 -0
- package/dist/components/hb-backtop.d.ts +11 -0
- package/dist/components/hb-backtop.js +122 -0
- package/dist/components/hb-backtop.js.map +1 -0
- package/dist/components/hb-badge.d.ts +11 -0
- package/dist/components/hb-badge.js +56 -0
- package/dist/components/hb-badge.js.map +1 -0
- package/dist/components/hb-breadcrumb-item.d.ts +11 -0
- package/dist/components/hb-breadcrumb-item.js +42 -0
- package/dist/components/hb-breadcrumb-item.js.map +1 -0
- package/dist/components/hb-breadcrumb.d.ts +11 -0
- package/dist/components/hb-breadcrumb.js +41 -0
- package/dist/components/hb-breadcrumb.js.map +1 -0
- package/dist/components/hb-button.d.ts +11 -0
- package/dist/components/hb-button.js +60 -0
- package/dist/components/hb-button.js.map +1 -0
- package/dist/components/hb-calendar.d.ts +11 -0
- package/dist/components/hb-calendar.js +113 -0
- package/dist/components/hb-calendar.js.map +1 -0
- package/dist/components/hb-card.d.ts +11 -0
- package/dist/components/hb-card.js +45 -0
- package/dist/components/hb-card.js.map +1 -0
- package/dist/components/hb-carousel.d.ts +11 -0
- package/dist/components/hb-carousel.js +178 -0
- package/dist/components/hb-carousel.js.map +1 -0
- package/dist/components/hb-cascader.d.ts +11 -0
- package/dist/components/hb-cascader.js +451 -0
- package/dist/components/hb-cascader.js.map +1 -0
- package/dist/components/hb-checkbox-group.d.ts +11 -0
- package/dist/components/hb-checkbox-group.js +145 -0
- package/dist/components/hb-checkbox-group.js.map +1 -0
- package/dist/components/hb-checkbox.d.ts +11 -0
- package/dist/components/hb-checkbox.js +161 -0
- package/dist/components/hb-checkbox.js.map +1 -0
- package/dist/components/hb-collapse-item.d.ts +11 -0
- package/dist/components/hb-collapse-item.js +81 -0
- package/dist/components/hb-collapse-item.js.map +1 -0
- package/dist/components/hb-collapse.d.ts +11 -0
- package/dist/components/hb-collapse.js +58 -0
- package/dist/components/hb-collapse.js.map +1 -0
- package/dist/components/hb-color-picker-panel.d.ts +11 -0
- package/dist/components/hb-color-picker-panel.js +109 -0
- package/dist/components/hb-color-picker-panel.js.map +1 -0
- package/dist/components/hb-color-picker.d.ts +11 -0
- package/dist/components/hb-color-picker.js +293 -0
- package/dist/components/hb-color-picker.js.map +1 -0
- package/dist/components/hb-config-provider.d.ts +11 -0
- package/dist/components/hb-config-provider.js +62 -0
- package/dist/components/hb-config-provider.js.map +1 -0
- package/dist/components/hb-container.d.ts +11 -0
- package/dist/components/hb-container.js +47 -0
- package/dist/components/hb-container.js.map +1 -0
- package/dist/components/hb-date-picker-pane.d.ts +11 -0
- package/dist/components/hb-date-picker-pane.js +172 -0
- package/dist/components/hb-date-picker-pane.js.map +1 -0
- package/dist/components/hb-date-picker.d.ts +11 -0
- package/dist/components/hb-date-picker.js +170 -0
- package/dist/components/hb-date-picker.js.map +1 -0
- package/dist/components/hb-date-range-picker.d.ts +11 -0
- package/dist/components/hb-date-range-picker.js +254 -0
- package/dist/components/hb-date-range-picker.js.map +1 -0
- package/dist/components/hb-date-time-picker.d.ts +11 -0
- package/dist/components/hb-date-time-picker.js +170 -0
- package/dist/components/hb-date-time-picker.js.map +1 -0
- package/dist/components/hb-descriptions.d.ts +11 -0
- package/dist/components/hb-descriptions.js +53 -0
- package/dist/components/hb-descriptions.js.map +1 -0
- package/dist/components/hb-dialog.d.ts +11 -0
- package/dist/components/hb-dialog.js +141 -0
- package/dist/components/hb-dialog.js.map +1 -0
- package/dist/components/hb-divider.d.ts +11 -0
- package/dist/components/hb-divider.js +55 -0
- package/dist/components/hb-divider.js.map +1 -0
- package/dist/components/hb-drawer.d.ts +11 -0
- package/dist/components/hb-drawer.js +116 -0
- package/dist/components/hb-drawer.js.map +1 -0
- package/dist/components/hb-dropdown.d.ts +11 -0
- package/dist/components/hb-dropdown.js +100 -0
- package/dist/components/hb-dropdown.js.map +1 -0
- package/dist/components/hb-empty.d.ts +11 -0
- package/dist/components/hb-empty.js +42 -0
- package/dist/components/hb-empty.js.map +1 -0
- package/dist/components/hb-float-button.d.ts +11 -0
- package/dist/components/hb-float-button.js +80 -0
- package/dist/components/hb-float-button.js.map +1 -0
- package/dist/components/hb-footer.d.ts +11 -0
- package/dist/components/hb-footer.js +47 -0
- package/dist/components/hb-footer.js.map +1 -0
- package/dist/components/hb-form-item.d.ts +11 -0
- package/dist/components/hb-form-item.js +139 -0
- package/dist/components/hb-form-item.js.map +1 -0
- package/dist/components/hb-form.d.ts +11 -0
- package/dist/components/hb-form.js +96 -0
- package/dist/components/hb-form.js.map +1 -0
- package/dist/components/hb-header.d.ts +11 -0
- package/dist/components/hb-header.js +47 -0
- package/dist/components/hb-header.js.map +1 -0
- package/dist/components/hb-icon.d.ts +11 -0
- package/dist/components/hb-icon.js +96 -0
- package/dist/components/hb-icon.js.map +1 -0
- package/dist/components/hb-image-preview.d.ts +11 -0
- package/dist/components/hb-image-preview.js +207 -0
- package/dist/components/hb-image-preview.js.map +1 -0
- package/dist/components/hb-image.d.ts +11 -0
- package/dist/components/hb-image.js +62 -0
- package/dist/components/hb-image.js.map +1 -0
- package/dist/components/hb-input-number.d.ts +11 -0
- package/dist/components/hb-input-number.js +202 -0
- package/dist/components/hb-input-number.js.map +1 -0
- package/dist/components/hb-input-tag.d.ts +11 -0
- package/dist/components/hb-input-tag.js +174 -0
- package/dist/components/hb-input-tag.js.map +1 -0
- package/dist/components/hb-input.d.ts +11 -0
- package/dist/components/hb-input.js +294 -0
- package/dist/components/hb-input.js.map +1 -0
- package/dist/components/hb-layout.d.ts +11 -0
- package/dist/components/hb-layout.js +103 -0
- package/dist/components/hb-layout.js.map +1 -0
- package/dist/components/hb-link.d.ts +11 -0
- package/dist/components/hb-link.js +89 -0
- package/dist/components/hb-link.js.map +1 -0
- package/dist/components/hb-loading.d.ts +11 -0
- package/dist/components/hb-loading.js +51 -0
- package/dist/components/hb-loading.js.map +1 -0
- package/dist/components/hb-main.d.ts +11 -0
- package/dist/components/hb-main.js +37 -0
- package/dist/components/hb-main.js.map +1 -0
- package/dist/components/hb-menu-item.d.ts +11 -0
- package/dist/components/hb-menu-item.js +70 -0
- package/dist/components/hb-menu-item.js.map +1 -0
- package/dist/components/hb-menu.d.ts +11 -0
- package/dist/components/hb-menu.js +113 -0
- package/dist/components/hb-menu.js.map +1 -0
- package/dist/components/hb-message.d.ts +11 -0
- package/dist/components/hb-message.js +69 -0
- package/dist/components/hb-message.js.map +1 -0
- package/dist/components/hb-notification.d.ts +11 -0
- package/dist/components/hb-notification.js +91 -0
- package/dist/components/hb-notification.js.map +1 -0
- package/dist/components/hb-page-header.d.ts +11 -0
- package/dist/components/hb-page-header.js +57 -0
- package/dist/components/hb-page-header.js.map +1 -0
- package/dist/components/hb-pagination.d.ts +11 -0
- package/dist/components/hb-pagination.js +134 -0
- package/dist/components/hb-pagination.js.map +1 -0
- package/dist/components/hb-popconfirm.d.ts +11 -0
- package/dist/components/hb-popconfirm.js +75 -0
- package/dist/components/hb-popconfirm.js.map +1 -0
- package/dist/components/hb-popover.d.ts +11 -0
- package/dist/components/hb-popover.js +82 -0
- package/dist/components/hb-popover.js.map +1 -0
- package/dist/components/hb-progress.d.ts +11 -0
- package/dist/components/hb-progress.js +60 -0
- package/dist/components/hb-progress.js.map +1 -0
- package/dist/components/hb-radio.d.ts +11 -0
- package/dist/components/hb-radio.js +149 -0
- package/dist/components/hb-radio.js.map +1 -0
- package/dist/components/hb-rate.d.ts +11 -0
- package/dist/components/hb-rate.js +161 -0
- package/dist/components/hb-rate.js.map +1 -0
- package/dist/components/hb-result.d.ts +11 -0
- package/dist/components/hb-result.js +77 -0
- package/dist/components/hb-result.js.map +1 -0
- package/dist/components/hb-row.d.ts +11 -0
- package/dist/components/hb-row.js +77 -0
- package/dist/components/hb-row.js.map +1 -0
- package/dist/components/hb-scrollbar.d.ts +11 -0
- package/dist/components/hb-scrollbar.js +235 -0
- package/dist/components/hb-scrollbar.js.map +1 -0
- package/dist/components/hb-segmented.d.ts +11 -0
- package/dist/components/hb-segmented.js +63 -0
- package/dist/components/hb-segmented.js.map +1 -0
- package/dist/components/hb-select.d.ts +11 -0
- package/dist/components/hb-select.js +299 -0
- package/dist/components/hb-select.js.map +1 -0
- package/dist/components/hb-skeleton.d.ts +11 -0
- package/dist/components/hb-skeleton.js +75 -0
- package/dist/components/hb-skeleton.js.map +1 -0
- package/dist/components/hb-slider.d.ts +11 -0
- package/dist/components/hb-slider.js +202 -0
- package/dist/components/hb-slider.js.map +1 -0
- package/dist/components/hb-space.d.ts +11 -0
- package/dist/components/hb-space.js +94 -0
- package/dist/components/hb-space.js.map +1 -0
- package/dist/components/hb-statistic.d.ts +11 -0
- package/dist/components/hb-statistic.js +88 -0
- package/dist/components/hb-statistic.js.map +1 -0
- package/dist/components/hb-step.d.ts +11 -0
- package/dist/components/hb-step.js +42 -0
- package/dist/components/hb-step.js.map +1 -0
- package/dist/components/hb-steps.d.ts +11 -0
- package/dist/components/hb-steps.js +71 -0
- package/dist/components/hb-steps.js.map +1 -0
- package/dist/components/hb-sub-menu.d.ts +11 -0
- package/dist/components/hb-sub-menu.js +91 -0
- package/dist/components/hb-sub-menu.js.map +1 -0
- package/dist/components/hb-switch.d.ts +11 -0
- package/dist/components/hb-switch.js +118 -0
- package/dist/components/hb-switch.js.map +1 -0
- package/dist/components/hb-tab-pane.d.ts +11 -0
- package/dist/components/hb-tab-pane.js +43 -0
- package/dist/components/hb-tab-pane.js.map +1 -0
- package/dist/components/hb-table.d.ts +11 -0
- package/dist/components/hb-table.js +412 -0
- package/dist/components/hb-table.js.map +1 -0
- package/dist/components/hb-tabs.d.ts +11 -0
- package/dist/components/hb-tabs.js +138 -0
- package/dist/components/hb-tabs.js.map +1 -0
- package/dist/components/hb-tag.d.ts +11 -0
- package/dist/components/hb-tag.js +66 -0
- package/dist/components/hb-tag.js.map +1 -0
- package/dist/components/hb-text.d.ts +11 -0
- package/dist/components/hb-text.js +82 -0
- package/dist/components/hb-text.js.map +1 -0
- package/dist/components/hb-time-picker.d.ts +11 -0
- package/dist/components/hb-time-picker.js +178 -0
- package/dist/components/hb-time-picker.js.map +1 -0
- package/dist/components/hb-time-select.d.ts +11 -0
- package/dist/components/hb-time-select.js +175 -0
- package/dist/components/hb-time-select.js.map +1 -0
- package/dist/components/hb-timeline.d.ts +11 -0
- package/dist/components/hb-timeline.js +48 -0
- package/dist/components/hb-timeline.js.map +1 -0
- package/dist/components/hb-tooltip.d.ts +11 -0
- package/dist/components/hb-tooltip.js +97 -0
- package/dist/components/hb-tooltip.js.map +1 -0
- package/dist/components/hb-tour.d.ts +11 -0
- package/dist/components/hb-tour.js +139 -0
- package/dist/components/hb-tour.js.map +1 -0
- package/dist/components/hb-transfer.d.ts +11 -0
- package/dist/components/hb-transfer.js +199 -0
- package/dist/components/hb-transfer.js.map +1 -0
- package/dist/components/hb-tree-select.d.ts +11 -0
- package/dist/components/hb-tree-select.js +263 -0
- package/dist/components/hb-tree-select.js.map +1 -0
- package/dist/components/hb-tree.d.ts +11 -0
- package/dist/components/hb-tree.js +344 -0
- package/dist/components/hb-tree.js.map +1 -0
- package/dist/components/hb-upload.d.ts +11 -0
- package/dist/components/hb-upload.js +213 -0
- package/dist/components/hb-upload.js.map +1 -0
- package/dist/components/hb-watermark.d.ts +11 -0
- package/dist/components/hb-watermark.js +82 -0
- package/dist/components/hb-watermark.js.map +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +3 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/p-1407a5e8.js +1662 -0
- package/dist/components/p-1407a5e8.js.map +1 -0
- package/dist/components/p-4ef5a884.js +25 -0
- package/dist/components/p-4ef5a884.js.map +1 -0
- package/dist/components/p-cc0aeb50.js +119 -0
- package/dist/components/p-cc0aeb50.js.map +1 -0
- package/dist/components/p-cf94cbf6.js +123 -0
- package/dist/components/p-cf94cbf6.js.map +1 -0
- package/dist/components/p-ecce2b5e.js +78 -0
- package/dist/components/p-ecce2b5e.js.map +1 -0
- package/dist/esm/a11y-f9ab2964.js +119 -0
- package/dist/esm/a11y-f9ab2964.js.map +1 -0
- package/dist/esm/app-globals-0f993ce5.js +5 -0
- package/dist/esm/app-globals-0f993ce5.js.map +1 -0
- package/dist/esm/click-outside-291294f9.js +25 -0
- package/dist/esm/click-outside-291294f9.js.map +1 -0
- package/dist/esm/date-helpers-e4d85a67.js +123 -0
- package/dist/esm/date-helpers-e4d85a67.js.map +1 -0
- package/dist/esm/hb-affix.entry.js +97 -0
- package/dist/esm/hb-affix.entry.js.map +1 -0
- package/dist/esm/hb-alert.entry.js +43 -0
- package/dist/esm/hb-alert.entry.js.map +1 -0
- package/dist/esm/hb-anchor.entry.js +42 -0
- package/dist/esm/hb-anchor.entry.js.map +1 -0
- package/dist/esm/hb-aside.entry.js +26 -0
- package/dist/esm/hb-aside.entry.js.map +1 -0
- package/dist/esm/hb-avatar.entry.js +27 -0
- package/dist/esm/hb-avatar.entry.js.map +1 -0
- package/dist/esm/hb-backtop.entry.js +96 -0
- package/dist/esm/hb-backtop.entry.js.map +1 -0
- package/dist/esm/hb-badge.entry.js +31 -0
- package/dist/esm/hb-badge.entry.js.map +1 -0
- package/dist/esm/hb-breadcrumb-item.entry.js +21 -0
- package/dist/esm/hb-breadcrumb-item.entry.js.map +1 -0
- package/dist/esm/hb-breadcrumb.entry.js +20 -0
- package/dist/esm/hb-breadcrumb.entry.js.map +1 -0
- package/dist/esm/hb-button.entry.js +35 -0
- package/dist/esm/hb-button.entry.js.map +1 -0
- package/dist/esm/hb-calendar.entry.js +86 -0
- package/dist/esm/hb-calendar.entry.js.map +1 -0
- package/dist/esm/hb-card.entry.js +23 -0
- package/dist/esm/hb-card.entry.js.map +1 -0
- package/dist/esm/hb-carousel.entry.js +146 -0
- package/dist/esm/hb-carousel.entry.js.map +1 -0
- package/dist/esm/hb-cascader.entry.js +409 -0
- package/dist/esm/hb-cascader.entry.js.map +1 -0
- package/dist/esm/hb-checkbox-group.entry.js +113 -0
- package/dist/esm/hb-checkbox-group.entry.js.map +1 -0
- package/dist/esm/hb-checkbox.entry.js +126 -0
- package/dist/esm/hb-checkbox.entry.js.map +1 -0
- package/dist/esm/hb-collapse-item.entry.js +54 -0
- package/dist/esm/hb-collapse-item.entry.js.map +1 -0
- package/dist/esm/hb-collapse.entry.js +37 -0
- package/dist/esm/hb-collapse.entry.js.map +1 -0
- package/dist/esm/hb-color-picker-panel.entry.js +82 -0
- package/dist/esm/hb-color-picker-panel.entry.js.map +1 -0
- package/dist/esm/hb-color-picker.entry.js +261 -0
- package/dist/esm/hb-color-picker.entry.js.map +1 -0
- package/dist/esm/hb-config-provider.entry.js +40 -0
- package/dist/esm/hb-config-provider.entry.js.map +1 -0
- package/dist/esm/hb-container.entry.js +26 -0
- package/dist/esm/hb-container.entry.js.map +1 -0
- package/dist/esm/hb-date-picker-pane.entry.js +146 -0
- package/dist/esm/hb-date-picker-pane.entry.js.map +1 -0
- package/dist/esm/hb-date-picker.entry.js +134 -0
- package/dist/esm/hb-date-picker.entry.js.map +1 -0
- package/dist/esm/hb-date-range-picker.entry.js +218 -0
- package/dist/esm/hb-date-range-picker.entry.js.map +1 -0
- package/dist/esm/hb-date-time-picker.entry.js +136 -0
- package/dist/esm/hb-date-time-picker.entry.js.map +1 -0
- package/dist/esm/hb-descriptions.entry.js +28 -0
- package/dist/esm/hb-descriptions.entry.js.map +1 -0
- package/dist/esm/hb-dialog.entry.js +110 -0
- package/dist/esm/hb-dialog.entry.js.map +1 -0
- package/dist/esm/hb-divider.entry.js +32 -0
- package/dist/esm/hb-divider.entry.js.map +1 -0
- package/dist/esm/hb-drawer.entry.js +85 -0
- package/dist/esm/hb-drawer.entry.js.map +1 -0
- package/dist/esm/hb-dropdown.entry.js +76 -0
- package/dist/esm/hb-dropdown.entry.js.map +1 -0
- package/dist/esm/hb-empty.entry.js +20 -0
- package/dist/esm/hb-empty.entry.js.map +1 -0
- package/dist/esm/hb-float-button.entry.js +53 -0
- package/dist/esm/hb-float-button.entry.js.map +1 -0
- package/dist/esm/hb-footer.entry.js +26 -0
- package/dist/esm/hb-footer.entry.js.map +1 -0
- package/dist/esm/hb-form-item.entry.js +108 -0
- package/dist/esm/hb-form-item.entry.js.map +1 -0
- package/dist/esm/hb-form.entry.js +66 -0
- package/dist/esm/hb-form.entry.js.map +1 -0
- package/dist/esm/hb-header.entry.js +26 -0
- package/dist/esm/hb-header.entry.js.map +1 -0
- package/dist/esm/hb-icon.entry.js +72 -0
- package/dist/esm/hb-icon.entry.js.map +1 -0
- package/dist/esm/hb-image-preview.entry.js +175 -0
- package/dist/esm/hb-image-preview.entry.js.map +1 -0
- package/dist/esm/hb-image.entry.js +31 -0
- package/dist/esm/hb-image.entry.js.map +1 -0
- package/dist/esm/hb-input-number.entry.js +165 -0
- package/dist/esm/hb-input-number.entry.js.map +1 -0
- package/dist/esm/hb-input-tag.entry.js +141 -0
- package/dist/esm/hb-input-tag.entry.js.map +1 -0
- package/dist/esm/hb-input.entry.js +248 -0
- package/dist/esm/hb-input.entry.js.map +1 -0
- package/dist/esm/hb-layout.entry.js +74 -0
- package/dist/esm/hb-layout.entry.js.map +1 -0
- package/dist/esm/hb-link.entry.js +63 -0
- package/dist/esm/hb-link.entry.js.map +1 -0
- package/dist/esm/hb-loading.entry.js +28 -0
- package/dist/esm/hb-loading.entry.js.map +1 -0
- package/dist/esm/hb-main.entry.js +18 -0
- package/dist/esm/hb-main.entry.js.map +1 -0
- package/dist/esm/hb-menu-item.entry.js +46 -0
- package/dist/esm/hb-menu-item.entry.js.map +1 -0
- package/dist/esm/hb-menu.entry.js +83 -0
- package/dist/esm/hb-menu.entry.js.map +1 -0
- package/dist/esm/hb-message.entry.js +44 -0
- package/dist/esm/hb-message.entry.js.map +1 -0
- package/dist/esm/hb-notification.entry.js +63 -0
- package/dist/esm/hb-notification.entry.js.map +1 -0
- package/dist/esm/hb-page-header.entry.js +33 -0
- package/dist/esm/hb-page-header.entry.js.map +1 -0
- package/dist/esm/hb-pagination.entry.js +103 -0
- package/dist/esm/hb-pagination.entry.js.map +1 -0
- package/dist/esm/hb-popconfirm.entry.js +47 -0
- package/dist/esm/hb-popconfirm.entry.js.map +1 -0
- package/dist/esm/hb-popover.entry.js +55 -0
- package/dist/esm/hb-popover.entry.js.map +1 -0
- package/dist/esm/hb-progress.entry.js +35 -0
- package/dist/esm/hb-progress.entry.js.map +1 -0
- package/dist/esm/hb-radio.entry.js +115 -0
- package/dist/esm/hb-radio.entry.js.map +1 -0
- package/dist/esm/hb-rate.entry.js +128 -0
- package/dist/esm/hb-rate.entry.js.map +1 -0
- package/dist/esm/hb-result.entry.js +53 -0
- package/dist/esm/hb-result.entry.js.map +1 -0
- package/dist/esm/hb-row.entry.js +53 -0
- package/dist/esm/hb-row.entry.js.map +1 -0
- package/dist/esm/hb-scrollbar.entry.js +200 -0
- package/dist/esm/hb-scrollbar.entry.js.map +1 -0
- package/dist/esm/hb-segmented.entry.js +39 -0
- package/dist/esm/hb-segmented.entry.js.map +1 -0
- package/dist/esm/hb-select.entry.js +258 -0
- package/dist/esm/hb-select.entry.js.map +1 -0
- package/dist/esm/hb-skeleton.entry.js +49 -0
- package/dist/esm/hb-skeleton.entry.js.map +1 -0
- package/dist/esm/hb-slider.entry.js +168 -0
- package/dist/esm/hb-slider.entry.js.map +1 -0
- package/dist/esm/hb-space.entry.js +68 -0
- package/dist/esm/hb-space.entry.js.map +1 -0
- package/dist/esm/hb-statistic.entry.js +62 -0
- package/dist/esm/hb-statistic.entry.js.map +1 -0
- package/dist/esm/hb-step.entry.js +20 -0
- package/dist/esm/hb-step.entry.js.map +1 -0
- package/dist/esm/hb-steps.entry.js +46 -0
- package/dist/esm/hb-steps.entry.js.map +1 -0
- package/dist/esm/hb-sub-menu.entry.js +66 -0
- package/dist/esm/hb-sub-menu.entry.js.map +1 -0
- package/dist/esm/hb-switch.entry.js +88 -0
- package/dist/esm/hb-switch.entry.js.map +1 -0
- package/dist/esm/hb-tab-pane.entry.js +22 -0
- package/dist/esm/hb-tab-pane.entry.js.map +1 -0
- package/dist/esm/hb-table.entry.js +366 -0
- package/dist/esm/hb-table.entry.js.map +1 -0
- package/dist/esm/hb-tabs.entry.js +111 -0
- package/dist/esm/hb-tabs.entry.js.map +1 -0
- package/dist/esm/hb-tag.entry.js +41 -0
- package/dist/esm/hb-tag.entry.js.map +1 -0
- package/dist/esm/hb-text.entry.js +56 -0
- package/dist/esm/hb-text.entry.js.map +1 -0
- package/dist/esm/hb-time-picker.entry.js +143 -0
- package/dist/esm/hb-time-picker.entry.js.map +1 -0
- package/dist/esm/hb-time-select.entry.js +141 -0
- package/dist/esm/hb-time-select.entry.js.map +1 -0
- package/dist/esm/hb-timeline.entry.js +26 -0
- package/dist/esm/hb-timeline.entry.js.map +1 -0
- package/dist/esm/hb-tooltip.entry.js +70 -0
- package/dist/esm/hb-tooltip.entry.js.map +1 -0
- package/dist/esm/hb-tour.entry.js +115 -0
- package/dist/esm/hb-tour.entry.js.map +1 -0
- package/dist/esm/hb-transfer.entry.js +169 -0
- package/dist/esm/hb-transfer.entry.js.map +1 -0
- package/dist/esm/hb-tree-select.entry.js +232 -0
- package/dist/esm/hb-tree-select.entry.js.map +1 -0
- package/dist/esm/hb-tree.entry.js +309 -0
- package/dist/esm/hb-tree.entry.js.map +1 -0
- package/dist/esm/hb-upload.entry.js +180 -0
- package/dist/esm/hb-upload.entry.js.map +1 -0
- package/dist/esm/hb-watermark.entry.js +55 -0
- package/dist/esm/hb-watermark.entry.js.map +1 -0
- package/dist/esm/huibo-ui.js +22 -0
- package/dist/esm/huibo-ui.js.map +1 -0
- package/dist/esm/index-fdf7135e.js +1886 -0
- package/dist/esm/index-fdf7135e.js.map +1 -0
- package/dist/esm/index.js +3 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +13 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/popup-manager-128cc685.js +78 -0
- package/dist/esm/popup-manager-128cc685.js.map +1 -0
- package/dist/huibo-ui/huibo-ui.css +6 -0
- package/dist/huibo-ui/huibo-ui.esm.js +2 -0
- package/dist/huibo-ui/huibo-ui.esm.js.map +1 -0
- package/dist/huibo-ui/index.esm.js +2 -0
- package/dist/huibo-ui/index.esm.js.map +1 -0
- package/dist/huibo-ui/p-003cee87.entry.js +2 -0
- package/dist/huibo-ui/p-003cee87.entry.js.map +1 -0
- package/dist/huibo-ui/p-06ec8d02.entry.js +2 -0
- package/dist/huibo-ui/p-06ec8d02.entry.js.map +1 -0
- package/dist/huibo-ui/p-079a4130.entry.js +2 -0
- package/dist/huibo-ui/p-079a4130.entry.js.map +1 -0
- package/dist/huibo-ui/p-0a033738.entry.js +2 -0
- package/dist/huibo-ui/p-0a033738.entry.js.map +1 -0
- package/dist/huibo-ui/p-0bef78ac.entry.js +2 -0
- package/dist/huibo-ui/p-0bef78ac.entry.js.map +1 -0
- package/dist/huibo-ui/p-0e65e1bd.entry.js +2 -0
- package/dist/huibo-ui/p-0e65e1bd.entry.js.map +1 -0
- package/dist/huibo-ui/p-0f189251.entry.js +2 -0
- package/dist/huibo-ui/p-0f189251.entry.js.map +1 -0
- package/dist/huibo-ui/p-10c088f3.entry.js +2 -0
- package/dist/huibo-ui/p-10c088f3.entry.js.map +1 -0
- package/dist/huibo-ui/p-1b5acd6d.entry.js +2 -0
- package/dist/huibo-ui/p-1b5acd6d.entry.js.map +1 -0
- package/dist/huibo-ui/p-1e5abc8a.entry.js +2 -0
- package/dist/huibo-ui/p-1e5abc8a.entry.js.map +1 -0
- package/dist/huibo-ui/p-1f0b1662.entry.js +2 -0
- package/dist/huibo-ui/p-1f0b1662.entry.js.map +1 -0
- package/dist/huibo-ui/p-21682e92.entry.js +2 -0
- package/dist/huibo-ui/p-21682e92.entry.js.map +1 -0
- package/dist/huibo-ui/p-231a7335.entry.js +2 -0
- package/dist/huibo-ui/p-231a7335.entry.js.map +1 -0
- package/dist/huibo-ui/p-24ad7eec.entry.js +2 -0
- package/dist/huibo-ui/p-24ad7eec.entry.js.map +1 -0
- package/dist/huibo-ui/p-2b286698.entry.js +2 -0
- package/dist/huibo-ui/p-2b286698.entry.js.map +1 -0
- package/dist/huibo-ui/p-2e6584ea.entry.js +2 -0
- package/dist/huibo-ui/p-2e6584ea.entry.js.map +1 -0
- package/dist/huibo-ui/p-315feadf.entry.js +2 -0
- package/dist/huibo-ui/p-315feadf.entry.js.map +1 -0
- package/dist/huibo-ui/p-332c8877.entry.js +2 -0
- package/dist/huibo-ui/p-332c8877.entry.js.map +1 -0
- package/dist/huibo-ui/p-3c7f73c8.entry.js +2 -0
- package/dist/huibo-ui/p-3c7f73c8.entry.js.map +1 -0
- package/dist/huibo-ui/p-4001c08d.entry.js +2 -0
- package/dist/huibo-ui/p-4001c08d.entry.js.map +1 -0
- package/dist/huibo-ui/p-44c48246.entry.js +2 -0
- package/dist/huibo-ui/p-44c48246.entry.js.map +1 -0
- package/dist/huibo-ui/p-463de26d.entry.js +2 -0
- package/dist/huibo-ui/p-463de26d.entry.js.map +1 -0
- package/dist/huibo-ui/p-465dcb4c.entry.js +2 -0
- package/dist/huibo-ui/p-465dcb4c.entry.js.map +1 -0
- package/dist/huibo-ui/p-476527c1.entry.js +2 -0
- package/dist/huibo-ui/p-476527c1.entry.js.map +1 -0
- package/dist/huibo-ui/p-477d8568.entry.js +2 -0
- package/dist/huibo-ui/p-477d8568.entry.js.map +1 -0
- package/dist/huibo-ui/p-4d0dff15.entry.js +2 -0
- package/dist/huibo-ui/p-4d0dff15.entry.js.map +1 -0
- package/dist/huibo-ui/p-4d8b1404.entry.js +2 -0
- package/dist/huibo-ui/p-4d8b1404.entry.js.map +1 -0
- package/dist/huibo-ui/p-4ef5a884.js +2 -0
- package/dist/huibo-ui/p-4ef5a884.js.map +1 -0
- package/dist/huibo-ui/p-58d20809.entry.js +2 -0
- package/dist/huibo-ui/p-58d20809.entry.js.map +1 -0
- package/dist/huibo-ui/p-58ebb9b3.entry.js +2 -0
- package/dist/huibo-ui/p-58ebb9b3.entry.js.map +1 -0
- package/dist/huibo-ui/p-59b2e61c.entry.js +2 -0
- package/dist/huibo-ui/p-59b2e61c.entry.js.map +1 -0
- package/dist/huibo-ui/p-5df47135.entry.js +2 -0
- package/dist/huibo-ui/p-5df47135.entry.js.map +1 -0
- package/dist/huibo-ui/p-64ca0980.entry.js +2 -0
- package/dist/huibo-ui/p-64ca0980.entry.js.map +1 -0
- package/dist/huibo-ui/p-672076c3.entry.js +2 -0
- package/dist/huibo-ui/p-672076c3.entry.js.map +1 -0
- package/dist/huibo-ui/p-6a1ec3ff.entry.js +2 -0
- package/dist/huibo-ui/p-6a1ec3ff.entry.js.map +1 -0
- package/dist/huibo-ui/p-6ac242fe.entry.js +2 -0
- package/dist/huibo-ui/p-6ac242fe.entry.js.map +1 -0
- package/dist/huibo-ui/p-6b381d0e.entry.js +2 -0
- package/dist/huibo-ui/p-6b381d0e.entry.js.map +1 -0
- package/dist/huibo-ui/p-710f38de.entry.js +2 -0
- package/dist/huibo-ui/p-710f38de.entry.js.map +1 -0
- package/dist/huibo-ui/p-756acbdb.entry.js +2 -0
- package/dist/huibo-ui/p-756acbdb.entry.js.map +1 -0
- package/dist/huibo-ui/p-75a93de3.entry.js +2 -0
- package/dist/huibo-ui/p-75a93de3.entry.js.map +1 -0
- package/dist/huibo-ui/p-769960f4.entry.js +2 -0
- package/dist/huibo-ui/p-769960f4.entry.js.map +1 -0
- package/dist/huibo-ui/p-77017274.entry.js +2 -0
- package/dist/huibo-ui/p-77017274.entry.js.map +1 -0
- package/dist/huibo-ui/p-7f6975ad.entry.js +2 -0
- package/dist/huibo-ui/p-7f6975ad.entry.js.map +1 -0
- package/dist/huibo-ui/p-80aca641.entry.js +2 -0
- package/dist/huibo-ui/p-80aca641.entry.js.map +1 -0
- package/dist/huibo-ui/p-85f68526.entry.js +2 -0
- package/dist/huibo-ui/p-85f68526.entry.js.map +1 -0
- package/dist/huibo-ui/p-88127de1.entry.js +2 -0
- package/dist/huibo-ui/p-88127de1.entry.js.map +1 -0
- package/dist/huibo-ui/p-8b027491.entry.js +2 -0
- package/dist/huibo-ui/p-8b027491.entry.js.map +1 -0
- package/dist/huibo-ui/p-8b1ae77e.entry.js +2 -0
- package/dist/huibo-ui/p-8b1ae77e.entry.js.map +1 -0
- package/dist/huibo-ui/p-8c80a765.entry.js +2 -0
- package/dist/huibo-ui/p-8c80a765.entry.js.map +1 -0
- package/dist/huibo-ui/p-8c987d57.entry.js +2 -0
- package/dist/huibo-ui/p-8c987d57.entry.js.map +1 -0
- package/dist/huibo-ui/p-8d615521.entry.js +2 -0
- package/dist/huibo-ui/p-8d615521.entry.js.map +1 -0
- package/dist/huibo-ui/p-8d925e3d.entry.js +2 -0
- package/dist/huibo-ui/p-8d925e3d.entry.js.map +1 -0
- package/dist/huibo-ui/p-9319c650.entry.js +2 -0
- package/dist/huibo-ui/p-9319c650.entry.js.map +1 -0
- package/dist/huibo-ui/p-953b9514.entry.js +2 -0
- package/dist/huibo-ui/p-953b9514.entry.js.map +1 -0
- package/dist/huibo-ui/p-965d4d02.entry.js +2 -0
- package/dist/huibo-ui/p-965d4d02.entry.js.map +1 -0
- package/dist/huibo-ui/p-a0015341.entry.js +2 -0
- package/dist/huibo-ui/p-a0015341.entry.js.map +1 -0
- package/dist/huibo-ui/p-a042e3d0.entry.js +2 -0
- package/dist/huibo-ui/p-a042e3d0.entry.js.map +1 -0
- package/dist/huibo-ui/p-ad6b0c6e.entry.js +2 -0
- package/dist/huibo-ui/p-ad6b0c6e.entry.js.map +1 -0
- package/dist/huibo-ui/p-b489a526.entry.js +2 -0
- package/dist/huibo-ui/p-b489a526.entry.js.map +1 -0
- package/dist/huibo-ui/p-be48d2aa.entry.js +2 -0
- package/dist/huibo-ui/p-be48d2aa.entry.js.map +1 -0
- package/dist/huibo-ui/p-c1a059d9.entry.js +2 -0
- package/dist/huibo-ui/p-c1a059d9.entry.js.map +1 -0
- package/dist/huibo-ui/p-c1b4eacb.entry.js +2 -0
- package/dist/huibo-ui/p-c1b4eacb.entry.js.map +1 -0
- package/dist/huibo-ui/p-c321c4aa.entry.js +2 -0
- package/dist/huibo-ui/p-c321c4aa.entry.js.map +1 -0
- package/dist/huibo-ui/p-c3e665f6.entry.js +2 -0
- package/dist/huibo-ui/p-c3e665f6.entry.js.map +1 -0
- package/dist/huibo-ui/p-c3e8893d.entry.js +2 -0
- package/dist/huibo-ui/p-c3e8893d.entry.js.map +1 -0
- package/dist/huibo-ui/p-c922d672.entry.js +2 -0
- package/dist/huibo-ui/p-c922d672.entry.js.map +1 -0
- package/dist/huibo-ui/p-cc0aeb50.js +2 -0
- package/dist/huibo-ui/p-cc0aeb50.js.map +1 -0
- package/dist/huibo-ui/p-cf94cbf6.js +2 -0
- package/dist/huibo-ui/p-cf94cbf6.js.map +1 -0
- package/dist/huibo-ui/p-d3939d44.entry.js +2 -0
- package/dist/huibo-ui/p-d3939d44.entry.js.map +1 -0
- package/dist/huibo-ui/p-d64b91ef.entry.js +2 -0
- package/dist/huibo-ui/p-d64b91ef.entry.js.map +1 -0
- package/dist/huibo-ui/p-d7815b4f.entry.js +2 -0
- package/dist/huibo-ui/p-d7815b4f.entry.js.map +1 -0
- package/dist/huibo-ui/p-d87fc21a.entry.js +2 -0
- package/dist/huibo-ui/p-d87fc21a.entry.js.map +1 -0
- package/dist/huibo-ui/p-dd05cb2c.entry.js +2 -0
- package/dist/huibo-ui/p-dd05cb2c.entry.js.map +1 -0
- package/dist/huibo-ui/p-dfaf7e37.entry.js +2 -0
- package/dist/huibo-ui/p-dfaf7e37.entry.js.map +1 -0
- package/dist/huibo-ui/p-e004fc81.entry.js +2 -0
- package/dist/huibo-ui/p-e004fc81.entry.js.map +1 -0
- package/dist/huibo-ui/p-e0768565.entry.js +2 -0
- package/dist/huibo-ui/p-e0768565.entry.js.map +1 -0
- package/dist/huibo-ui/p-e0ab9010.entry.js +2 -0
- package/dist/huibo-ui/p-e0ab9010.entry.js.map +1 -0
- package/dist/huibo-ui/p-e1255160.js +2 -0
- package/dist/huibo-ui/p-e1255160.js.map +1 -0
- package/dist/huibo-ui/p-e2a8a396.entry.js +2 -0
- package/dist/huibo-ui/p-e2a8a396.entry.js.map +1 -0
- package/dist/huibo-ui/p-e36bbe6f.entry.js +2 -0
- package/dist/huibo-ui/p-e36bbe6f.entry.js.map +1 -0
- package/dist/huibo-ui/p-e42dfa95.js +3 -0
- package/dist/huibo-ui/p-e42dfa95.js.map +1 -0
- package/dist/huibo-ui/p-e6f2d71d.entry.js +2 -0
- package/dist/huibo-ui/p-e6f2d71d.entry.js.map +1 -0
- package/dist/huibo-ui/p-e9490259.entry.js +2 -0
- package/dist/huibo-ui/p-e9490259.entry.js.map +1 -0
- package/dist/huibo-ui/p-ea74fcae.entry.js +2 -0
- package/dist/huibo-ui/p-ea74fcae.entry.js.map +1 -0
- package/dist/huibo-ui/p-ebd04656.entry.js +2 -0
- package/dist/huibo-ui/p-ebd04656.entry.js.map +1 -0
- package/dist/huibo-ui/p-ecce2b5e.js +2 -0
- package/dist/huibo-ui/p-ecce2b5e.js.map +1 -0
- package/dist/huibo-ui/p-ed0ff857.entry.js +2 -0
- package/dist/huibo-ui/p-ed0ff857.entry.js.map +1 -0
- package/dist/huibo-ui/p-f0ac7db5.entry.js +2 -0
- package/dist/huibo-ui/p-f0ac7db5.entry.js.map +1 -0
- package/dist/huibo-ui/p-f1c084c5.entry.js +2 -0
- package/dist/huibo-ui/p-f1c084c5.entry.js.map +1 -0
- package/dist/huibo-ui/p-f374d5a3.entry.js +2 -0
- package/dist/huibo-ui/p-f374d5a3.entry.js.map +1 -0
- package/dist/huibo-ui/p-f81ec512.entry.js +2 -0
- package/dist/huibo-ui/p-f81ec512.entry.js.map +1 -0
- package/dist/huibo-ui/p-fd19813c.entry.js +2 -0
- package/dist/huibo-ui/p-fd19813c.entry.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/types/components/Affix/Affix.d.ts +27 -0
- package/dist/types/components/Alert/Alert.d.ts +23 -0
- package/dist/types/components/Anchor/Anchor.d.ts +28 -0
- package/dist/types/components/Avatar/Avatar.d.ts +9 -0
- package/dist/types/components/Backtop/Backtop.d.ts +33 -0
- package/dist/types/components/Badge/Badge.d.ts +9 -0
- package/dist/types/components/Breadcrumb/Breadcrumb.d.ts +9 -0
- package/dist/types/components/Breadcrumb/BreadcrumbItem.d.ts +9 -0
- package/dist/types/components/Button/Button.d.ts +17 -0
- package/dist/types/components/Calendar/Calendar.d.ts +35 -0
- package/dist/types/components/Card/Card.d.ts +6 -0
- package/dist/types/components/Carousel/Carousel.d.ts +45 -0
- package/dist/types/components/Cascader/Cascader.d.ts +150 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +66 -0
- package/dist/types/components/Checkbox/CheckboxGroup.d.ts +46 -0
- package/dist/types/components/Collapse/Collapse.d.ts +7 -0
- package/dist/types/components/Collapse/CollapseItem.d.ts +17 -0
- package/dist/types/components/ColorPicker/ColorPicker.d.ts +59 -0
- package/dist/types/components/ColorPickerPanel/ColorPickerPanel.d.ts +35 -0
- package/dist/types/components/ConfigProvider/ConfigProvider.d.ts +17 -0
- package/dist/types/components/Container/Aside.d.ts +11 -0
- package/dist/types/components/Container/Container.d.ts +12 -0
- package/dist/types/components/Container/Footer.d.ts +11 -0
- package/dist/types/components/Container/Header.d.ts +11 -0
- package/dist/types/components/Container/Main.d.ts +7 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +53 -0
- package/dist/types/components/DatePickerPane/DatePickerPane.d.ts +40 -0
- package/dist/types/components/DateRangePicker/DateRangePicker.d.ts +68 -0
- package/dist/types/components/DateTimePicker/DateTimePicker.d.ts +41 -0
- package/dist/types/components/Descriptions/Descriptions.d.ts +22 -0
- package/dist/types/components/Dialog/Dialog.d.ts +42 -0
- package/dist/types/components/Divider/Divider.d.ts +14 -0
- package/dist/types/components/Drawer/Drawer.d.ts +24 -0
- package/dist/types/components/Dropdown/Dropdown.d.ts +32 -0
- package/dist/types/components/Empty/Empty.d.ts +5 -0
- package/dist/types/components/FloatButton/FloatButton.d.ts +29 -0
- package/dist/types/components/Form/Form.d.ts +41 -0
- package/dist/types/components/Form/FormItem.d.ts +30 -0
- package/dist/types/components/Icon/Icon.d.ts +17 -0
- package/dist/types/components/Image/Image.d.ts +16 -0
- package/dist/types/components/ImagePreview/ImagePreview.d.ts +59 -0
- package/dist/types/components/Input/Input.d.ts +133 -0
- package/dist/types/components/InputNumber/InputNumber.d.ts +89 -0
- package/dist/types/components/InputTag/InputTag.d.ts +79 -0
- package/dist/types/components/Layout/Layout.d.ts +48 -0
- package/dist/types/components/Layout/Row.d.ts +26 -0
- package/dist/types/components/Link/Link.d.ts +40 -0
- package/dist/types/components/Loading/Loading.d.ts +13 -0
- package/dist/types/components/Menu/Menu.d.ts +34 -0
- package/dist/types/components/Menu/MenuItem.d.ts +17 -0
- package/dist/types/components/Menu/SubMenu.d.ts +30 -0
- package/dist/types/components/Message/Message.d.ts +20 -0
- package/dist/types/components/Message/show-message.d.ts +13 -0
- package/dist/types/components/Notification/Notification.d.ts +33 -0
- package/dist/types/components/Notification/notify.d.ts +19 -0
- package/dist/types/components/PageHeader/PageHeader.d.ts +19 -0
- package/dist/types/components/Pagination/Pagination.d.ts +35 -0
- package/dist/types/components/Popconfirm/Popconfirm.d.ts +20 -0
- package/dist/types/components/Popover/Popover.d.ts +18 -0
- package/dist/types/components/Progress/Progress.d.ts +9 -0
- package/dist/types/components/Radio/Radio.d.ts +57 -0
- package/dist/types/components/Rate/Rate.d.ts +64 -0
- package/dist/types/components/Result/Result.d.ts +22 -0
- package/dist/types/components/Scrollbar/Scrollbar.d.ts +75 -0
- package/dist/types/components/Segmented/Segmented.d.ts +24 -0
- package/dist/types/components/Select/Select.d.ts +100 -0
- package/dist/types/components/Skeleton/Skeleton.d.ts +22 -0
- package/dist/types/components/Slider/Slider.d.ts +81 -0
- package/dist/types/components/Space/Space.d.ts +37 -0
- package/dist/types/components/Statistic/Statistic.d.ts +25 -0
- package/dist/types/components/Steps/Step.d.ts +7 -0
- package/dist/types/components/Steps/Steps.d.ts +15 -0
- package/dist/types/components/Switch/Switch.d.ts +58 -0
- package/dist/types/components/Table/Table.d.ts +184 -0
- package/dist/types/components/Tabs/TabPane.d.ts +12 -0
- package/dist/types/components/Tabs/Tabs.d.ts +32 -0
- package/dist/types/components/Tag/Tag.d.ts +21 -0
- package/dist/types/components/Text/Text.d.ts +37 -0
- package/dist/types/components/TimePicker/TimePicker.d.ts +62 -0
- package/dist/types/components/TimeSelect/TimeSelect.d.ts +69 -0
- package/dist/types/components/Timeline/Timeline.d.ts +16 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +28 -0
- package/dist/types/components/Tour/Tour.d.ts +39 -0
- package/dist/types/components/Transfer/Transfer.d.ts +73 -0
- package/dist/types/components/Tree/Tree.d.ts +113 -0
- package/dist/types/components/TreeSelect/TreeSelect.d.ts +71 -0
- package/dist/types/components/Upload/Upload.d.ts +55 -0
- package/dist/types/components/Watermark/Watermark.d.ts +25 -0
- package/dist/types/components.d.ts +8261 -0
- package/dist/types/index.d.ts +10 -0
- package/dist/types/stencil-public-runtime.d.ts +1680 -0
- package/dist/types/utils/a11y.d.ts +66 -0
- package/dist/types/utils/click-outside.d.ts +20 -0
- package/dist/types/utils/date-helpers.d.ts +41 -0
- package/dist/types/utils/form-input-base.d.ts +62 -0
- package/dist/types/utils/popup-manager.d.ts +17 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/loader/package.json +11 -0
- package/package.json +93 -0
- package/readme.md +111 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-timeline.entry.js","mappings":";;AAAA,MAAM,WAAW,GAAG,gqPAAgqP,CAAC;AACrrP,yBAAe,WAAW;;MCMb,QAAQ;;;;;IAEX,IAAI,GAAmC,MAAM,CAAC;;IAG9C,KAAK,GAAmB,EAAE,CAAC;IAEnC,MAAM;QACJ,QACE,4DAAK,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,gBAAgB,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,EAAE,IACrE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,MACtB,WACE,KAAK,EAAE;gBACL,mBAAmB,EAAE,IAAI;gBACzB,0BAA0B,EAAE,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;gBACpE,yBAAyB,EAAE,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;aACpE,IAED,WAAK,KAAK,EAAC,sBAAsB,IAC/B,WAAK,KAAK,EAAC,2BAA2B,IAAE,IAAI,CAAC,OAAO,CAAO,EAC1D,IAAI,CAAC,IAAI,IAAI,WAAK,KAAK,EAAC,mBAAmB,IAAE,IAAI,CAAC,IAAI,CAAO,CAC1D,EACN,WAAK,KAAK,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,qBAAqB,IAAI,CAAC,KAAK,IAAI,MAAM,EAAE,GAAG,IAAI,EAAE,GAAQ,CACjG,CACP,CAAC,CACE,EACN;KACH;;;;;;","names":[],"sources":["src/components/Timeline/timeline.css?tag=hb-timeline&encapsulation=shadow","src/components/Timeline/Timeline.tsx"],"sourcesContent":[":host { display: block; }\n.hb-timeline { position: relative; padding: var(--hb-spacing-sm) 0; }\n\n/* 左右两侧共享的竖线(left/right 模式) */\n.hb-timeline--left { padding-left: 20px; }\n.hb-timeline--right { padding-right: 20px; }\n.hb-timeline--left::before,\n.hb-timeline--right::before {\n content: '';\n position: absolute;\n top: var(--hb-spacing-sm);\n bottom: var(--hb-spacing-sm);\n width: 2px;\n background: var(--hb-color-border-secondary);\n}\n.hb-timeline--left::before { left: 5px; }\n.hb-timeline--right::before { right: 5px; }\n\n/* 交替模式:竖线居中 */\n.hb-timeline--alternate::before {\n content: '';\n position: absolute;\n top: var(--hb-spacing-sm);\n bottom: var(--hb-spacing-sm);\n left: 50%;\n transform: translateX(-50%);\n width: 2px;\n background: var(--hb-color-border-secondary);\n}\n\n.hb-timeline__item {\n position: relative;\n padding-bottom: var(--hb-spacing-md);\n display: flex;\n align-items: flex-start;\n}\n/* left 模式:内容在右 */\n.hb-timeline--left .hb-timeline__item { padding-left: 18px; }\n.hb-timeline--left .hb-timeline__dot { position: absolute; left: -18px; top: 4px; }\n\n/* right 模式:内容在左 */\n.hb-timeline--right .hb-timeline__item { justify-content: flex-end; padding-right: 18px; }\n.hb-timeline--right .hb-timeline__dot { position: absolute; right: -18px; top: 4px; }\n\n/* alternate 模式:左右交替 */\n.hb-timeline--alternate .hb-timeline__item { width: 50%; }\n.hb-timeline--alternate .hb-timeline__item--left { left: 0; padding-right: 24px; text-align: right; }\n.hb-timeline--alternate .hb-timeline__item--right { margin-left: 50%; padding-left: 24px; }\n.hb-timeline--alternate .hb-timeline__dot {\n position: absolute;\n top: 4px;\n}\n.hb-timeline--alternate .hb-timeline__item--left .hb-timeline__dot { right: -7px; }\n.hb-timeline--alternate .hb-timeline__item--right .hb-timeline__dot { left: -7px; }\n\n.hb-timeline__content { min-width: 0; }\n.hb-timeline__content-text { font-size: var(--hb-font-size-sm); color: var(--hb-color-text); }\n.hb-timeline__time { font-size: var(--hb-font-size-xs); color: var(--hb-color-text-secondary); margin-top: 2px; }\n\n.hb-timeline__dot {\n width: 10px;\n height: 10px;\n border-radius: 50%;\n flex-shrink: 0;\n border: 2px solid var(--hb-color-bg-container);\n z-index: 1;\n}\n.hb-timeline__dot--blue { background: var(--hb-color-primary); }\n.hb-timeline__dot--green { background: var(--hb-color-success); }\n.hb-timeline__dot--red { background: var(--hb-color-danger); }\n.hb-timeline__dot--gray { background: var(--hb-color-text-quaternary); }\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * Timeline 时间线组件\n * 按竖线渲染每个 item 的圆点 + 内容 + 时间,支持左/右/交替三种模式\n */\n@Component({ tag: 'hb-timeline', styleUrl: 'timeline.css', shadow: true })\nexport class Timeline {\n /** 时间线模式 */\n @Prop() mode: 'left' | 'alternate' | 'right' = 'left';\n\n /** 时间线节点数组 */\n @Prop() items: TimelineItem[] = [];\n\n render() {\n return (\n <div class={{ 'hb-timeline': true, [`hb-timeline--${this.mode}`]: true }}>\n {this.items.map((item, i) => (\n <div\n class={{\n 'hb-timeline__item': true,\n 'hb-timeline__item--right': this.mode === 'alternate' && i % 2 === 1,\n 'hb-timeline__item--left': this.mode === 'alternate' && i % 2 === 0,\n }}\n >\n <div class=\"hb-timeline__content\">\n <div class=\"hb-timeline__content-text\">{item.content}</div>\n {item.time && <div class=\"hb-timeline__time\">{item.time}</div>}\n </div>\n <div class={{ 'hb-timeline__dot': true, [`hb-timeline__dot--${item.color || 'blue'}`]: true }}></div>\n </div>\n ))}\n </div>\n );\n }\n}\n\nexport interface TimelineItem {\n content: string;\n time?: string;\n color?: 'blue' | 'green' | 'red' | 'gray';\n}\n"],"version":3}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { r as registerInstance, g as getElement, h } from './index-fdf7135e.js';
|
|
2
|
+
import { c as computePosition, g as getNextZIndex } from './popup-manager-128cc685.js';
|
|
3
|
+
|
|
4
|
+
const tooltipCss = "/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.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;.hb-tooltip__trigger,:host{display:inline-block}.hb-tooltip__popup{background-color:var(--hb-p-gray-800);border-radius:var(--hb-border-radius-sm);box-shadow:var(--hb-box-shadow);color:#fff;font-size:var(--hb-font-size-sm);pointer-events:auto;word-wrap:break-word;animation:hb-tooltip-fade-in .15s ease-out;line-height:1.4;max-width:300px;padding:6px 12px;position:fixed}.hb-tooltip__arrow{background-color:var(--hb-p-gray-800);height:8px;position:absolute;transform:rotate(45deg);width:8px}.hb-tooltip__content{position:relative;z-index:1}@keyframes hb-tooltip-fade-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@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}";
|
|
5
|
+
const HbTooltipStyle0 = tooltipCss;
|
|
6
|
+
|
|
7
|
+
const Tooltip = class {
|
|
8
|
+
constructor(hostRef) {
|
|
9
|
+
registerInstance(this, hostRef);
|
|
10
|
+
}
|
|
11
|
+
get el() { return getElement(this); }
|
|
12
|
+
/** 提示文字 */
|
|
13
|
+
content = '';
|
|
14
|
+
/** 弹出位置 */
|
|
15
|
+
placement = 'top';
|
|
16
|
+
/** 触发方式 */
|
|
17
|
+
trigger = 'hover';
|
|
18
|
+
/** 是否禁用 */
|
|
19
|
+
disabled = false;
|
|
20
|
+
/** 是否显示箭头 */
|
|
21
|
+
showArrow = true;
|
|
22
|
+
visible = false;
|
|
23
|
+
popupStyle = {};
|
|
24
|
+
triggerRef;
|
|
25
|
+
popupRef;
|
|
26
|
+
hideTimer;
|
|
27
|
+
show = () => {
|
|
28
|
+
if (this.disabled)
|
|
29
|
+
return;
|
|
30
|
+
clearTimeout(this.hideTimer);
|
|
31
|
+
this.visible = true;
|
|
32
|
+
requestAnimationFrame(() => this.updatePosition());
|
|
33
|
+
};
|
|
34
|
+
hide = () => {
|
|
35
|
+
this.hideTimer = setTimeout(() => { this.visible = false; }, 100);
|
|
36
|
+
};
|
|
37
|
+
toggle = () => {
|
|
38
|
+
if (this.disabled)
|
|
39
|
+
return;
|
|
40
|
+
if (this.visible) {
|
|
41
|
+
this.hide();
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
this.show();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
updatePosition() {
|
|
48
|
+
if (!this.triggerRef || !this.popupRef)
|
|
49
|
+
return;
|
|
50
|
+
const triggerRect = this.triggerRef.getBoundingClientRect();
|
|
51
|
+
const { width, height } = this.popupRef.getBoundingClientRect();
|
|
52
|
+
const pos = computePosition(triggerRect, width, height, this.placement, 8);
|
|
53
|
+
this.popupStyle = {
|
|
54
|
+
top: `${pos.top}px`,
|
|
55
|
+
left: `${pos.left}px`,
|
|
56
|
+
zIndex: String(getNextZIndex()),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
render() {
|
|
60
|
+
const triggerEvents = this.trigger === 'hover'
|
|
61
|
+
? { onMouseEnter: this.show, onMouseLeave: this.hide }
|
|
62
|
+
: { onClick: this.toggle };
|
|
63
|
+
return (h("div", { key: 'e98d79b104fc92f63d77cbd87c490d84e0646c64', class: "hb-tooltip", ...triggerEvents }, h("div", { key: '74088a95833070259d447d57e03a894f20d0e044', ref: (el) => { this.triggerRef = el; }, class: "hb-tooltip__trigger" }, h("slot", { key: 'ce84437a1fedd763630764a5627763a4601d195e' })), this.visible && (h("div", { key: '1b5b74c439a5925c3cf10fc552369bd83354fcf4', ref: (el) => { this.popupRef = el; }, class: "hb-tooltip__popup", style: this.popupStyle, onMouseEnter: () => this.trigger === 'hover' && this.show(), onMouseLeave: () => this.trigger === 'hover' && this.hide() }, this.showArrow && h("div", { key: '73b08948dcc030a487a0d0f11afbb2fb4bcbdc51', class: "hb-tooltip__arrow" }), h("div", { key: '564f396c5eb5e3cb5bffe7dc8ec956c54bfc484d', class: "hb-tooltip__content" }, this.content)))));
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
Tooltip.style = HbTooltipStyle0;
|
|
67
|
+
|
|
68
|
+
export { Tooltip as hb_tooltip };
|
|
69
|
+
|
|
70
|
+
//# sourceMappingURL=hb-tooltip.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-tooltip.entry.js","mappings":"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","names":[],"sources":["src/components/Tooltip/tooltip.css?tag=hb-tooltip&encapsulation=shadow","src/components/Tooltip/Tooltip.tsx"],"sourcesContent":[":host {\n display: inline-block;\n}\n\n.hb-tooltip__trigger {\n display: inline-block;\n}\n\n.hb-tooltip__popup {\n position: fixed;\n padding: 6px 12px;\n border-radius: var(--hb-border-radius-sm);\n background-color: var(--hb-p-gray-800);\n color: #fff;\n font-size: var(--hb-font-size-sm);\n line-height: 1.4;\n pointer-events: auto;\n box-shadow: var(--hb-box-shadow);\n animation: hb-tooltip-fade-in 0.15s ease-out;\n max-width: 300px;\n word-wrap: break-word;\n}\n\n.hb-tooltip__arrow {\n position: absolute;\n width: 8px;\n height: 8px;\n background-color: var(--hb-p-gray-800);\n transform: rotate(45deg);\n}\n\n.hb-tooltip__content {\n position: relative;\n z-index: 1;\n}\n\n@keyframes hb-tooltip-fade-in {\n from { opacity: 0; transform: scale(0.95); }\n to { opacity: 1; transform: scale(1); }\n}\n","import { Component, h, Prop, State, Element } from '@stencil/core';\nimport { computePosition, getNextZIndex, Placement } from '../../utils/popup-manager';\n\n/**\n * Tooltip 文字提示组件\n * 鼠标悬停或点击时显示提示文字\n */\n@Component({\n tag: 'hb-tooltip',\n styleUrl: 'tooltip.css',\n shadow: true,\n})\nexport class Tooltip {\n @Element() el: HTMLElement;\n\n /** 提示文字 */\n @Prop() content: string = '';\n\n /** 弹出位置 */\n @Prop() placement: Placement = 'top';\n\n /** 触发方式 */\n @Prop() trigger: 'hover' | 'click' = 'hover';\n\n /** 是否禁用 */\n @Prop() disabled: boolean = false;\n\n /** 是否显示箭头 */\n @Prop() showArrow: boolean = true;\n\n @State() visible: boolean = false;\n @State() popupStyle: Record<string, string> = {};\n\n private triggerRef?: HTMLElement;\n private popupRef?: HTMLDivElement;\n private hideTimer?: ReturnType<typeof setTimeout>;\n\n private show = () => {\n if (this.disabled) return;\n clearTimeout(this.hideTimer);\n this.visible = true;\n requestAnimationFrame(() => this.updatePosition());\n };\n\n private hide = () => {\n this.hideTimer = setTimeout(() => { this.visible = false; }, 100);\n };\n\n private toggle = () => {\n if (this.disabled) return;\n if (this.visible) {\n this.hide();\n } else {\n this.show();\n }\n };\n\n private updatePosition() {\n if (!this.triggerRef || !this.popupRef) return;\n const triggerRect = this.triggerRef.getBoundingClientRect();\n const { width, height } = this.popupRef.getBoundingClientRect();\n const pos = computePosition(triggerRect, width, height, this.placement, 8);\n this.popupStyle = {\n top: `${pos.top}px`,\n left: `${pos.left}px`,\n zIndex: String(getNextZIndex()),\n };\n }\n\n render() {\n const triggerEvents = this.trigger === 'hover'\n ? { onMouseEnter: this.show, onMouseLeave: this.hide }\n : { onClick: this.toggle };\n\n return (\n <div class=\"hb-tooltip\" {...triggerEvents}>\n <div\n ref={(el: any) => { this.triggerRef = el; }}\n class=\"hb-tooltip__trigger\"\n >\n <slot />\n </div>\n {this.visible && (\n <div\n ref={(el: any) => { this.popupRef = el; }}\n class=\"hb-tooltip__popup\"\n style={this.popupStyle}\n onMouseEnter={() => this.trigger === 'hover' && this.show()}\n onMouseLeave={() => this.trigger === 'hover' && this.hide()}\n >\n {this.showArrow && <div class=\"hb-tooltip__arrow\" />}\n <div class=\"hb-tooltip__content\">{this.content}</div>\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, g as getElement, h } from './index-fdf7135e.js';
|
|
2
|
+
|
|
3
|
+
const tourCss = "/*! 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{.visible{visibility:visible}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:block}.hb-tour{inset:0;pointer-events:auto;position:fixed;z-index:var(--hb-z-index-popover)}.hb-tour__mask{background:0 0;cursor:default;inset:0;position:absolute}.hb-tour__card{background-color:var(--hb-color-bg-elevated);border-radius:var(--hb-border-radius-base);box-shadow:var(--hb-box-shadow-lg);color:var(--hb-color-text);font-size:var(--hb-font-size-sm);max-width:calc(100vw - 32px);padding:var(--hb-spacing-lg);position:absolute;width:340px;z-index:1}.hb-tour__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--hb-spacing-sm)}.hb-tour__title{color:var(--hb-color-text-primary);font-size:var(--hb-font-size-lg);font-weight:600}.hb-tour__close{align-items:center;background:0 0;border:none;border-radius:50%;color:var(--hb-color-text-tertiary);cursor:pointer;display:inline-flex;font-size:18px;height:24px;justify-content:center;line-height:1;transition:background-color var(--hb-transition-duration),color var(--hb-transition-duration);width:24px}.hb-tour__close:hover{background-color:var(--hb-color-fill-tertiary);color:var(--hb-color-text-secondary)}.hb-tour__body{color:var(--hb-color-text-secondary);line-height:1.6;margin-bottom:var(--hb-spacing-lg)}.hb-tour__footer{align-items:center;display:flex;justify-content:space-between}.hb-tour__indicator{color:var(--hb-color-text-tertiary);font-size:var(--hb-font-size-xs)}.hb-tour__actions{gap:var(--hb-spacing-xs)}.hb-tour__actions,.hb-tour__btn{align-items:center;display:inline-flex}.hb-tour__btn{background-color:var(--hb-color-bg-elevated);border:1px solid var(--hb-color-border);border-radius:var(--hb-border-radius-base);color:var(--hb-color-text);cursor:pointer;font-size:var(--hb-font-size-sm);height:32px;justify-content:center;padding:0 var(--hb-spacing-lg);transition:all var(--hb-transition-duration)}.hb-tour__btn:hover{border-color:var(--hb-color-primary-border);color:var(--hb-color-primary)}.hb-tour__btn--next{background-color:var(--hb-color-primary);border-color:var(--hb-color-primary);color:var(--hb-color-text-inverse)}.hb-tour__btn--next:hover{background-color:var(--hb-color-primary-hover);border-color:var(--hb-color-primary-hover);color:var(--hb-color-text-inverse)}@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}";
|
|
4
|
+
const HbTourStyle0 = tourCss;
|
|
5
|
+
|
|
6
|
+
const Tour = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
this.hbChange = createEvent(this, "hbChange", 7);
|
|
10
|
+
this.hbClose = createEvent(this, "hbClose", 7);
|
|
11
|
+
}
|
|
12
|
+
get el() { return getElement(this); }
|
|
13
|
+
/** 是否显示(受控) */
|
|
14
|
+
visible = false;
|
|
15
|
+
/** 步骤列表 */
|
|
16
|
+
steps = [];
|
|
17
|
+
/** 当前步骤索引 */
|
|
18
|
+
current = 0;
|
|
19
|
+
/** 步骤变化事件,detail 为新 current */
|
|
20
|
+
hbChange;
|
|
21
|
+
/** 关闭事件 */
|
|
22
|
+
hbClose;
|
|
23
|
+
targetRect = null;
|
|
24
|
+
get currentStep() {
|
|
25
|
+
return this.steps[this.current];
|
|
26
|
+
}
|
|
27
|
+
get isLast() {
|
|
28
|
+
return this.current >= this.steps.length - 1;
|
|
29
|
+
}
|
|
30
|
+
get isFirst() {
|
|
31
|
+
return this.current <= 0;
|
|
32
|
+
}
|
|
33
|
+
componentDidRender() {
|
|
34
|
+
this.updateTargetRect();
|
|
35
|
+
}
|
|
36
|
+
componentDidUpdate() {
|
|
37
|
+
this.updateTargetRect();
|
|
38
|
+
}
|
|
39
|
+
updateTargetRect() {
|
|
40
|
+
const step = this.currentStep;
|
|
41
|
+
if (!step || !this.visible) {
|
|
42
|
+
this.targetRect = null;
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const targetEl = document.querySelector(step.target);
|
|
46
|
+
if (targetEl) {
|
|
47
|
+
this.targetRect = targetEl.getBoundingClientRect();
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
this.targetRect = null;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
goNext = () => {
|
|
54
|
+
if (this.isLast) {
|
|
55
|
+
this.finish();
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
this.current = this.current + 1;
|
|
59
|
+
this.hbChange.emit(this.current);
|
|
60
|
+
};
|
|
61
|
+
goPrev = () => {
|
|
62
|
+
if (this.isFirst)
|
|
63
|
+
return;
|
|
64
|
+
this.current = this.current - 1;
|
|
65
|
+
this.hbChange.emit(this.current);
|
|
66
|
+
};
|
|
67
|
+
finish = () => {
|
|
68
|
+
this.visible = false;
|
|
69
|
+
this.hbClose.emit();
|
|
70
|
+
};
|
|
71
|
+
cardStyle() {
|
|
72
|
+
const rect = this.targetRect;
|
|
73
|
+
// jsdom 下 getBoundingClientRect 返回 0 尺寸,提供兜底位置
|
|
74
|
+
if (rect && (rect.width > 0 || rect.height > 0)) {
|
|
75
|
+
return {
|
|
76
|
+
left: `${rect.right + 12}px`,
|
|
77
|
+
top: `${rect.top}px`,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return { left: '50%', top: '50%', transform: 'translate(-50%, -50%)' };
|
|
81
|
+
}
|
|
82
|
+
maskStyle() {
|
|
83
|
+
const rect = this.targetRect;
|
|
84
|
+
if (rect && (rect.width > 0 || rect.height > 0)) {
|
|
85
|
+
// 4 段 box-shadow 实现镂空遮罩
|
|
86
|
+
const top = rect.top;
|
|
87
|
+
const right = window.innerWidth - rect.right;
|
|
88
|
+
const bottom = window.innerHeight - rect.bottom;
|
|
89
|
+
const left = rect.left;
|
|
90
|
+
return {
|
|
91
|
+
boxShadow: [
|
|
92
|
+
`0 0 0 9999px var(--hb-color-bg-mask)`,
|
|
93
|
+
`${left}px ${bottom}px 0 ${right}px transparent`,
|
|
94
|
+
`${left}px ${top}px 0 ${right}px transparent`,
|
|
95
|
+
`0 ${bottom}px 0 ${right}px transparent`,
|
|
96
|
+
`0 ${top}px 0 ${left}px transparent`,
|
|
97
|
+
].join(', '),
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return { background: 'var(--hb-color-bg-mask)' };
|
|
101
|
+
}
|
|
102
|
+
render() {
|
|
103
|
+
if (!this.visible || this.steps.length === 0)
|
|
104
|
+
return null;
|
|
105
|
+
const step = this.currentStep;
|
|
106
|
+
if (!step)
|
|
107
|
+
return null;
|
|
108
|
+
return (h("div", { class: "hb-tour" }, h("div", { class: "hb-tour__mask", style: this.maskStyle(), onClick: this.finish }), h("div", { class: "hb-tour__card", style: this.cardStyle(), role: "dialog", "aria-modal": "true" }, h("div", { class: "hb-tour__header" }, h("span", { class: "hb-tour__title" }, step.title), h("button", { type: "button", class: "hb-tour__close", onClick: this.finish, "aria-label": "\u5173\u95ED" }, "\u00D7")), h("div", { class: "hb-tour__body" }, step.description), h("div", { class: "hb-tour__footer" }, h("span", { class: "hb-tour__indicator" }, this.current + 1, " / ", this.steps.length), h("div", { class: "hb-tour__actions" }, !this.isFirst && (h("button", { type: "button", class: "hb-tour__btn hb-tour__btn--prev", onClick: this.goPrev }, "\u4E0A\u4E00\u6B65")), h("button", { type: "button", class: "hb-tour__btn hb-tour__btn--next", onClick: this.goNext }, this.isLast ? '完成' : '下一步'))))));
|
|
109
|
+
}
|
|
110
|
+
};
|
|
111
|
+
Tour.style = HbTourStyle0;
|
|
112
|
+
|
|
113
|
+
export { Tour as hb_tour };
|
|
114
|
+
|
|
115
|
+
//# sourceMappingURL=hb-tour.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-tour.entry.js","mappings":"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","names":[],"sources":["src/components/Tour/tour.css?tag=hb-tour&encapsulation=shadow","src/components/Tour/Tour.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hb-tour {\n position: fixed;\n inset: 0;\n z-index: var(--hb-z-index-popover);\n pointer-events: auto;\n}\n\n/* 镂空遮罩(box-shadow 多段方案;jsdom 下退化为纯色遮罩) */\n.hb-tour__mask {\n position: absolute;\n inset: 0;\n background: transparent;\n cursor: default;\n}\n\n.hb-tour__card {\n position: absolute;\n width: 340px;\n max-width: calc(100vw - 32px);\n padding: var(--hb-spacing-lg);\n background-color: var(--hb-color-bg-elevated);\n border-radius: var(--hb-border-radius-base);\n box-shadow: var(--hb-box-shadow-lg);\n color: var(--hb-color-text);\n font-size: var(--hb-font-size-sm);\n z-index: 1;\n}\n\n.hb-tour__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n margin-bottom: var(--hb-spacing-sm);\n}\n\n.hb-tour__title {\n font-size: var(--hb-font-size-lg);\n font-weight: 600;\n color: var(--hb-color-text-primary);\n}\n\n.hb-tour__close {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n border: none;\n background: transparent;\n color: var(--hb-color-text-tertiary);\n cursor: pointer;\n font-size: 18px;\n line-height: 1;\n border-radius: 50%;\n transition: background-color var(--hb-transition-duration), color var(--hb-transition-duration);\n}\n.hb-tour__close:hover {\n background-color: var(--hb-color-fill-tertiary);\n color: var(--hb-color-text-secondary);\n}\n\n.hb-tour__body {\n color: var(--hb-color-text-secondary);\n line-height: 1.6;\n margin-bottom: var(--hb-spacing-lg);\n}\n\n.hb-tour__footer {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.hb-tour__indicator {\n color: var(--hb-color-text-tertiary);\n font-size: var(--hb-font-size-xs);\n}\n\n.hb-tour__actions {\n display: inline-flex;\n align-items: center;\n gap: var(--hb-spacing-xs);\n}\n\n.hb-tour__btn {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 32px;\n padding: 0 var(--hb-spacing-lg);\n font-size: var(--hb-font-size-sm);\n border-radius: var(--hb-border-radius-base);\n border: 1px solid var(--hb-color-border);\n background-color: var(--hb-color-bg-elevated);\n color: var(--hb-color-text);\n cursor: pointer;\n transition: all var(--hb-transition-duration);\n}\n.hb-tour__btn:hover {\n color: var(--hb-color-primary);\n border-color: var(--hb-color-primary-border);\n}\n\n.hb-tour__btn--next {\n background-color: var(--hb-color-primary);\n border-color: var(--hb-color-primary);\n color: var(--hb-color-text-inverse);\n}\n.hb-tour__btn--next:hover {\n background-color: var(--hb-color-primary-hover);\n border-color: var(--hb-color-primary-hover);\n color: var(--hb-color-text-inverse);\n}\n","import { Component, h, Prop, Event, EventEmitter, State, Element } from '@stencil/core';\n\nexport interface TourStep {\n /** 目标元素 CSS selector */\n target: string;\n /** 步骤标题 */\n title: string;\n /** 步骤描述 */\n description: string;\n}\n\n/**\n * Tour 引导组件\n * 通过遮罩 + 高亮卡片引导用户关注页面元素。\n */\n@Component({\n tag: 'hb-tour',\n styleUrl: 'tour.css',\n shadow: true,\n})\nexport class Tour {\n @Element() el: HTMLElement;\n\n /** 是否显示(受控) */\n @Prop({ mutable: true }) visible: boolean = false;\n\n /** 步骤列表 */\n @Prop() steps: TourStep[] = [];\n\n /** 当前步骤索引 */\n @Prop({ mutable: true }) current: number = 0;\n\n /** 步骤变化事件,detail 为新 current */\n @Event() hbChange: EventEmitter<number>;\n\n /** 关闭事件 */\n @Event() hbClose: EventEmitter<void>;\n\n @State() private targetRect: DOMRect | null = null;\n\n private get currentStep(): TourStep | undefined {\n return this.steps[this.current];\n }\n\n private get isLast(): boolean {\n return this.current >= this.steps.length - 1;\n }\n\n private get isFirst(): boolean {\n return this.current <= 0;\n }\n\n componentDidRender() {\n this.updateTargetRect();\n }\n\n componentDidUpdate() {\n this.updateTargetRect();\n }\n\n private updateTargetRect() {\n const step = this.currentStep;\n if (!step || !this.visible) {\n this.targetRect = null;\n return;\n }\n const targetEl = document.querySelector(step.target) as HTMLElement | null;\n if (targetEl) {\n this.targetRect = targetEl.getBoundingClientRect();\n } else {\n this.targetRect = null;\n }\n }\n\n private goNext = () => {\n if (this.isLast) {\n this.finish();\n return;\n }\n this.current = this.current + 1;\n this.hbChange.emit(this.current);\n };\n\n private goPrev = () => {\n if (this.isFirst) return;\n this.current = this.current - 1;\n this.hbChange.emit(this.current);\n };\n\n private finish = () => {\n this.visible = false;\n this.hbClose.emit();\n };\n\n private cardStyle(): Record<string, string> {\n const rect = this.targetRect;\n // jsdom 下 getBoundingClientRect 返回 0 尺寸,提供兜底位置\n if (rect && (rect.width > 0 || rect.height > 0)) {\n return {\n left: `${rect.right + 12}px`,\n top: `${rect.top}px`,\n };\n }\n return { left: '50%', top: '50%', transform: 'translate(-50%, -50%)' };\n }\n\n private maskStyle(): Record<string, string> {\n const rect = this.targetRect;\n if (rect && (rect.width > 0 || rect.height > 0)) {\n // 4 段 box-shadow 实现镂空遮罩\n const top = rect.top;\n const right = window.innerWidth - rect.right;\n const bottom = window.innerHeight - rect.bottom;\n const left = rect.left;\n return {\n boxShadow: [\n `0 0 0 9999px var(--hb-color-bg-mask)`,\n `${left}px ${bottom}px 0 ${right}px transparent`,\n `${left}px ${top}px 0 ${right}px transparent`,\n `0 ${bottom}px 0 ${right}px transparent`,\n `0 ${top}px 0 ${left}px transparent`,\n ].join(', '),\n };\n }\n return { background: 'var(--hb-color-bg-mask)' };\n }\n\n render() {\n if (!this.visible || this.steps.length === 0) return null;\n\n const step = this.currentStep;\n if (!step) return null;\n\n return (\n <div class=\"hb-tour\">\n <div\n class=\"hb-tour__mask\"\n style={this.maskStyle()}\n onClick={this.finish}\n />\n <div\n class=\"hb-tour__card\"\n style={this.cardStyle()}\n role=\"dialog\"\n aria-modal=\"true\"\n >\n <div class=\"hb-tour__header\">\n <span class=\"hb-tour__title\">{step.title}</span>\n <button\n type=\"button\"\n class=\"hb-tour__close\"\n onClick={this.finish}\n aria-label=\"关闭\"\n >\n ×\n </button>\n </div>\n <div class=\"hb-tour__body\">{step.description}</div>\n <div class=\"hb-tour__footer\">\n <span class=\"hb-tour__indicator\">\n {this.current + 1} / {this.steps.length}\n </span>\n <div class=\"hb-tour__actions\">\n {!this.isFirst && (\n <button type=\"button\" class=\"hb-tour__btn hb-tour__btn--prev\" onClick={this.goPrev}>\n 上一步\n </button>\n )}\n <button type=\"button\" class=\"hb-tour__btn hb-tour__btn--next\" onClick={this.goNext}>\n {this.isLast ? '完成' : '下一步'}\n </button>\n </div>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-fdf7135e.js';
|
|
2
|
+
|
|
3
|
+
const transferCss = "/*! 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-transfer{align-items:stretch;color:var(--hb-color-text-regular,#606266);display:flex;font-size:14px;gap:12px}.hb-transfer--disabled{cursor:not-allowed;opacity:.6}.hb-transfer__panel{background-color:var(--hb-color-white,#fff);border:1px solid var(--hb-border-color,#dcdfe6);border-radius:4px;display:flex;flex-direction:column;max-height:100%;overflow:hidden;width:220px}.hb-transfer__panel--disabled,.hb-transfer__panel-header{background-color:var(--hb-fill-color-light,#f5f7fa)}.hb-transfer__panel-header{align-items:center;border-bottom:1px solid var(--hb-border-color-lighter,#ebeef5);display:flex;justify-content:space-between;padding:8px 12px}.hb-transfer__check-all{align-items:center;cursor:pointer;display:inline-flex;gap:6px;-webkit-user-select:none;user-select:none}.hb-transfer__check-all-input{cursor:pointer;margin:0}.hb-transfer__panel-title{color:var(--hb-color-text-primary,#303133);font-weight:600}.hb-transfer__panel-filter{border-bottom:1px solid var(--hb-border-color-lighter,#ebeef5);padding:8px}.hb-transfer__filter-input{border:1px solid var(--hb-border-color,#dcdfe6);border-radius:4px;box-sizing:border-box;color:var(--hb-color-text-regular,#606266);font-size:13px;outline:none;padding:6px 10px;transition:border-color .2s;width:100%}.hb-transfer__filter-input:focus{border-color:var(--hb-color-primary)}.hb-transfer__filter-input:disabled{background-color:var(--hb-fill-color-light,#f5f7fa);cursor:not-allowed}.hb-transfer__panel-body{flex:1;max-height:246px;min-height:120px;overflow-y:auto;padding:4px 0}.hb-transfer__empty{align-items:center;color:var(--hb-color-text-placeholder,#c0c4cc);display:flex;font-size:13px;height:100%;justify-content:center;min-height:120px}.hb-transfer__item{align-items:center;cursor:pointer;display:flex;gap:8px;padding:6px 12px;transition:background-color .2s;-webkit-user-select:none;user-select:none}.hb-transfer__item:hover:not(.hb-transfer__item--disabled){background-color:var(--hb-fill-color-light,#f5f7fa)}.hb-transfer__item--checked{color:var(--hb-color-primary)}.hb-transfer__item--disabled{color:var(--hb-color-text-placeholder,#c0c4cc);cursor:not-allowed}.hb-transfer__item-input{cursor:pointer;margin:0}.hb-transfer__item-input:disabled{cursor:not-allowed}.hb-transfer__item-title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb-transfer__operations{align-items:center;align-self:center;display:flex;flex-direction:column;gap:8px;justify-content:center}.hb-transfer__operation-btn{align-items:center;background-color:var(--hb-color-white,#fff);border:1px solid var(--hb-border-color,#dcdfe6);border-radius:4px;color:var(--hb-color-text-regular,#606266);cursor:pointer;display:inline-flex;font-size:18px;height:32px;justify-content:center;line-height:1;transition:all .2s;width:36px}.hb-transfer__operation-btn:hover:not(:disabled){border-color:var(--hb-color-primary);color:var(--hb-color-primary)}.hb-transfer__operation-btn:disabled{background-color:var(--hb-fill-color-light,#f5f7fa);color:var(--hb-color-text-placeholder,#c0c4cc);cursor:not-allowed}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}";
|
|
4
|
+
const HbTransferStyle0 = transferCss;
|
|
5
|
+
|
|
6
|
+
const Transfer = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
this.hbChange = createEvent(this, "hbChange", 7);
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* 数据源
|
|
13
|
+
*/
|
|
14
|
+
data = [];
|
|
15
|
+
/**
|
|
16
|
+
* 右侧(目标列表)的 keys
|
|
17
|
+
*/
|
|
18
|
+
targetKeys = [];
|
|
19
|
+
/**
|
|
20
|
+
* 两侧已勾选的 keys
|
|
21
|
+
*/
|
|
22
|
+
selectedKeys = [];
|
|
23
|
+
/**
|
|
24
|
+
* 标题,[源列表标题, 目标列表标题]
|
|
25
|
+
* @default ['源列表', '目标列表']
|
|
26
|
+
*/
|
|
27
|
+
titles = ['源列表', '目标列表'];
|
|
28
|
+
/**
|
|
29
|
+
* 是否禁用
|
|
30
|
+
* @default false
|
|
31
|
+
*/
|
|
32
|
+
disabled = false;
|
|
33
|
+
/**
|
|
34
|
+
* 是否显示搜索框
|
|
35
|
+
* @default false
|
|
36
|
+
*/
|
|
37
|
+
filterable = false;
|
|
38
|
+
/**
|
|
39
|
+
* 右侧列表变化事件
|
|
40
|
+
*/
|
|
41
|
+
hbChange;
|
|
42
|
+
leftFilter = '';
|
|
43
|
+
rightFilter = '';
|
|
44
|
+
handleSelectedKeysChange() {
|
|
45
|
+
/* 触发重渲染 */
|
|
46
|
+
}
|
|
47
|
+
/** 左侧列表:key 不在 targetKeys 中 */
|
|
48
|
+
get leftList() {
|
|
49
|
+
return this.data.filter((item) => !this.targetKeys.includes(item.key));
|
|
50
|
+
}
|
|
51
|
+
/** 右侧列表:key 在 targetKeys 中 */
|
|
52
|
+
get rightList() {
|
|
53
|
+
const targetSet = new Set(this.targetKeys);
|
|
54
|
+
return this.data.filter((item) => targetSet.has(item.key));
|
|
55
|
+
}
|
|
56
|
+
/** 当前列表项是否被勾选 */
|
|
57
|
+
isSelected(key) {
|
|
58
|
+
return this.selectedKeys.includes(key);
|
|
59
|
+
}
|
|
60
|
+
/** 切换某项的勾选状态 */
|
|
61
|
+
toggleItem = (item) => {
|
|
62
|
+
if (this.disabled || item.disabled)
|
|
63
|
+
return;
|
|
64
|
+
const isSelected = this.isSelected(item.key);
|
|
65
|
+
this.selectedKeys = isSelected
|
|
66
|
+
? this.selectedKeys.filter((k) => k !== item.key)
|
|
67
|
+
: [...this.selectedKeys, item.key];
|
|
68
|
+
};
|
|
69
|
+
/** 获取某侧可勾选(非 disabled)的全部 keys */
|
|
70
|
+
getSelectableKeys(list) {
|
|
71
|
+
return list.filter((item) => !item.disabled).map((item) => item.key);
|
|
72
|
+
}
|
|
73
|
+
/** 计算某侧全选 checkbox 状态:'all' | 'none' | 'indeterminate' */
|
|
74
|
+
getCheckAllState(list) {
|
|
75
|
+
const selectableKeys = this.getSelectableKeys(list);
|
|
76
|
+
if (selectableKeys.length === 0)
|
|
77
|
+
return 'none';
|
|
78
|
+
const selectedCount = selectableKeys.filter((k) => this.isSelected(k)).length;
|
|
79
|
+
if (selectedCount === 0)
|
|
80
|
+
return 'none';
|
|
81
|
+
if (selectedCount === selectableKeys.length)
|
|
82
|
+
return 'all';
|
|
83
|
+
return 'indeterminate';
|
|
84
|
+
}
|
|
85
|
+
/** 切换某侧全选 */
|
|
86
|
+
toggleCheckAll = (list) => {
|
|
87
|
+
if (this.disabled)
|
|
88
|
+
return;
|
|
89
|
+
const selectableKeys = this.getSelectableKeys(list);
|
|
90
|
+
const state = this.getCheckAllState(list);
|
|
91
|
+
if (state === 'all') {
|
|
92
|
+
// 取消该侧全部勾选
|
|
93
|
+
this.selectedKeys = this.selectedKeys.filter((k) => !selectableKeys.includes(k));
|
|
94
|
+
}
|
|
95
|
+
else {
|
|
96
|
+
// 勾选该侧全部(合并去重)
|
|
97
|
+
const merged = new Set([...this.selectedKeys, ...selectableKeys]);
|
|
98
|
+
this.selectedKeys = Array.from(merged);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
/** 向右移动:把左侧已勾选的项移到右侧 */
|
|
102
|
+
moveToRight = () => {
|
|
103
|
+
if (this.disabled)
|
|
104
|
+
return;
|
|
105
|
+
const leftSelected = this.leftList
|
|
106
|
+
.filter((item) => this.isSelected(item.key) && !item.disabled)
|
|
107
|
+
.map((item) => item.key);
|
|
108
|
+
if (leftSelected.length === 0)
|
|
109
|
+
return;
|
|
110
|
+
// 合并到 targetKeys(保持 data 中的顺序)
|
|
111
|
+
const targetSet = new Set([...this.targetKeys, ...leftSelected]);
|
|
112
|
+
this.targetKeys = this.data
|
|
113
|
+
.filter((item) => targetSet.has(item.key))
|
|
114
|
+
.map((item) => item.key);
|
|
115
|
+
// 清除已移动项的勾选
|
|
116
|
+
this.selectedKeys = this.selectedKeys.filter((k) => !leftSelected.includes(k));
|
|
117
|
+
this.hbChange.emit({ targetKeys: this.targetKeys });
|
|
118
|
+
};
|
|
119
|
+
/** 向左移动:把右侧已勾选的项移回左侧 */
|
|
120
|
+
moveToLeft = () => {
|
|
121
|
+
if (this.disabled)
|
|
122
|
+
return;
|
|
123
|
+
const rightSelected = this.rightList
|
|
124
|
+
.filter((item) => this.isSelected(item.key) && !item.disabled)
|
|
125
|
+
.map((item) => item.key);
|
|
126
|
+
if (rightSelected.length === 0)
|
|
127
|
+
return;
|
|
128
|
+
const removeSet = new Set(rightSelected);
|
|
129
|
+
this.targetKeys = this.targetKeys.filter((k) => !removeSet.has(k));
|
|
130
|
+
// 清除已移动项的勾选
|
|
131
|
+
this.selectedKeys = this.selectedKeys.filter((k) => !removeSet.has(k));
|
|
132
|
+
this.hbChange.emit({ targetKeys: this.targetKeys });
|
|
133
|
+
};
|
|
134
|
+
/** 列表项过滤 */
|
|
135
|
+
filterList(list, keyword) {
|
|
136
|
+
if (!keyword)
|
|
137
|
+
return list;
|
|
138
|
+
const lower = keyword.toLowerCase();
|
|
139
|
+
return list.filter((item) => item.title.toLowerCase().includes(lower));
|
|
140
|
+
}
|
|
141
|
+
renderList = (list, title, filterValue, onFilter) => {
|
|
142
|
+
const filteredList = this.filterList(list, filterValue);
|
|
143
|
+
const selectableKeys = this.getSelectableKeys(list);
|
|
144
|
+
const selectedCount = selectableKeys.filter((k) => this.isSelected(k)).length;
|
|
145
|
+
const checkAllState = this.getCheckAllState(list);
|
|
146
|
+
return (h("div", { class: { 'hb-transfer__panel': true, 'hb-transfer__panel--disabled': this.disabled } }, h("div", { class: "hb-transfer__panel-header" }, h("label", { class: "hb-transfer__check-all" }, h("input", { type: "checkbox", class: "hb-transfer__check-all-input", checked: checkAllState === 'all', disabled: this.disabled || selectableKeys.length === 0, onChange: () => this.toggleCheckAll(list) }), h("span", null, selectedCount > 0 ? `${selectedCount}/` : '', selectableKeys.length, " \u9879")), h("span", { class: "hb-transfer__panel-title" }, title)), this.filterable && (h("div", { class: "hb-transfer__panel-filter" }, h("input", { type: "text", class: "hb-transfer__filter-input", placeholder: "\u8BF7\u8F93\u5165\u641C\u7D22\u5185\u5BB9", value: filterValue, disabled: this.disabled, onInput: onFilter }))), h("div", { class: "hb-transfer__panel-body" }, filteredList.length === 0 ? (h("div", { class: "hb-transfer__empty" }, "\u65E0\u6570\u636E")) : (filteredList.map((item) => (h("label", { class: {
|
|
147
|
+
'hb-transfer__item': true,
|
|
148
|
+
'hb-transfer__item--checked': this.isSelected(item.key),
|
|
149
|
+
'hb-transfer__item--disabled': this.disabled || !!item.disabled,
|
|
150
|
+
} }, h("input", { type: "checkbox", class: "hb-transfer__item-input", checked: this.isSelected(item.key), disabled: this.disabled || !!item.disabled, onChange: () => this.toggleItem(item) }), h("span", { class: "hb-transfer__item-title" }, item.title))))))));
|
|
151
|
+
};
|
|
152
|
+
render() {
|
|
153
|
+
const leftCheckAllState = this.getCheckAllState(this.leftList);
|
|
154
|
+
const rightCheckAllState = this.getCheckAllState(this.rightList);
|
|
155
|
+
return (h("div", { key: 'e8b42f296636c208e67adb4dfd105f72ccd96406', class: { 'hb-transfer': true, 'hb-transfer--disabled': this.disabled } }, this.renderList(this.leftList, this.titles[0], this.leftFilter, (e) => {
|
|
156
|
+
this.leftFilter = e.target.value;
|
|
157
|
+
}), h("div", { key: 'fbb9d1ab5a4782e2d7be4e5ba8b6d2378cf5dd4f', class: "hb-transfer__operations" }, h("button", { key: '8c598127a30fc7cc82711ccbc5ae695363f20eeb', type: "button", class: "hb-transfer__operation-btn", disabled: this.disabled || rightCheckAllState === 'none', onClick: this.moveToLeft, "aria-label": "\u5411\u5DE6\u79FB\u52A8" }, "\u2039"), h("button", { key: '95ab5ae8b686fc032a7e88e4d798d0190a7163ed', type: "button", class: "hb-transfer__operation-btn", disabled: this.disabled || leftCheckAllState === 'none', onClick: this.moveToRight, "aria-label": "\u5411\u53F3\u79FB\u52A8" }, "\u203A")), this.renderList(this.rightList, this.titles[1], this.rightFilter, (e) => {
|
|
158
|
+
this.rightFilter = e.target.value;
|
|
159
|
+
})));
|
|
160
|
+
}
|
|
161
|
+
static get watchers() { return {
|
|
162
|
+
"selectedKeys": ["handleSelectedKeysChange"]
|
|
163
|
+
}; }
|
|
164
|
+
};
|
|
165
|
+
Transfer.style = HbTransferStyle0;
|
|
166
|
+
|
|
167
|
+
export { Transfer as hb_transfer };
|
|
168
|
+
|
|
169
|
+
//# sourceMappingURL=hb-transfer.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-transfer.entry.js","mappings":"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","names":[],"sources":["src/components/Transfer/transfer.css?tag=hb-transfer&encapsulation=shadow","src/components/Transfer/Transfer.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n.hb-transfer {\n display: flex;\n align-items: stretch;\n gap: 12px;\n font-size: 14px;\n color: var(--hb-color-text-regular, #606266);\n}\n\n.hb-transfer--disabled {\n opacity: 0.6;\n cursor: not-allowed;\n}\n\n/* 单栏 */\n.hb-transfer__panel {\n display: flex;\n flex-direction: column;\n width: 220px;\n max-height: 100%;\n border: 1px solid var(--hb-border-color, #dcdfe6);\n border-radius: 4px;\n background-color: var(--hb-color-white, #ffffff);\n overflow: hidden;\n}\n\n.hb-transfer__panel--disabled {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n/* 头部:全选 + 标题 */\n.hb-transfer__panel-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 12px;\n border-bottom: 1px solid var(--hb-border-color-lighter, #ebeef5);\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-transfer__check-all {\n display: inline-flex;\n align-items: center;\n gap: 6px;\n cursor: pointer;\n user-select: none;\n}\n\n.hb-transfer__check-all-input {\n margin: 0;\n cursor: pointer;\n}\n\n.hb-transfer__panel-title {\n font-weight: 600;\n color: var(--hb-color-text-primary, #303133);\n}\n\n/* 搜索框 */\n.hb-transfer__panel-filter {\n padding: 8px;\n border-bottom: 1px solid var(--hb-border-color-lighter, #ebeef5);\n}\n\n.hb-transfer__filter-input {\n width: 100%;\n box-sizing: border-box;\n padding: 6px 10px;\n font-size: 13px;\n color: var(--hb-color-text-regular, #606266);\n border: 1px solid var(--hb-border-color, #dcdfe6);\n border-radius: 4px;\n outline: none;\n transition: border-color 0.2s;\n}\n\n.hb-transfer__filter-input:focus {\n border-color: var(--hb-color-primary);\n}\n\n.hb-transfer__filter-input:disabled {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n cursor: not-allowed;\n}\n\n/* 列表主体 */\n.hb-transfer__panel-body {\n flex: 1;\n min-height: 120px;\n max-height: 246px;\n overflow-y: auto;\n padding: 4px 0;\n}\n\n.hb-transfer__empty {\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n min-height: 120px;\n color: var(--hb-color-text-placeholder, #c0c4cc);\n font-size: 13px;\n}\n\n/* 列表项 */\n.hb-transfer__item {\n display: flex;\n align-items: center;\n gap: 8px;\n padding: 6px 12px;\n cursor: pointer;\n transition: background-color 0.2s;\n user-select: none;\n}\n\n.hb-transfer__item:hover:not(.hb-transfer__item--disabled) {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-transfer__item--checked {\n color: var(--hb-color-primary);\n}\n\n.hb-transfer__item--disabled {\n cursor: not-allowed;\n color: var(--hb-color-text-placeholder, #c0c4cc);\n}\n\n.hb-transfer__item-input {\n margin: 0;\n cursor: pointer;\n}\n\n.hb-transfer__item-input:disabled {\n cursor: not-allowed;\n}\n\n.hb-transfer__item-title {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n/* 中间操作按钮区 */\n.hb-transfer__operations {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n gap: 8px;\n align-self: center;\n}\n\n.hb-transfer__operation-btn {\n width: 36px;\n height: 32px;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: 18px;\n line-height: 1;\n color: var(--hb-color-text-regular, #606266);\n background-color: var(--hb-color-white, #ffffff);\n border: 1px solid var(--hb-border-color, #dcdfe6);\n border-radius: 4px;\n cursor: pointer;\n transition: all 0.2s;\n}\n\n.hb-transfer__operation-btn:hover:not(:disabled) {\n color: var(--hb-color-primary);\n border-color: var(--hb-color-primary);\n}\n\n.hb-transfer__operation-btn:disabled {\n color: var(--hb-color-text-placeholder, #c0c4cc);\n background-color: var(--hb-fill-color-light, #f5f7fa);\n cursor: not-allowed;\n}\n","import { Component, h, Prop, Event, EventEmitter, State, Watch } from '@stencil/core';\n\n/**\n * Transfer 数据项\n */\nexport interface TransferDataItem {\n key: string;\n title: string;\n disabled?: boolean;\n}\n\n/**\n * Transfer 穿梭框组件\n * 双栏列表选择,勾选项后通过中间按钮在两栏间移动\n */\n@Component({\n tag: 'hb-transfer',\n styleUrl: 'transfer.css',\n shadow: true,\n})\nexport class Transfer {\n /**\n * 数据源\n */\n @Prop() data: TransferDataItem[] = [];\n\n /**\n * 右侧(目标列表)的 keys\n */\n @Prop({ mutable: true }) targetKeys: string[] = [];\n\n /**\n * 两侧已勾选的 keys\n */\n @Prop({ mutable: true }) selectedKeys: string[] = [];\n\n /**\n * 标题,[源列表标题, 目标列表标题]\n * @default ['源列表', '目标列表']\n */\n @Prop() titles: [string, string] = ['源列表', '目标列表'];\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 是否显示搜索框\n * @default false\n */\n @Prop() filterable: boolean = false;\n\n /**\n * 右侧列表变化事件\n */\n @Event() hbChange: EventEmitter<{ targetKeys: string[] }>;\n\n @State() leftFilter: string = '';\n @State() rightFilter: string = '';\n\n @Watch('selectedKeys')\n handleSelectedKeysChange() {\n /* 触发重渲染 */\n }\n\n /** 左侧列表:key 不在 targetKeys 中 */\n private get leftList(): TransferDataItem[] {\n return this.data.filter((item) => !this.targetKeys.includes(item.key));\n }\n\n /** 右侧列表:key 在 targetKeys 中 */\n private get rightList(): TransferDataItem[] {\n const targetSet = new Set(this.targetKeys);\n return this.data.filter((item) => targetSet.has(item.key));\n }\n\n /** 当前列表项是否被勾选 */\n private isSelected(key: string): boolean {\n return this.selectedKeys.includes(key);\n }\n\n /** 切换某项的勾选状态 */\n private toggleItem = (item: TransferDataItem) => {\n if (this.disabled || item.disabled) return;\n const isSelected = this.isSelected(item.key);\n this.selectedKeys = isSelected\n ? this.selectedKeys.filter((k) => k !== item.key)\n : [...this.selectedKeys, item.key];\n };\n\n /** 获取某侧可勾选(非 disabled)的全部 keys */\n private getSelectableKeys(list: TransferDataItem[]): string[] {\n return list.filter((item) => !item.disabled).map((item) => item.key);\n }\n\n /** 计算某侧全选 checkbox 状态:'all' | 'none' | 'indeterminate' */\n private getCheckAllState(list: TransferDataItem[]): 'all' | 'none' | 'indeterminate' {\n const selectableKeys = this.getSelectableKeys(list);\n if (selectableKeys.length === 0) return 'none';\n const selectedCount = selectableKeys.filter((k) => this.isSelected(k)).length;\n if (selectedCount === 0) return 'none';\n if (selectedCount === selectableKeys.length) return 'all';\n return 'indeterminate';\n }\n\n /** 切换某侧全选 */\n private toggleCheckAll = (list: TransferDataItem[]) => {\n if (this.disabled) return;\n const selectableKeys = this.getSelectableKeys(list);\n const state = this.getCheckAllState(list);\n if (state === 'all') {\n // 取消该侧全部勾选\n this.selectedKeys = this.selectedKeys.filter((k) => !selectableKeys.includes(k));\n } else {\n // 勾选该侧全部(合并去重)\n const merged = new Set([...this.selectedKeys, ...selectableKeys]);\n this.selectedKeys = Array.from(merged);\n }\n };\n\n /** 向右移动:把左侧已勾选的项移到右侧 */\n private moveToRight = () => {\n if (this.disabled) return;\n const leftSelected = this.leftList\n .filter((item) => this.isSelected(item.key) && !item.disabled)\n .map((item) => item.key);\n if (leftSelected.length === 0) return;\n // 合并到 targetKeys(保持 data 中的顺序)\n const targetSet = new Set([...this.targetKeys, ...leftSelected]);\n this.targetKeys = this.data\n .filter((item) => targetSet.has(item.key))\n .map((item) => item.key);\n // 清除已移动项的勾选\n this.selectedKeys = this.selectedKeys.filter((k) => !leftSelected.includes(k));\n this.hbChange.emit({ targetKeys: this.targetKeys });\n };\n\n /** 向左移动:把右侧已勾选的项移回左侧 */\n private moveToLeft = () => {\n if (this.disabled) return;\n const rightSelected = this.rightList\n .filter((item) => this.isSelected(item.key) && !item.disabled)\n .map((item) => item.key);\n if (rightSelected.length === 0) return;\n const removeSet = new Set(rightSelected);\n this.targetKeys = this.targetKeys.filter((k) => !removeSet.has(k));\n // 清除已移动项的勾选\n this.selectedKeys = this.selectedKeys.filter((k) => !removeSet.has(k));\n this.hbChange.emit({ targetKeys: this.targetKeys });\n };\n\n /** 列表项过滤 */\n private filterList(list: TransferDataItem[], keyword: string): TransferDataItem[] {\n if (!keyword) return list;\n const lower = keyword.toLowerCase();\n return list.filter((item) => item.title.toLowerCase().includes(lower));\n }\n\n private renderList = (\n list: TransferDataItem[],\n title: string,\n filterValue: string,\n onFilter: (e: Event) => void,\n ) => {\n const filteredList = this.filterList(list, filterValue);\n const selectableKeys = this.getSelectableKeys(list);\n const selectedCount = selectableKeys.filter((k) => this.isSelected(k)).length;\n const checkAllState = this.getCheckAllState(list);\n\n return (\n <div class={{ 'hb-transfer__panel': true, 'hb-transfer__panel--disabled': this.disabled }}>\n <div class=\"hb-transfer__panel-header\">\n <label class=\"hb-transfer__check-all\">\n <input\n type=\"checkbox\"\n class=\"hb-transfer__check-all-input\"\n checked={checkAllState === 'all'}\n disabled={this.disabled || selectableKeys.length === 0}\n onChange={() => this.toggleCheckAll(list)}\n />\n <span>{selectedCount > 0 ? `${selectedCount}/` : ''}{selectableKeys.length} 项</span>\n </label>\n <span class=\"hb-transfer__panel-title\">{title}</span>\n </div>\n\n {this.filterable && (\n <div class=\"hb-transfer__panel-filter\">\n <input\n type=\"text\"\n class=\"hb-transfer__filter-input\"\n placeholder=\"请输入搜索内容\"\n value={filterValue}\n disabled={this.disabled}\n onInput={onFilter}\n />\n </div>\n )}\n\n <div class=\"hb-transfer__panel-body\">\n {filteredList.length === 0 ? (\n <div class=\"hb-transfer__empty\">无数据</div>\n ) : (\n filteredList.map((item) => (\n <label\n class={{\n 'hb-transfer__item': true,\n 'hb-transfer__item--checked': this.isSelected(item.key),\n 'hb-transfer__item--disabled': this.disabled || !!item.disabled,\n }}\n >\n <input\n type=\"checkbox\"\n class=\"hb-transfer__item-input\"\n checked={this.isSelected(item.key)}\n disabled={this.disabled || !!item.disabled}\n onChange={() => this.toggleItem(item)}\n />\n <span class=\"hb-transfer__item-title\">{item.title}</span>\n </label>\n ))\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const leftCheckAllState = this.getCheckAllState(this.leftList);\n const rightCheckAllState = this.getCheckAllState(this.rightList);\n\n return (\n <div class={{ 'hb-transfer': true, 'hb-transfer--disabled': this.disabled }}>\n {this.renderList(\n this.leftList,\n this.titles[0],\n this.leftFilter,\n (e) => {\n this.leftFilter = (e.target as HTMLInputElement).value;\n },\n )}\n\n <div class=\"hb-transfer__operations\">\n <button\n type=\"button\"\n class=\"hb-transfer__operation-btn\"\n disabled={this.disabled || rightCheckAllState === 'none'}\n onClick={this.moveToLeft}\n aria-label=\"向左移动\"\n >\n ‹\n </button>\n <button\n type=\"button\"\n class=\"hb-transfer__operation-btn\"\n disabled={this.disabled || leftCheckAllState === 'none'}\n onClick={this.moveToRight}\n aria-label=\"向右移动\"\n >\n ›\n </button>\n </div>\n\n {this.renderList(\n this.rightList,\n this.titles[1],\n this.rightFilter,\n (e) => {\n this.rightFilter = (e.target as HTMLInputElement).value;\n },\n )}\n </div>\n );\n }\n}\n"],"version":3}
|