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,72 @@
|
|
|
1
|
+
import { r as registerInstance, h } from './index-fdf7135e.js';
|
|
2
|
+
|
|
3
|
+
const iconCss = "/*! 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{align-items:center;display:inline-flex;justify-content:center;line-height:0;vertical-align:middle}.hb-icon{color:inherit;display:inline-block;flex-shrink:0;font-size:inherit;height:1em;width:1em}.hb-icon--spin{animation:hb-icon-spin 1s linear infinite}.hb-icon--placeholder{align-items:center;background-color:var(--hb-color-fill-tertiary);border-radius:var(--hb-border-radius-xs);color:var(--hb-color-text-tertiary);display:inline-flex;font-size:var(--hb-font-size-xs);justify-content:center;line-height:1;overflow:hidden;padding:0 2px;word-break:break-all}@keyframes hb-icon-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@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 HbIconStyle0 = iconCss;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 内置常用图标 SVG path 映射表(24x24 viewBox,stroke/fill 由 currentColor 继承)
|
|
8
|
+
* 设计参照 Ant Design / Element Plus 常用后台图标。
|
|
9
|
+
*/
|
|
10
|
+
const ICON_PATHS = {
|
|
11
|
+
edit: 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',
|
|
12
|
+
delete: 'M6 7h12v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm3-3h6l1 2H8l1-2zM4 6h16v2H4V6z',
|
|
13
|
+
plus: 'M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6V5z',
|
|
14
|
+
search: 'M10 4a6 6 0 1 0 3.9 10.5l4.3 4.3 1.4-1.4-4.3-4.3A6 6 0 0 0 10 4zm0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8z',
|
|
15
|
+
refresh: 'M12 5V2L8 6l4 4V7a5 5 0 1 1-5 5H5a7 7 0 1 0 7-7z',
|
|
16
|
+
check: 'M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z',
|
|
17
|
+
close: 'M6 6l12 12M18 6L6 18',
|
|
18
|
+
'arrow-up': 'M12 5l7 7h-4v7h-6v-7H5z',
|
|
19
|
+
'arrow-down': 'M12 19l-7-7h4V5h6v7h4z',
|
|
20
|
+
'arrow-left': 'M5 12l7-7v4h7v6h-7v4z',
|
|
21
|
+
'arrow-right': 'M19 12l-7 7v-4H5V9h7V5z',
|
|
22
|
+
eye: 'M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z',
|
|
23
|
+
setting: 'M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm9 4a8.9 8.9 0 0 0-.2-2l2-1.5-2-3.5-2.4 1a8 8 0 0 0-3.4-2L14.5 1h-5l-.3 2.5a8 8 0 0 0-3.4 2l-2.4-1-2 3.5L3.4 10a8.9 8.9 0 0 0 0 4l-2 1.5 2 3.5 2.4-1a8 8 0 0 0 3.4 2l.3 2.5h5l.3-2.5a8 8 0 0 0 3.4-2l2.4 1 2-3.5-2-1.5c.1-.6.2-1.3.2-2z',
|
|
24
|
+
user: 'M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-5 0-9 2.5-9 6v2h18v-2c0-3.5-4-6-9-6z',
|
|
25
|
+
bell: 'M12 22a2 2 0 0 0 2-2h-4a2 2 0 0 0 2 2zm6-6V11a6 6 0 0 0-5-5.9V4a1 1 0 0 0-2 0v1.1A6 6 0 0 0 6 11v5l-2 2v1h16v-1l-2-2z',
|
|
26
|
+
menu: 'M3 6h18v2H3V6zm0 5h18v2H3v-2zm0 5h18v2H3v-2z',
|
|
27
|
+
home: 'M12 3l9 8h-3v9h-4v-6H10v6H6v-9H3z',
|
|
28
|
+
upload: 'M9 16h6v-6h4l-7-7-7 7h4v6zm-4 2h14v2H5v-2z',
|
|
29
|
+
download: 'M9 4h6v8h4l-7 7-7-7h4V4zm-4 14h14v2H5v-2z',
|
|
30
|
+
info: 'M11 7h2v2h-2V7zm0 4h2v6h-2v-6zm1-9a10 10 0 1 0 0 20 10 10 0 0 0 0-20z',
|
|
31
|
+
warning: 'M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z',
|
|
32
|
+
};
|
|
33
|
+
const Icon = class {
|
|
34
|
+
constructor(hostRef) {
|
|
35
|
+
registerInstance(this, hostRef);
|
|
36
|
+
}
|
|
37
|
+
/** 图标名(查 ICON_PATHS 映射表) */
|
|
38
|
+
name = '';
|
|
39
|
+
/** 尺寸(number 视为 px,string 直接作为 width/height) */
|
|
40
|
+
size = '1em';
|
|
41
|
+
/** 颜色(默认继承 currentColor) */
|
|
42
|
+
color = 'inherit';
|
|
43
|
+
/** 是否旋转动画 */
|
|
44
|
+
spin = false;
|
|
45
|
+
normalizeSize() {
|
|
46
|
+
if (typeof this.size === 'number') {
|
|
47
|
+
return `${this.size}px`;
|
|
48
|
+
}
|
|
49
|
+
return this.size;
|
|
50
|
+
}
|
|
51
|
+
render() {
|
|
52
|
+
const dimension = this.normalizeSize();
|
|
53
|
+
const path = ICON_PATHS[this.name];
|
|
54
|
+
const svgStyle = {
|
|
55
|
+
width: dimension,
|
|
56
|
+
height: dimension,
|
|
57
|
+
color: this.color,
|
|
58
|
+
};
|
|
59
|
+
if (path) {
|
|
60
|
+
// close / arrow 等使用 stroke 描边;info/warning/eye 等使用 fill 填充
|
|
61
|
+
const strokeBased = this.name === 'close' || this.name.startsWith('arrow-');
|
|
62
|
+
return (h("svg", { class: { 'hb-icon': true, 'hb-icon--spin': this.spin }, viewBox: "0 0 24 24", style: svgStyle, fill: strokeBased ? 'none' : 'currentColor', stroke: strokeBased ? 'currentColor' : 'none', "stroke-width": strokeBased ? 2 : 0, "stroke-linecap": "round", "stroke-linejoin": "round", "aria-hidden": "true" }, h("path", { d: path })));
|
|
63
|
+
}
|
|
64
|
+
// 未知 name:渲染占位方块 + title 文本
|
|
65
|
+
return (h("span", { class: { 'hb-icon': true, 'hb-icon--spin': this.spin, 'hb-icon--placeholder': true }, style: svgStyle, role: "img", "aria-label": this.name }, this.name || ''));
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
Icon.style = HbIconStyle0;
|
|
69
|
+
|
|
70
|
+
export { Icon as hb_icon };
|
|
71
|
+
|
|
72
|
+
//# sourceMappingURL=hb-icon.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-icon.entry.js","mappings":";;AAAA,MAAM,OAAO,GAAG,4uMAA4uM,CAAC;AAC7vM,qBAAe,OAAO;;ACCtB;;;;AAIA,MAAM,UAAU,GAA2B;IACzC,IAAI,EACF,yIAAyI;IAC3I,MAAM,EACJ,4EAA4E;IAC9E,IAAI,EAAE,oCAAoC;IAC1C,MAAM,EACJ,mGAAmG;IACrG,OAAO,EACL,kDAAkD;IACpD,KAAK,EAAE,iDAAiD;IACxD,KAAK,EAAE,sBAAsB;IAC7B,UAAU,EAAE,yBAAyB;IACrC,YAAY,EAAE,wBAAwB;IACtC,YAAY,EAAE,uBAAuB;IACrC,aAAa,EAAE,yBAAyB;IACxC,GAAG,EAAE,sHAAsH;IAC3H,OAAO,EACL,2QAA2Q;IAC7Q,IAAI,EAAE,iFAAiF;IACvF,IAAI,EAAE,uHAAuH;IAC7H,IAAI,EAAE,8CAA8C;IACpD,IAAI,EAAE,mCAAmC;IACzC,MAAM,EACJ,4CAA4C;IAC9C,QAAQ,EACN,2CAA2C;IAC7C,IAAI,EAAE,uEAAuE;IAC7E,OAAO,EACL,oDAAoD;CACvD,CAAC;MAYW,IAAI;;;;;IAEP,IAAI,GAAW,EAAE,CAAC;;IAGlB,IAAI,GAAoB,KAAK,CAAC;;IAG9B,KAAK,GAAW,SAAS,CAAC;;IAG1B,IAAI,GAAY,KAAK,CAAC;IAEtB,aAAa;QACnB,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YACjC,OAAO,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC;SACzB;QACD,OAAO,IAAI,CAAC,IAAI,CAAC;KAClB;IAED,MAAM;QACJ,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QAEF,IAAI,IAAI,EAAE;;YAER,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YAC5E,QACE,WACE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,EACtD,OAAO,EAAC,WAAW,EACnB,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,WAAW,GAAG,MAAM,GAAG,cAAc,EAC3C,MAAM,EAAE,WAAW,GAAG,cAAc,GAAG,MAAM,kBAC/B,WAAW,GAAG,CAAC,GAAG,CAAC,oBAClB,OAAO,qBACN,OAAO,iBACX,MAAM,IAElB,YAAM,CAAC,EAAE,IAAI,GAAI,CACb,EACN;SACH;;QAGD,QACE,YACE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,EACpF,KAAK,EAAE,QAAQ,EACf,IAAI,EAAC,KAAK,gBACE,IAAI,CAAC,IAAI,IAEpB,IAAI,CAAC,IAAI,IAAI,EAAE,CACX,EACP;KACH;;;;;;","names":[],"sources":["src/components/Icon/icon.css?tag=hb-icon&encapsulation=shadow","src/components/Icon/Icon.tsx"],"sourcesContent":[":host {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 0;\n vertical-align: middle;\n}\n\n.hb-icon {\n display: inline-block;\n width: 1em;\n height: 1em;\n font-size: inherit;\n color: inherit;\n flex-shrink: 0;\n}\n\n.hb-icon--spin {\n animation: hb-icon-spin 1s linear infinite;\n}\n\n.hb-icon--placeholder {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: var(--hb-font-size-xs);\n color: var(--hb-color-text-tertiary);\n background-color: var(--hb-color-fill-tertiary);\n border-radius: var(--hb-border-radius-xs);\n line-height: 1;\n overflow: hidden;\n word-break: break-all;\n padding: 0 2px;\n}\n\n@keyframes hb-icon-spin {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n}\n","import { Component, h, Prop } from '@stencil/core';\n\n/**\n * 内置常用图标 SVG path 映射表(24x24 viewBox,stroke/fill 由 currentColor 继承)\n * 设计参照 Ant Design / Element Plus 常用后台图标。\n */\nconst ICON_PATHS: Record<string, string> = {\n edit:\n 'M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04a1 1 0 0 0 0-1.41l-2.34-2.34a1 1 0 0 0-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z',\n delete:\n 'M6 7h12v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V7zm3-3h6l1 2H8l1-2zM4 6h16v2H4V6z',\n plus: 'M11 5h2v6h6v2h-6v6h-2v-6H5v-2h6V5z',\n search:\n 'M10 4a6 6 0 1 0 3.9 10.5l4.3 4.3 1.4-1.4-4.3-4.3A6 6 0 0 0 10 4zm0 2a4 4 0 1 1 0 8 4 4 0 0 1 0-8z',\n refresh:\n 'M12 5V2L8 6l4 4V7a5 5 0 1 1-5 5H5a7 7 0 1 0 7-7z',\n check: 'M9 16.2l-3.5-3.5L4 14.2 9 19.2 20 8.2l-1.5-1.5z',\n close: 'M6 6l12 12M18 6L6 18',\n 'arrow-up': 'M12 5l7 7h-4v7h-6v-7H5z',\n 'arrow-down': 'M12 19l-7-7h4V5h6v7h4z',\n 'arrow-left': 'M5 12l7-7v4h7v6h-7v4z',\n 'arrow-right': 'M19 12l-7 7v-4H5V9h7V5z',\n eye: 'M12 5c-7 0-10 7-10 7s3 7 10 7 10-7 10-7-3-7-10-7zm0 11a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm0-6a2 2 0 1 0 0 4 2 2 0 0 0 0-4z',\n setting:\n 'M12 8a4 4 0 1 0 0 8 4 4 0 0 0 0-8zm9 4a8.9 8.9 0 0 0-.2-2l2-1.5-2-3.5-2.4 1a8 8 0 0 0-3.4-2L14.5 1h-5l-.3 2.5a8 8 0 0 0-3.4 2l-2.4-1-2 3.5L3.4 10a8.9 8.9 0 0 0 0 4l-2 1.5 2 3.5 2.4-1a8 8 0 0 0 3.4 2l.3 2.5h5l.3-2.5a8 8 0 0 0 3.4-2l2.4 1 2-3.5-2-1.5c.1-.6.2-1.3.2-2z',\n user: 'M12 12a5 5 0 1 0 0-10 5 5 0 0 0 0 10zm0 2c-5 0-9 2.5-9 6v2h18v-2c0-3.5-4-6-9-6z',\n bell: 'M12 22a2 2 0 0 0 2-2h-4a2 2 0 0 0 2 2zm6-6V11a6 6 0 0 0-5-5.9V4a1 1 0 0 0-2 0v1.1A6 6 0 0 0 6 11v5l-2 2v1h16v-1l-2-2z',\n menu: 'M3 6h18v2H3V6zm0 5h18v2H3v-2zm0 5h18v2H3v-2z',\n home: 'M12 3l9 8h-3v9h-4v-6H10v6H6v-9H3z',\n upload:\n 'M9 16h6v-6h4l-7-7-7 7h4v6zm-4 2h14v2H5v-2z',\n download:\n 'M9 4h6v8h4l-7 7-7-7h4V4zm-4 14h14v2H5v-2z',\n info: 'M11 7h2v2h-2V7zm0 4h2v6h-2v-6zm1-9a10 10 0 1 0 0 20 10 10 0 0 0 0-20z',\n warning:\n 'M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z',\n};\n\n/**\n * Icon 图标组件\n * 内置常用后台图标,替换项目内散落的 emoji 图标。\n * 通过 name 查表渲染对应 SVG,未知 name 渲染占位。\n */\n@Component({\n tag: 'hb-icon',\n styleUrl: 'icon.css',\n shadow: true,\n})\nexport class Icon {\n /** 图标名(查 ICON_PATHS 映射表) */\n @Prop() name: string = '';\n\n /** 尺寸(number 视为 px,string 直接作为 width/height) */\n @Prop() size: number | string = '1em';\n\n /** 颜色(默认继承 currentColor) */\n @Prop() color: string = 'inherit';\n\n /** 是否旋转动画 */\n @Prop() spin: boolean = false;\n\n private normalizeSize(): string {\n if (typeof this.size === 'number') {\n return `${this.size}px`;\n }\n return this.size;\n }\n\n render() {\n const dimension = this.normalizeSize();\n const path = ICON_PATHS[this.name];\n\n const svgStyle = {\n width: dimension,\n height: dimension,\n color: this.color,\n };\n\n if (path) {\n // close / arrow 等使用 stroke 描边;info/warning/eye 等使用 fill 填充\n const strokeBased = this.name === 'close' || this.name.startsWith('arrow-');\n return (\n <svg\n class={{ 'hb-icon': true, 'hb-icon--spin': this.spin }}\n viewBox=\"0 0 24 24\"\n style={svgStyle}\n fill={strokeBased ? 'none' : 'currentColor'}\n stroke={strokeBased ? 'currentColor' : 'none'}\n stroke-width={strokeBased ? 2 : 0}\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d={path} />\n </svg>\n );\n }\n\n // 未知 name:渲染占位方块 + title 文本\n return (\n <span\n class={{ 'hb-icon': true, 'hb-icon--spin': this.spin, 'hb-icon--placeholder': true }}\n style={svgStyle}\n role=\"img\"\n aria-label={this.name}\n >\n {this.name || ''}\n </span>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, g as getElement, h } from './index-fdf7135e.js';
|
|
2
|
+
|
|
3
|
+
const imagePreviewCss = "/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{display:contents}.hb-image-preview{background-color:var(--hb-color-bg-mask,#00000080);inset:0;position:fixed;z-index:var(--hb-z-index-modal-mask,2000)}.hb-image-preview,.hb-image-preview__wrapper{align-items:center;display:flex;justify-content:center}.hb-image-preview__img,.hb-image-preview__wrapper{max-height:90vh;max-width:90vw}.hb-image-preview__img{object-fit:contain;pointer-events:none;transition:transform .2s;-webkit-user-select:none;user-select:none}.hb-image-preview__btn{align-items:center;background-color:#0006;border:none;border-radius:50%;color:var(--hb-color-text-inverse,#fff);cursor:pointer;display:flex;font-size:28px;height:44px;justify-content:center;line-height:1;position:absolute;top:50%;transform:translateY(-50%);transition:background-color var(--hb-transition-duration,.2s)ease;width:44px}.hb-image-preview__btn:hover{background-color:#0009}.hb-image-preview__btn--prev{left:24px}.hb-image-preview__btn--next{right:24px}.hb-image-preview__toolbar{align-items:center;background-color:#00000080;border-radius:var(--hb-border-radius-base,4px);bottom:32px;color:var(--hb-color-text-inverse,#fff);display:flex;gap:4px;left:50%;padding:8px 12px;position:absolute;transform:translate(-50%)}.hb-image-preview__tool{background:0 0;border:none;border-radius:var(--hb-border-radius-sm,2px);color:var(--hb-color-text-inverse,#fff);cursor:pointer;font-size:16px;height:32px;min-width:32px;padding:0 8px;transition:background-color var(--hb-transition-duration,.2s)ease}.hb-image-preview__tool:hover{background-color:#ffffff26}.hb-image-preview__tool-label{display:inline-flex;font-size:13px;min-width:48px;padding:0 4px}.hb-image-preview__close,.hb-image-preview__tool-label{align-items:center;color:var(--hb-color-text-inverse,#fff);justify-content:center}.hb-image-preview__close{background-color:#0006;border:none;border-radius:50%;cursor:pointer;display:flex;font-size:28px;height:40px;line-height:1;position:absolute;right:24px;top:24px;transition:background-color var(--hb-transition-duration,.2s)ease;width:40px}.hb-image-preview__close:hover{background-color:#0009}@property --tw-rotate-x{syntax:\"*\";inherits:false}@property --tw-rotate-y{syntax:\"*\";inherits:false}@property --tw-rotate-z{syntax:\"*\";inherits:false}@property --tw-skew-x{syntax:\"*\";inherits:false}@property --tw-skew-y{syntax:\"*\";inherits:false}@property --tw-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:\"*\";inherits:false}@property --tw-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:\"*\";inherits:false}@property --tw-inset-shadow-alpha{syntax:\"<percentage>\";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:\"*\";inherits:false}@property --tw-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:\"*\";inherits:false}@property --tw-inset-ring-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:\"*\";inherits:false}@property --tw-ring-offset-width{syntax:\"<length>\";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:\"*\";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:\"*\";inherits:false;initial-value:0 0 #0000}";
|
|
4
|
+
const HbImagePreviewStyle0 = imagePreviewCss;
|
|
5
|
+
|
|
6
|
+
const ImagePreview = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
this.hbClose = createEvent(this, "hbClose", 7);
|
|
10
|
+
this.hbChange = createEvent(this, "hbChange", 7);
|
|
11
|
+
}
|
|
12
|
+
get el() { return getElement(this); }
|
|
13
|
+
/** 是否显示预览(受控,可双向) */
|
|
14
|
+
modelValue = false;
|
|
15
|
+
/** 单图源(srcList 为空时使用) */
|
|
16
|
+
src = '';
|
|
17
|
+
/** 多图源列表 */
|
|
18
|
+
srcList = [];
|
|
19
|
+
/** 多图当前索引 */
|
|
20
|
+
current = 0;
|
|
21
|
+
/** 单次缩放步长 */
|
|
22
|
+
zoomStep = 0.2;
|
|
23
|
+
/** 最小缩放比例 */
|
|
24
|
+
minZoom = 0.5;
|
|
25
|
+
/** 最大缩放比例 */
|
|
26
|
+
maxZoom = 3;
|
|
27
|
+
/** 关闭事件 */
|
|
28
|
+
hbClose;
|
|
29
|
+
/** 切换事件,detail 为 { src, index } */
|
|
30
|
+
hbChange;
|
|
31
|
+
/** 当前缩放比例 */
|
|
32
|
+
zoom = 1;
|
|
33
|
+
/** 当前旋转角度 */
|
|
34
|
+
rotate = 0;
|
|
35
|
+
keyDownHandler = (e) => {
|
|
36
|
+
if (!this.modelValue)
|
|
37
|
+
return;
|
|
38
|
+
if (e.key === 'Escape') {
|
|
39
|
+
this.close();
|
|
40
|
+
}
|
|
41
|
+
else if (e.key === 'ArrowLeft') {
|
|
42
|
+
this.prev();
|
|
43
|
+
}
|
|
44
|
+
else if (e.key === 'ArrowRight') {
|
|
45
|
+
this.next();
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
handleVisibleChange(newVal) {
|
|
49
|
+
if (newVal) {
|
|
50
|
+
// 打开时重置缩放与旋转
|
|
51
|
+
this.zoom = 1;
|
|
52
|
+
this.rotate = 0;
|
|
53
|
+
document.addEventListener('keydown', this.keyDownHandler);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
document.removeEventListener('keydown', this.keyDownHandler);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
handleCurrentChange() {
|
|
60
|
+
// 切换图片时重置变换
|
|
61
|
+
this.zoom = 1;
|
|
62
|
+
this.rotate = 0;
|
|
63
|
+
}
|
|
64
|
+
componentDidLoad() {
|
|
65
|
+
if (this.modelValue) {
|
|
66
|
+
document.addEventListener('keydown', this.keyDownHandler);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
disconnectedCallback() {
|
|
70
|
+
document.removeEventListener('keydown', this.keyDownHandler);
|
|
71
|
+
}
|
|
72
|
+
/** 实际可切换的图片列表 */
|
|
73
|
+
get imageList() {
|
|
74
|
+
if (this.srcList && this.srcList.length > 0) {
|
|
75
|
+
return this.srcList;
|
|
76
|
+
}
|
|
77
|
+
return this.src ? [this.src] : [];
|
|
78
|
+
}
|
|
79
|
+
get currentIndex() {
|
|
80
|
+
const list = this.imageList;
|
|
81
|
+
if (list.length === 0)
|
|
82
|
+
return 0;
|
|
83
|
+
if (this.current < 0)
|
|
84
|
+
return 0;
|
|
85
|
+
if (this.current >= list.length)
|
|
86
|
+
return list.length - 1;
|
|
87
|
+
return this.current;
|
|
88
|
+
}
|
|
89
|
+
get currentSrc() {
|
|
90
|
+
const list = this.imageList;
|
|
91
|
+
if (list.length === 0)
|
|
92
|
+
return '';
|
|
93
|
+
return list[this.currentIndex] || '';
|
|
94
|
+
}
|
|
95
|
+
get isMulti() {
|
|
96
|
+
return this.imageList.length > 1;
|
|
97
|
+
}
|
|
98
|
+
close = () => {
|
|
99
|
+
this.modelValue = false;
|
|
100
|
+
this.hbClose.emit();
|
|
101
|
+
};
|
|
102
|
+
emitChange() {
|
|
103
|
+
this.hbChange.emit({ src: this.currentSrc, index: this.currentIndex });
|
|
104
|
+
}
|
|
105
|
+
next = () => {
|
|
106
|
+
const list = this.imageList;
|
|
107
|
+
if (list.length <= 1)
|
|
108
|
+
return;
|
|
109
|
+
this.current = (this.currentIndex + 1) % list.length;
|
|
110
|
+
this.emitChange();
|
|
111
|
+
};
|
|
112
|
+
prev = () => {
|
|
113
|
+
const list = this.imageList;
|
|
114
|
+
if (list.length <= 1)
|
|
115
|
+
return;
|
|
116
|
+
this.current = (this.currentIndex - 1 + list.length) % list.length;
|
|
117
|
+
this.emitChange();
|
|
118
|
+
};
|
|
119
|
+
zoomIn = () => {
|
|
120
|
+
const next = Math.min(this.zoom + this.zoomStep, this.maxZoom);
|
|
121
|
+
this.zoom = Math.round(next * 100) / 100;
|
|
122
|
+
};
|
|
123
|
+
zoomOut = () => {
|
|
124
|
+
const next = Math.max(this.zoom - this.zoomStep, this.minZoom);
|
|
125
|
+
this.zoom = Math.round(next * 100) / 100;
|
|
126
|
+
};
|
|
127
|
+
handleReset = () => {
|
|
128
|
+
this.zoom = 1;
|
|
129
|
+
this.rotate = 0;
|
|
130
|
+
};
|
|
131
|
+
handleRotateLeft = () => {
|
|
132
|
+
this.rotate = this.rotate - 90;
|
|
133
|
+
};
|
|
134
|
+
handleRotateRight = () => {
|
|
135
|
+
this.rotate = this.rotate + 90;
|
|
136
|
+
};
|
|
137
|
+
/** 滚轮缩放 */
|
|
138
|
+
handleWheel = (e) => {
|
|
139
|
+
// TODO: 平滑缩放 + 图片中心锚点;当前实现为基础步长缩放
|
|
140
|
+
e.preventDefault();
|
|
141
|
+
if (e.deltaY < 0) {
|
|
142
|
+
this.zoomIn();
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
this.zoomOut();
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
/** 点击遮罩空白处关闭 */
|
|
149
|
+
handleOverlayClick = (e) => {
|
|
150
|
+
if (e.target === e.currentTarget) {
|
|
151
|
+
this.close();
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
stopAndClose = (e) => {
|
|
155
|
+
e.stopPropagation();
|
|
156
|
+
this.close();
|
|
157
|
+
};
|
|
158
|
+
render() {
|
|
159
|
+
if (!this.modelValue)
|
|
160
|
+
return null;
|
|
161
|
+
const imgStyle = {
|
|
162
|
+
transform: `scale(${this.zoom}) rotate(${this.rotate}deg)`,
|
|
163
|
+
};
|
|
164
|
+
return (h("div", { class: "hb-image-preview", onClick: this.handleOverlayClick }, h("div", { class: "hb-image-preview__wrapper" }, h("img", { class: "hb-image-preview__img", src: this.currentSrc, alt: "", style: imgStyle, onWheel: this.handleWheel })), this.isMulti && (h("button", { type: "button", class: "hb-image-preview__btn hb-image-preview__btn--prev", onClick: this.prev, "aria-label": "\u4E0A\u4E00\u5F20" }, "\u2039")), this.isMulti && (h("button", { type: "button", class: "hb-image-preview__btn hb-image-preview__btn--next", onClick: this.next, "aria-label": "\u4E0B\u4E00\u5F20" }, "\u203A")), h("div", { class: "hb-image-preview__toolbar", onClick: (e) => e.stopPropagation() }, h("button", { type: "button", class: "hb-image-preview__tool", onClick: this.zoomOut, "aria-label": "\u7F29\u5C0F" }, "\uFF0D"), h("span", { class: "hb-image-preview__tool-label" }, Math.round(this.zoom * 100), "%"), h("button", { type: "button", class: "hb-image-preview__tool", onClick: this.zoomIn, "aria-label": "\u653E\u5927" }, "\uFF0B"), h("button", { type: "button", class: "hb-image-preview__tool", onClick: this.handleRotateLeft, "aria-label": "\u5DE6\u65CB" }, "\u21BA"), h("button", { type: "button", class: "hb-image-preview__tool", onClick: this.handleRotateRight, "aria-label": "\u53F3\u65CB" }, "\u21BB"), h("button", { type: "button", class: "hb-image-preview__tool", onClick: this.handleReset, "aria-label": "\u91CD\u7F6E" }, "\u27F2"), h("button", { type: "button", class: "hb-image-preview__tool", onClick: this.stopAndClose, "aria-label": "\u5173\u95ED" }, "\u2715")), h("button", { type: "button", class: "hb-image-preview__close", onClick: this.stopAndClose, "aria-label": "\u5173\u95ED" }, "\u00D7")));
|
|
165
|
+
}
|
|
166
|
+
static get watchers() { return {
|
|
167
|
+
"modelValue": ["handleVisibleChange"],
|
|
168
|
+
"current": ["handleCurrentChange"]
|
|
169
|
+
}; }
|
|
170
|
+
};
|
|
171
|
+
ImagePreview.style = HbImagePreviewStyle0;
|
|
172
|
+
|
|
173
|
+
export { ImagePreview as hb_image_preview };
|
|
174
|
+
|
|
175
|
+
//# sourceMappingURL=hb-image-preview.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-image-preview.entry.js","mappings":"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","names":[],"sources":["src/components/ImagePreview/image-preview.css?tag=hb-image-preview&encapsulation=shadow","src/components/ImagePreview/ImagePreview.tsx"],"sourcesContent":[":host {\n display: contents;\n}\n\n.hb-image-preview {\n position: fixed;\n inset: 0;\n z-index: var(--hb-z-index-modal-mask, 2000);\n display: flex;\n align-items: center;\n justify-content: center;\n background-color: var(--hb-color-bg-mask, rgba(0, 0, 0, 0.5));\n}\n\n.hb-image-preview__wrapper {\n max-width: 90vw;\n max-height: 90vh;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.hb-image-preview__img {\n max-width: 90vw;\n max-height: 90vh;\n object-fit: contain;\n user-select: none;\n transition: transform 0.2s ease;\n pointer-events: none;\n}\n\n.hb-image-preview__btn {\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n width: 44px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.4);\n color: var(--hb-color-text-inverse, #ffffff);\n font-size: 28px;\n line-height: 1;\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) ease;\n}\n\n.hb-image-preview__btn:hover {\n background-color: rgba(0, 0, 0, 0.6);\n}\n\n.hb-image-preview__btn--prev {\n left: 24px;\n}\n\n.hb-image-preview__btn--next {\n right: 24px;\n}\n\n.hb-image-preview__toolbar {\n position: absolute;\n bottom: 32px;\n left: 50%;\n transform: translateX(-50%);\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 8px 12px;\n border-radius: var(--hb-border-radius-base, 4px);\n background-color: rgba(0, 0, 0, 0.5);\n color: var(--hb-color-text-inverse, #ffffff);\n}\n\n.hb-image-preview__tool {\n min-width: 32px;\n height: 32px;\n padding: 0 8px;\n border: none;\n border-radius: var(--hb-border-radius-sm, 2px);\n background: transparent;\n color: var(--hb-color-text-inverse, #ffffff);\n font-size: 16px;\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) ease;\n}\n\n.hb-image-preview__tool:hover {\n background-color: rgba(255, 255, 255, 0.15);\n}\n\n.hb-image-preview__tool-label {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 48px;\n padding: 0 4px;\n font-size: 13px;\n color: var(--hb-color-text-inverse, #ffffff);\n}\n\n.hb-image-preview__close {\n position: absolute;\n top: 24px;\n right: 24px;\n width: 40px;\n height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n border: none;\n border-radius: 50%;\n background-color: rgba(0, 0, 0, 0.4);\n color: var(--hb-color-text-inverse, #ffffff);\n font-size: 28px;\n line-height: 1;\n cursor: pointer;\n transition: background-color var(--hb-transition-duration, 0.2s) ease;\n}\n\n.hb-image-preview__close:hover {\n background-color: rgba(0, 0, 0, 0.6);\n}\n","import { Component, h, Prop, Event, EventEmitter, State, Watch, Element } from '@stencil/core';\n\nexport interface ImagePreviewChangeDetail {\n src: string;\n index: number;\n}\n\n/**\n * ImagePreview 图片预览组件\n * 点击图片后展示大图,支持缩放、旋转、多图切换\n */\n@Component({\n tag: 'hb-image-preview',\n styleUrl: 'image-preview.css',\n shadow: true,\n})\nexport class ImagePreview {\n @Element() el: HTMLElement;\n\n /** 是否显示预览(受控,可双向) */\n @Prop({ mutable: true }) modelValue: boolean = false;\n\n /** 单图源(srcList 为空时使用) */\n @Prop() src: string = '';\n\n /** 多图源列表 */\n @Prop() srcList: string[] = [];\n\n /** 多图当前索引 */\n @Prop({ mutable: true }) current: number = 0;\n\n /** 单次缩放步长 */\n @Prop() zoomStep: number = 0.2;\n\n /** 最小缩放比例 */\n @Prop() minZoom: number = 0.5;\n\n /** 最大缩放比例 */\n @Prop() maxZoom: number = 3;\n\n /** 关闭事件 */\n @Event() hbClose: EventEmitter<void>;\n\n /** 切换事件,detail 为 { src, index } */\n @Event() hbChange: EventEmitter<ImagePreviewChangeDetail>;\n\n /** 当前缩放比例 */\n @State() zoom: number = 1;\n\n /** 当前旋转角度 */\n @State() rotate: number = 0;\n\n private keyDownHandler = (e: KeyboardEvent) => {\n if (!this.modelValue) return;\n if (e.key === 'Escape') {\n this.close();\n } else if (e.key === 'ArrowLeft') {\n this.prev();\n } else if (e.key === 'ArrowRight') {\n this.next();\n }\n };\n\n @Watch('modelValue')\n handleVisibleChange(newVal: boolean) {\n if (newVal) {\n // 打开时重置缩放与旋转\n this.zoom = 1;\n this.rotate = 0;\n document.addEventListener('keydown', this.keyDownHandler);\n } else {\n document.removeEventListener('keydown', this.keyDownHandler);\n }\n }\n\n @Watch('current')\n handleCurrentChange() {\n // 切换图片时重置变换\n this.zoom = 1;\n this.rotate = 0;\n }\n\n componentDidLoad() {\n if (this.modelValue) {\n document.addEventListener('keydown', this.keyDownHandler);\n }\n }\n\n disconnectedCallback() {\n document.removeEventListener('keydown', this.keyDownHandler);\n }\n\n /** 实际可切换的图片列表 */\n private get imageList(): string[] {\n if (this.srcList && this.srcList.length > 0) {\n return this.srcList;\n }\n return this.src ? [this.src] : [];\n }\n\n private get currentIndex(): number {\n const list = this.imageList;\n if (list.length === 0) return 0;\n if (this.current < 0) return 0;\n if (this.current >= list.length) return list.length - 1;\n return this.current;\n }\n\n private get currentSrc(): string {\n const list = this.imageList;\n if (list.length === 0) return '';\n return list[this.currentIndex] || '';\n }\n\n private get isMulti(): boolean {\n return this.imageList.length > 1;\n }\n\n private close = () => {\n this.modelValue = false;\n this.hbClose.emit();\n };\n\n private emitChange() {\n this.hbChange.emit({ src: this.currentSrc, index: this.currentIndex });\n }\n\n private next = () => {\n const list = this.imageList;\n if (list.length <= 1) return;\n this.current = (this.currentIndex + 1) % list.length;\n this.emitChange();\n };\n\n private prev = () => {\n const list = this.imageList;\n if (list.length <= 1) return;\n this.current = (this.currentIndex - 1 + list.length) % list.length;\n this.emitChange();\n };\n\n private zoomIn = () => {\n const next = Math.min(this.zoom + this.zoomStep, this.maxZoom);\n this.zoom = Math.round(next * 100) / 100;\n };\n\n private zoomOut = () => {\n const next = Math.max(this.zoom - this.zoomStep, this.minZoom);\n this.zoom = Math.round(next * 100) / 100;\n };\n\n private handleReset = () => {\n this.zoom = 1;\n this.rotate = 0;\n };\n\n private handleRotateLeft = () => {\n this.rotate = this.rotate - 90;\n };\n\n private handleRotateRight = () => {\n this.rotate = this.rotate + 90;\n };\n\n /** 滚轮缩放 */\n private handleWheel = (e: WheelEvent) => {\n // TODO: 平滑缩放 + 图片中心锚点;当前实现为基础步长缩放\n e.preventDefault();\n if (e.deltaY < 0) {\n this.zoomIn();\n } else {\n this.zoomOut();\n }\n };\n\n /** 点击遮罩空白处关闭 */\n private handleOverlayClick = (e: MouseEvent) => {\n if (e.target === e.currentTarget) {\n this.close();\n }\n };\n\n private stopAndClose = (e: MouseEvent) => {\n e.stopPropagation();\n this.close();\n };\n\n render() {\n if (!this.modelValue) return null;\n\n const imgStyle = {\n transform: `scale(${this.zoom}) rotate(${this.rotate}deg)`,\n };\n\n return (\n <div class=\"hb-image-preview\" onClick={this.handleOverlayClick}>\n <div class=\"hb-image-preview__wrapper\">\n <img\n class=\"hb-image-preview__img\"\n src={this.currentSrc}\n alt=\"\"\n style={imgStyle}\n onWheel={this.handleWheel}\n />\n </div>\n\n {this.isMulti && (\n <button\n type=\"button\"\n class=\"hb-image-preview__btn hb-image-preview__btn--prev\"\n onClick={this.prev}\n aria-label=\"上一张\"\n >\n ‹\n </button>\n )}\n {this.isMulti && (\n <button\n type=\"button\"\n class=\"hb-image-preview__btn hb-image-preview__btn--next\"\n onClick={this.next}\n aria-label=\"下一张\"\n >\n ›\n </button>\n )}\n\n <div class=\"hb-image-preview__toolbar\" onClick={(e) => e.stopPropagation()}>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.zoomOut} aria-label=\"缩小\">\n -\n </button>\n <span class=\"hb-image-preview__tool-label\">{Math.round(this.zoom * 100)}%</span>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.zoomIn} aria-label=\"放大\">\n +\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.handleRotateLeft} aria-label=\"左旋\">\n ↺\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.handleRotateRight} aria-label=\"右旋\">\n ↻\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.handleReset} aria-label=\"重置\">\n ⟲\n </button>\n <button type=\"button\" class=\"hb-image-preview__tool\" onClick={this.stopAndClose} aria-label=\"关闭\">\n ✕\n </button>\n </div>\n\n <button\n type=\"button\"\n class=\"hb-image-preview__close\"\n onClick={this.stopAndClose}\n aria-label=\"关闭\"\n >\n ×\n </button>\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { r as registerInstance, h } from './index-fdf7135e.js';
|
|
2
|
+
|
|
3
|
+
const imageCss = "/*! 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:inline-block}.hb-image{background:var(--hb-color-fill-quaternary);display:inline-flex;overflow:hidden;position:relative}.hb-image__inner{height:100%;opacity:0;transition:opacity .3s;width:100%}.hb-image__inner--loaded{opacity:1}.hb-image__error{color:var(--hb-color-text-secondary);font-size:var(--hb-font-size-sm);height:100%;width:100%}.hb-image__error,.hb-image__preview{align-items:center;display:flex;justify-content:center}.hb-image__preview{background:#000c;cursor:zoom-out;inset:0;position:fixed;z-index:2000}.hb-image__preview-img{max-height:90%;max-width:90%;object-fit:contain}@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 HbImageStyle0 = imageCss;
|
|
5
|
+
|
|
6
|
+
const Image = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
}
|
|
10
|
+
src = '';
|
|
11
|
+
alt = '';
|
|
12
|
+
width;
|
|
13
|
+
height;
|
|
14
|
+
fit = 'fill';
|
|
15
|
+
lazy = false;
|
|
16
|
+
preview = false;
|
|
17
|
+
radius;
|
|
18
|
+
loaded = false;
|
|
19
|
+
error = false;
|
|
20
|
+
previewVisible = false;
|
|
21
|
+
handleLoad = () => { this.loaded = true; };
|
|
22
|
+
handleError = () => { this.error = true; };
|
|
23
|
+
render() {
|
|
24
|
+
return (h("div", { key: 'c6ededfba4d6a1d4b9356c1b18dc7b19aa8c8631', class: "hb-image", style: { width: this.width, height: this.height, borderRadius: this.radius } }, !this.error ? (h("img", { src: this.src, alt: this.alt, class: { 'hb-image__inner': true, 'hb-image__inner--loaded': this.loaded }, style: { objectFit: this.fit }, loading: this.lazy ? 'lazy' : undefined, onLoad: this.handleLoad, onError: this.handleError, onClick: () => this.preview && (this.previewVisible = true) })) : (h("div", { class: "hb-image__error" }, "\u56FE\u7247\u52A0\u8F7D\u5931\u8D25")), this.previewVisible && (h("div", { key: 'b32748bc6a54360e9cfab47ee06671f4568bae8c', class: "hb-image__preview", onClick: () => { this.previewVisible = false; } }, h("img", { key: '7bcc5a1f9b34756827fb8566a953296f808febea', src: this.src, alt: this.alt, class: "hb-image__preview-img" })))));
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
Image.style = HbImageStyle0;
|
|
28
|
+
|
|
29
|
+
export { Image as hb_image };
|
|
30
|
+
|
|
31
|
+
//# sourceMappingURL=hb-image.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-image.entry.js","mappings":";;AAAA,MAAM,QAAQ,GAAG,usMAAusM,CAAC;AACztM,sBAAe,QAAQ;;MCEV,KAAK;;;;IACR,GAAG,GAAW,EAAE,CAAC;IACjB,GAAG,GAAW,EAAE,CAAC;IACjB,KAAK,CAAU;IACf,MAAM,CAAU;IAChB,GAAG,GAAyD,MAAM,CAAC;IACnE,IAAI,GAAY,KAAK,CAAC;IACtB,OAAO,GAAY,KAAK,CAAC;IACzB,MAAM,CAAU;IAEf,MAAM,GAAY,KAAK,CAAC;IACxB,KAAK,GAAY,KAAK,CAAC;IACvB,cAAc,GAAY,KAAK,CAAC;IAEjC,UAAU,GAAG,QAAQ,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;IAC3C,WAAW,GAAG,QAAQ,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC;IAEnD,MAAM;QACJ,QACE,4DAAK,KAAK,EAAC,UAAU,EAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,IAC/F,CAAC,IAAI,CAAC,KAAK,IACV,WACE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAC5B,KAAK,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,EAC1E,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAC9B,OAAO,EAAE,IAAI,CAAC,IAAI,GAAG,MAAM,GAAG,SAAS,EACvC,MAAM,EAAE,IAAI,CAAC,UAAU,EACvB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,OAAO,EAAE,MAAM,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAC3D,KAEF,WAAK,KAAK,EAAC,iBAAiB,2CAAa,CAC1C,EACA,IAAI,CAAC,cAAc,KAClB,4DAAK,KAAK,EAAC,mBAAmB,EAAC,OAAO,EAAE,QAAQ,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,EAAE,IAC5E,4DAAK,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAC,uBAAuB,GAAG,CAC/D,CACP,CACG,EACN;KACH;;;;;;","names":[],"sources":["src/components/Image/image.css?tag=hb-image&encapsulation=shadow","src/components/Image/Image.tsx"],"sourcesContent":[":host { display: inline-block; }\n.hb-image { position: relative; display: inline-flex; overflow: hidden; background: var(--hb-color-fill-quaternary); }\n.hb-image__inner { width: 100%; height: 100%; opacity: 0; transition: opacity 0.3s; }\n.hb-image__inner--loaded { opacity: 1; }\n.hb-image__error { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; font-size: var(--hb-font-size-sm); color: var(--hb-color-text-secondary); }\n.hb-image__preview { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.8); display: flex; align-items: center; justify-content: center; z-index: 2000; cursor: zoom-out; }\n.hb-image__preview-img { max-width: 90%; max-height: 90%; object-fit: contain; }\n","import { Component, h, Prop, State } from '@stencil/core';\n\n@Component({ tag: 'hb-image', styleUrl: 'image.css', shadow: true })\nexport class Image {\n @Prop() src: string = '';\n @Prop() alt: string = '';\n @Prop() width?: string;\n @Prop() height?: string;\n @Prop() fit: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down' = 'fill';\n @Prop() lazy: boolean = false;\n @Prop() preview: boolean = false;\n @Prop() radius?: string;\n\n @State() loaded: boolean = false;\n @State() error: boolean = false;\n @State() previewVisible: boolean = false;\n\n private handleLoad = () => { this.loaded = true; };\n private handleError = () => { this.error = true; };\n\n render() {\n return (\n <div class=\"hb-image\" style={{ width: this.width, height: this.height, borderRadius: this.radius }}>\n {!this.error ? (\n <img\n src={this.src} alt={this.alt}\n class={{ 'hb-image__inner': true, 'hb-image__inner--loaded': this.loaded }}\n style={{ objectFit: this.fit }}\n loading={this.lazy ? 'lazy' : undefined}\n onLoad={this.handleLoad}\n onError={this.handleError}\n onClick={() => this.preview && (this.previewVisible = true)}\n />\n ) : (\n <div class=\"hb-image__error\">图片加载失败</div>\n )}\n {this.previewVisible && (\n <div class=\"hb-image__preview\" onClick={() => { this.previewVisible = false; }}>\n <img src={this.src} alt={this.alt} class=\"hb-image__preview-img\" />\n </div>\n )}\n </div>\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import { r as registerInstance, c as createEvent, h } from './index-fdf7135e.js';
|
|
2
|
+
|
|
3
|
+
const inputNumberCss = "/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:host,:root{--font-sans:ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}} /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;:host{--hb-input-number-font-size:14px;--hb-input-number-height:32px;--hb-input-number-border-color:var(--hb-border-color,#dcdfe6);--hb-input-number-border-color-hover:var(--hb-color-primary);--hb-input-number-bg-color:var(--hb-color-white,#fff);display:inline-block;position:relative}.hb-input-number{display:inline-block;position:relative;width:180px}.hb-input-number,.hb-input-number__inner{line-height:var(--hb-input-number-height)}.hb-input-number__inner{-webkit-appearance:none;background-color:var(--hb-input-number-bg-color);border:1px solid var(--hb-input-number-border-color);border-radius:4px;box-sizing:border-box;color:var(--hb-color-text-regular,#606266);display:block;font-size:inherit;height:var(--hb-input-number-height);outline:none;padding:0 50px 0 15px;text-align:left;transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.hb-input-number--without-controls .hb-input-number__inner{padding:0 15px}.hb-input-number--controls-right .hb-input-number__inner{padding:0 15px 0 50px}.hb-input-number__inner:focus,.hb-input-number__inner:hover:not(:disabled){border-color:var(--hb-input-number-border-color-hover)}.hb-input-number__inner:disabled{background-color:var(--hb-fill-color-light,#f5f7fa);border-color:var(--hb-input-number-border-color);color:var(--hb-color-text-disabled,#c0c4cc);cursor:not-allowed}.hb-input-number__decrease,.hb-input-number__increase{align-items:center;background:var(--hb-fill-color-light,#f5f7fa);color:var(--hb-color-text-regular,#606266);cursor:pointer;display:flex;font-size:13px;height:calc(100% - 2px);justify-content:center;position:absolute;text-align:center;top:1px;transition:all .2s;-webkit-user-select:none;user-select:none;width:35px;z-index:1}.hb-input-number__decrease:hover:not(.hb-input-number__decrease--disabled),.hb-input-number__increase:hover:not(.hb-input-number__increase--disabled){color:var(--hb-color-primary)}.hb-input-number__decrease--disabled,.hb-input-number__increase--disabled{color:var(--hb-color-text-disabled,#c0c4cc);cursor:not-allowed}.hb-input-number__increase{border-radius:0 4px 4px 0;right:1px}.hb-input-number__decrease,.hb-input-number__increase{border-left:1px solid var(--hb-input-number-border-color)}.hb-input-number__decrease{border-radius:0;right:36px}.hb-input-number--controls-right .hb-input-number__increase{border-radius:0 4px 4px 0;right:1px}.hb-input-number--controls-right .hb-input-number__decrease{border-radius:0;right:36px}.hb-input-number__controls{background:var(--hb-fill-color-light,#f5f7fa);border-left:1px solid var(--hb-input-number-border-color);border-radius:0 4px 4px 0;height:calc(100% - 2px);position:absolute;right:1px;top:1px;width:35px}.hb-input-number--controls-right .hb-input-number__controls{border-left:none;border-radius:4px 0 0 4px;border-right:1px solid var(--hb-input-number-border-color);left:1px;right:auto}.hb-input-number--controls-right .hb-input-number__controls .hb-input-number__increase{border:none;border-bottom:1px solid var(--hb-input-number-border-color);border-radius:0;position:static}.hb-input-number--controls-right .hb-input-number__controls .hb-input-number__decrease{border:none;border-radius:0 0 0 4px;position:static}.hb-input-number--small{width:150px}.hb-input-number--small .hb-input-number__inner{font-size:12px;height:24px;line-height:24px;padding:0 40px 0 12px}.hb-input-number--large{width:200px}.hb-input-number--large .hb-input-number__inner{font-size:16px;height:40px;line-height:40px;padding:0 55px 0 18px}.hb-input-number--disabled{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 HbInputNumberStyle0 = inputNumberCss;
|
|
5
|
+
|
|
6
|
+
const InputNumber = class {
|
|
7
|
+
constructor(hostRef) {
|
|
8
|
+
registerInstance(this, hostRef);
|
|
9
|
+
this.hbChange = createEvent(this, "hbChange", 7);
|
|
10
|
+
this.hbInput = createEvent(this, "hbInput", 7);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* 绑定值
|
|
14
|
+
*/
|
|
15
|
+
modelValue = 0;
|
|
16
|
+
/**
|
|
17
|
+
* 计数器尺寸
|
|
18
|
+
*/
|
|
19
|
+
size = 'default';
|
|
20
|
+
/**
|
|
21
|
+
* 是否禁用
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
disabled = false;
|
|
25
|
+
/**
|
|
26
|
+
* 是否只读
|
|
27
|
+
* @default false
|
|
28
|
+
*/
|
|
29
|
+
readonly = false;
|
|
30
|
+
/**
|
|
31
|
+
* 最小值
|
|
32
|
+
* @default -Infinity
|
|
33
|
+
*/
|
|
34
|
+
min = -Infinity;
|
|
35
|
+
/**
|
|
36
|
+
* 最大值
|
|
37
|
+
* @default Infinity
|
|
38
|
+
*/
|
|
39
|
+
max = Infinity;
|
|
40
|
+
/**
|
|
41
|
+
* 计数器步长
|
|
42
|
+
* @default 1
|
|
43
|
+
*/
|
|
44
|
+
step = 1;
|
|
45
|
+
/**
|
|
46
|
+
* 精度
|
|
47
|
+
*/
|
|
48
|
+
precision;
|
|
49
|
+
/**
|
|
50
|
+
* 是否只能输入 step 的倍数
|
|
51
|
+
* @default false
|
|
52
|
+
*/
|
|
53
|
+
stepStrictly = false;
|
|
54
|
+
/**
|
|
55
|
+
* 是否使用控制按钮
|
|
56
|
+
* @default true
|
|
57
|
+
*/
|
|
58
|
+
controls = true;
|
|
59
|
+
/**
|
|
60
|
+
* 控制按钮位置
|
|
61
|
+
*/
|
|
62
|
+
controlsPosition = '';
|
|
63
|
+
/**
|
|
64
|
+
* 原生 name 属性
|
|
65
|
+
*/
|
|
66
|
+
name;
|
|
67
|
+
/**
|
|
68
|
+
* 原生 id 属性
|
|
69
|
+
*/
|
|
70
|
+
inputId;
|
|
71
|
+
/**
|
|
72
|
+
* 原生 placeholder 属性
|
|
73
|
+
*/
|
|
74
|
+
placeholder;
|
|
75
|
+
currentValue = 0;
|
|
76
|
+
/**
|
|
77
|
+
* 值改变事件
|
|
78
|
+
*/
|
|
79
|
+
hbChange;
|
|
80
|
+
/**
|
|
81
|
+
* 输入事件
|
|
82
|
+
*/
|
|
83
|
+
hbInput;
|
|
84
|
+
componentDidLoad() {
|
|
85
|
+
this.currentValue = this.modelValue;
|
|
86
|
+
}
|
|
87
|
+
/** 受控模式:外部修改 modelValue 时同步内部 currentValue,保证 UI 与值一致 */
|
|
88
|
+
handleModelValueChange() {
|
|
89
|
+
this.currentValue = this.modelValue;
|
|
90
|
+
}
|
|
91
|
+
formatValue(value) {
|
|
92
|
+
if (this.precision !== undefined) {
|
|
93
|
+
return Number(value.toFixed(this.precision));
|
|
94
|
+
}
|
|
95
|
+
return value;
|
|
96
|
+
}
|
|
97
|
+
clampValue(value) {
|
|
98
|
+
let clamped = Math.max(this.min, Math.min(this.max, value));
|
|
99
|
+
if (this.stepStrictly) {
|
|
100
|
+
const step = this.step;
|
|
101
|
+
clamped = Math.round(clamped / step) * step;
|
|
102
|
+
}
|
|
103
|
+
return this.formatValue(clamped);
|
|
104
|
+
}
|
|
105
|
+
handleInput = (e) => {
|
|
106
|
+
const target = e.target;
|
|
107
|
+
const value = parseFloat(target.value);
|
|
108
|
+
if (isNaN(value)) {
|
|
109
|
+
this.currentValue = this.min;
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
this.currentValue = this.clampValue(value);
|
|
113
|
+
}
|
|
114
|
+
this.modelValue = this.currentValue;
|
|
115
|
+
this.hbInput.emit(this.currentValue);
|
|
116
|
+
};
|
|
117
|
+
handleChange = () => {
|
|
118
|
+
this.hbChange.emit(this.currentValue);
|
|
119
|
+
};
|
|
120
|
+
increase = () => {
|
|
121
|
+
if (this.disabled || this.readonly)
|
|
122
|
+
return;
|
|
123
|
+
const newValue = this.clampValue(this.currentValue + this.step);
|
|
124
|
+
this.currentValue = newValue;
|
|
125
|
+
this.modelValue = newValue;
|
|
126
|
+
this.hbChange.emit(newValue);
|
|
127
|
+
};
|
|
128
|
+
decrease = () => {
|
|
129
|
+
if (this.disabled || this.readonly)
|
|
130
|
+
return;
|
|
131
|
+
const newValue = this.clampValue(this.currentValue - this.step);
|
|
132
|
+
this.currentValue = newValue;
|
|
133
|
+
this.modelValue = newValue;
|
|
134
|
+
this.hbChange.emit(newValue);
|
|
135
|
+
};
|
|
136
|
+
render() {
|
|
137
|
+
return (h("div", { key: '490fe763a00f34486cbbe6502204433071a863eb', class: {
|
|
138
|
+
'hb-input-number': true,
|
|
139
|
+
[`hb-input-number--${this.size}`]: true,
|
|
140
|
+
'hb-input-number--disabled': this.disabled,
|
|
141
|
+
'hb-input-number--controls-right': this.controlsPosition === 'right',
|
|
142
|
+
'hb-input-number--without-controls': !this.controls,
|
|
143
|
+
} }, this.controls && this.controlsPosition !== 'right' && (h("span", { key: 'a43a038a8914dbff0c8b9759c04c74fa791f2e6c', class: {
|
|
144
|
+
'hb-input-number__decrease': true,
|
|
145
|
+
'hb-input-number__decrease--disabled': this.currentValue <= this.min,
|
|
146
|
+
}, onClick: this.decrease }, "\u2212")), h("input", { key: '83a7bb1d73a709e92f31044396fdb73daed77ea9', type: "number", id: this.inputId, name: this.name, class: "hb-input-number__inner", value: this.currentValue, disabled: this.disabled, readonly: this.readonly, placeholder: this.placeholder, min: this.min, max: this.max, step: this.step, onInput: this.handleInput, onChange: this.handleChange }), this.controls && this.controlsPosition === 'right' && (h("span", { key: 'e202c7b06c991550eb9a5cae441ead7d82231b0f', class: "hb-input-number__controls" }, h("span", { key: '876db137bb4539e93a1f7ccb08a2fb754722a7bf', class: {
|
|
147
|
+
'hb-input-number__increase': true,
|
|
148
|
+
'hb-input-number__increase--disabled': this.currentValue >= this.max,
|
|
149
|
+
}, onClick: this.increase }, "+"), h("span", { key: '98acd918f10a7f8d3c399aa60677eac231be503b', class: {
|
|
150
|
+
'hb-input-number__decrease': true,
|
|
151
|
+
'hb-input-number__decrease--disabled': this.currentValue <= this.min,
|
|
152
|
+
}, onClick: this.decrease }, "\u2212"))), this.controls && this.controlsPosition !== 'right' && (h("span", { key: '4befdfc2a0d7ac3af63027f0947f27d866fbe158', class: {
|
|
153
|
+
'hb-input-number__increase': true,
|
|
154
|
+
'hb-input-number__increase--disabled': this.currentValue >= this.max,
|
|
155
|
+
}, onClick: this.increase }, "+"))));
|
|
156
|
+
}
|
|
157
|
+
static get watchers() { return {
|
|
158
|
+
"modelValue": ["handleModelValueChange"]
|
|
159
|
+
}; }
|
|
160
|
+
};
|
|
161
|
+
InputNumber.style = HbInputNumberStyle0;
|
|
162
|
+
|
|
163
|
+
export { InputNumber as hb_input_number };
|
|
164
|
+
|
|
165
|
+
//# sourceMappingURL=hb-input-number.entry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"hb-input-number.entry.js","mappings":"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","names":[],"sources":["src/components/InputNumber/input-number.css?tag=hb-input-number&encapsulation=shadow","src/components/InputNumber/InputNumber.tsx"],"sourcesContent":[":host {\n display: inline-block;\n position: relative;\n --hb-input-number-font-size: 14px;\n --hb-input-number-height: 32px;\n --hb-input-number-border-color: var(--hb-border-color, #dcdfe6);\n --hb-input-number-border-color-hover: var(--hb-color-primary);\n --hb-input-number-bg-color: var(--hb-color-white, #ffffff);\n}\n\n.hb-input-number {\n position: relative;\n display: inline-block;\n width: 180px;\n line-height: var(--hb-input-number-height);\n}\n\n.hb-input-number__inner {\n -webkit-appearance: none;\n background-color: var(--hb-input-number-bg-color);\n border: 1px solid var(--hb-input-number-border-color);\n border-radius: 4px;\n box-sizing: border-box;\n color: var(--hb-color-text-regular, #606266);\n display: block;\n font-size: inherit;\n height: var(--hb-input-number-height);\n line-height: var(--hb-input-number-height);\n outline: none;\n padding: 0 50px 0 15px;\n text-align: left;\n transition: border-color 0.2s cubic-bezier(0.645, 0.045, 0.355, 1);\n width: 100%;\n}\n\n.hb-input-number--without-controls .hb-input-number__inner {\n padding: 0 15px;\n}\n\n.hb-input-number--controls-right .hb-input-number__inner {\n padding: 0 15px 0 50px;\n}\n\n.hb-input-number__inner:hover:not(:disabled) {\n border-color: var(--hb-input-number-border-color-hover);\n}\n\n.hb-input-number__inner:focus {\n border-color: var(--hb-input-number-border-color-hover);\n}\n\n.hb-input-number__inner:disabled {\n background-color: var(--hb-fill-color-light, #f5f7fa);\n border-color: var(--hb-input-number-border-color);\n color: var(--hb-color-text-disabled, #c0c4cc);\n cursor: not-allowed;\n}\n\n.hb-input-number__increase,\n.hb-input-number__decrease {\n position: absolute;\n z-index: 1;\n top: 1px;\n width: 35px;\n height: calc(100% - 2px);\n text-align: center;\n background: var(--hb-fill-color-light, #f5f7fa);\n color: var(--hb-color-text-regular, #606266);\n cursor: pointer;\n font-size: 13px;\n user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: all 0.2s;\n}\n\n.hb-input-number__increase:hover:not(.hb-input-number__increase--disabled),\n.hb-input-number__decrease:hover:not(.hb-input-number__decrease--disabled) {\n color: var(--hb-color-primary);\n}\n\n.hb-input-number__increase--disabled,\n.hb-input-number__decrease--disabled {\n color: var(--hb-color-text-disabled, #c0c4cc);\n cursor: not-allowed;\n}\n\n.hb-input-number__increase {\n right: 1px;\n border-radius: 0 4px 4px 0;\n border-left: 1px solid var(--hb-input-number-border-color);\n}\n\n.hb-input-number__decrease {\n right: 36px;\n border-radius: 0;\n border-left: 1px solid var(--hb-input-number-border-color);\n}\n\n.hb-input-number--controls-right .hb-input-number__increase {\n right: 1px;\n border-radius: 0 4px 4px 0;\n}\n\n.hb-input-number--controls-right .hb-input-number__decrease {\n right: 36px;\n border-radius: 0;\n}\n\n.hb-input-number__controls {\n position: absolute;\n right: 1px;\n top: 1px;\n width: 35px;\n height: calc(100% - 2px);\n border-left: 1px solid var(--hb-input-number-border-color);\n border-radius: 0 4px 4px 0;\n background: var(--hb-fill-color-light, #f5f7fa);\n}\n\n.hb-input-number--controls-right .hb-input-number__controls {\n left: 1px;\n right: auto;\n border-left: none;\n border-right: 1px solid var(--hb-input-number-border-color);\n border-radius: 4px 0 0 4px;\n}\n\n.hb-input-number--controls-right .hb-input-number__controls .hb-input-number__increase {\n position: static;\n border: none;\n border-bottom: 1px solid var(--hb-input-number-border-color);\n border-radius: 0;\n}\n\n.hb-input-number--controls-right .hb-input-number__controls .hb-input-number__decrease {\n position: static;\n border: none;\n border-radius: 0 0 0 4px;\n}\n\n.hb-input-number--small {\n width: 150px;\n}\n\n.hb-input-number--small .hb-input-number__inner {\n height: 24px;\n line-height: 24px;\n font-size: 12px;\n padding: 0 40px 0 12px;\n}\n\n.hb-input-number--large {\n width: 200px;\n}\n\n.hb-input-number--large .hb-input-number__inner {\n height: 40px;\n line-height: 40px;\n font-size: 16px;\n padding: 0 55px 0 18px;\n}\n\n.hb-input-number--disabled {\n cursor: not-allowed;\n}\n\n","import { Component, h, Prop, Event, EventEmitter, State, Watch } from '@stencil/core';\n\n/**\n * InputNumber 数字输入框组件\n * 仅允许输入标准的数字值,可定义范围\n */\n@Component({\n tag: 'hb-input-number',\n styleUrl: 'input-number.css',\n shadow: true,\n})\nexport class InputNumber {\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue: number = 0;\n\n /**\n * 计数器尺寸\n */\n @Prop() size: 'large' | 'default' | 'small' = 'default';\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 是否只读\n * @default false\n */\n @Prop() readonly: boolean = false;\n\n /**\n * 最小值\n * @default -Infinity\n */\n @Prop() min: number = -Infinity;\n\n /**\n * 最大值\n * @default Infinity\n */\n @Prop() max: number = Infinity;\n\n /**\n * 计数器步长\n * @default 1\n */\n @Prop() step: number = 1;\n\n /**\n * 精度\n */\n @Prop() precision?: number;\n\n /**\n * 是否只能输入 step 的倍数\n * @default false\n */\n @Prop() stepStrictly: boolean = false;\n\n /**\n * 是否使用控制按钮\n * @default true\n */\n @Prop() controls: boolean = true;\n\n /**\n * 控制按钮位置\n */\n @Prop() controlsPosition: '' | 'right' = '';\n\n /**\n * 原生 name 属性\n */\n @Prop() name?: string;\n\n /**\n * 原生 id 属性\n */\n @Prop() inputId?: string;\n\n /**\n * 原生 placeholder 属性\n */\n @Prop() placeholder?: string;\n\n @State() currentValue: number = 0;\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<number>;\n\n /**\n * 输入事件\n */\n @Event() hbInput: EventEmitter<number>;\n\n componentDidLoad() {\n this.currentValue = this.modelValue;\n }\n\n /** 受控模式:外部修改 modelValue 时同步内部 currentValue,保证 UI 与值一致 */\n @Watch('modelValue')\n handleModelValueChange() {\n this.currentValue = this.modelValue;\n }\n\n private formatValue(value: number): number {\n if (this.precision !== undefined) {\n return Number(value.toFixed(this.precision));\n }\n return value;\n }\n\n private clampValue(value: number): number {\n let clamped = Math.max(this.min, Math.min(this.max, value));\n \n if (this.stepStrictly) {\n const step = this.step;\n clamped = Math.round(clamped / step) * step;\n }\n \n return this.formatValue(clamped);\n }\n\n private handleInput = (e: Event) => {\n const target = e.target as HTMLInputElement;\n const value = parseFloat(target.value);\n \n if (isNaN(value)) {\n this.currentValue = this.min;\n } else {\n this.currentValue = this.clampValue(value);\n }\n \n this.modelValue = this.currentValue;\n this.hbInput.emit(this.currentValue);\n };\n\n private handleChange = () => {\n this.hbChange.emit(this.currentValue);\n };\n\n private increase = () => {\n if (this.disabled || this.readonly) return;\n const newValue = this.clampValue(this.currentValue + this.step);\n this.currentValue = newValue;\n this.modelValue = newValue;\n this.hbChange.emit(newValue);\n };\n\n private decrease = () => {\n if (this.disabled || this.readonly) return;\n const newValue = this.clampValue(this.currentValue - this.step);\n this.currentValue = newValue;\n this.modelValue = newValue;\n this.hbChange.emit(newValue);\n };\n\n render() {\n return (\n <div\n class={{\n 'hb-input-number': true,\n [`hb-input-number--${this.size}`]: true,\n 'hb-input-number--disabled': this.disabled,\n 'hb-input-number--controls-right': this.controlsPosition === 'right',\n 'hb-input-number--without-controls': !this.controls,\n }}\n >\n {this.controls && this.controlsPosition !== 'right' && (\n <span\n class={{\n 'hb-input-number__decrease': true,\n 'hb-input-number__decrease--disabled': this.currentValue <= this.min,\n }}\n onClick={this.decrease}\n >\n −\n </span>\n )}\n <input\n type=\"number\"\n id={this.inputId}\n name={this.name}\n class=\"hb-input-number__inner\"\n value={this.currentValue}\n disabled={this.disabled}\n readonly={this.readonly}\n placeholder={this.placeholder}\n min={this.min}\n max={this.max}\n step={this.step}\n onInput={this.handleInput}\n onChange={this.handleChange}\n />\n {this.controls && this.controlsPosition === 'right' && (\n <span class=\"hb-input-number__controls\">\n <span\n class={{\n 'hb-input-number__increase': true,\n 'hb-input-number__increase--disabled': this.currentValue >= this.max,\n }}\n onClick={this.increase}\n >\n +\n </span>\n <span\n class={{\n 'hb-input-number__decrease': true,\n 'hb-input-number__decrease--disabled': this.currentValue <= this.min,\n }}\n onClick={this.decrease}\n >\n −\n </span>\n </span>\n )}\n {this.controls && this.controlsPosition !== 'right' && (\n <span\n class={{\n 'hb-input-number__increase': true,\n 'hb-input-number__increase--disabled': this.currentValue >= this.max,\n }}\n onClick={this.increase}\n >\n +\n </span>\n )}\n </div>\n );\n }\n}\n\n"],"version":3}
|