huibo-ui 0.3.0 → 0.5.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/dist/cjs/{a11y-802de67a.js → a11y-4385c871.js} +17 -2
- package/dist/cjs/a11y-4385c871.js.map +1 -0
- package/dist/cjs/{date-helpers-904747ff.js → date-helpers-c05ef385.js} +10 -17
- package/dist/cjs/date-helpers-c05ef385.js.map +1 -0
- package/dist/cjs/hb-affix.cjs.entry.js +1 -1
- package/dist/cjs/hb-alert.cjs.entry.js +2 -1
- package/dist/cjs/hb-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-aside.cjs.entry.js +1 -1
- package/dist/cjs/hb-avatar.cjs.entry.js +1 -1
- package/dist/cjs/hb-backtop.cjs.entry.js +2 -2
- package/dist/cjs/hb-badge.cjs.entry.js +1 -1
- package/dist/cjs/hb-breadcrumb-item.cjs.entry.js +1 -1
- package/dist/cjs/hb-breadcrumb.cjs.entry.js +1 -1
- package/dist/cjs/hb-button.cjs.entry.js +2 -2
- package/dist/cjs/hb-calendar.cjs.entry.js +78 -10
- package/dist/cjs/hb-calendar.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-card.cjs.entry.js +1 -1
- package/dist/cjs/hb-cascader.cjs.entry.js +306 -146
- package/dist/cjs/hb-cascader.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-checkbox-group.cjs.entry.js +12 -8
- package/dist/cjs/hb-checkbox-group.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-checkbox.cjs.entry.js +9 -4
- package/dist/cjs/hb-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-collapse-item.cjs.entry.js +13 -4
- package/dist/cjs/hb-collapse-item.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-collapse.cjs.entry.js +20 -15
- package/dist/cjs/hb-collapse.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-color-picker-panel.cjs.entry.js +2 -2
- package/dist/cjs/hb-color-picker.cjs.entry.js +108 -28
- package/dist/cjs/hb-color-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-config-provider.cjs.entry.js +1 -1
- package/dist/cjs/hb-container.cjs.entry.js +2 -2
- package/dist/cjs/hb-date-picker-pane.cjs.entry.js +2 -2
- package/dist/cjs/hb-date-picker.cjs.entry.js +90 -9
- package/dist/cjs/hb-date-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-date-range-picker.cjs.entry.js +3 -3
- package/dist/cjs/hb-date-time-picker.cjs.entry.js +3 -3
- package/dist/cjs/hb-descriptions.cjs.entry.js +2 -2
- package/dist/cjs/hb-descriptions.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-dialog.cjs.entry.js +51 -12
- package/dist/cjs/hb-dialog.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-divider.cjs.entry.js +2 -2
- package/dist/cjs/hb-drawer.cjs.entry.js +34 -4
- package/dist/cjs/hb-drawer.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-dropdown.cjs.entry.js +91 -11
- package/dist/cjs/hb-dropdown.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-empty.cjs.entry.js +1 -1
- package/dist/cjs/hb-float-button.cjs.entry.js +2 -2
- package/dist/cjs/hb-footer.cjs.entry.js +1 -1
- package/dist/cjs/hb-form-item.cjs.entry.js +61 -9
- package/dist/cjs/hb-form-item.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-form.cjs.entry.js +13 -8
- package/dist/cjs/hb-form.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-header.cjs.entry.js +1 -1
- package/dist/cjs/hb-image-preview.cjs.entry.js +13 -9
- package/dist/cjs/hb-image-preview.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-image.cjs.entry.js +21 -3
- package/dist/cjs/hb-image.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-input-number.cjs.entry.js +7 -7
- package/dist/cjs/hb-input-number.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-input-tag.cjs.entry.js +2 -2
- package/dist/cjs/hb-input.cjs.entry.js +40 -3
- package/dist/cjs/hb-input.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-layout.cjs.entry.js +36 -14
- package/dist/cjs/hb-layout.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-link.cjs.entry.js +2 -2
- package/dist/cjs/hb-loading.cjs.entry.js +2 -2
- package/dist/cjs/hb-main.cjs.entry.js +1 -1
- package/dist/cjs/hb-menu-item.cjs.entry.js +14 -5
- package/dist/cjs/hb-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-menu.cjs.entry.js +3 -3
- package/dist/cjs/hb-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-message.cjs.entry.js +13 -4
- package/dist/cjs/hb-message.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-notification.cjs.entry.js +2 -2
- package/dist/cjs/hb-page-header.cjs.entry.js +1 -1
- package/dist/cjs/hb-pagination.cjs.entry.js +24 -8
- package/dist/cjs/hb-pagination.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-popconfirm.cjs.entry.js +57 -8
- package/dist/cjs/hb-popconfirm.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-popover.cjs.entry.js +37 -5
- package/dist/cjs/hb-popover.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-progress.cjs.entry.js +1 -1
- package/dist/cjs/hb-radio.cjs.entry.js +8 -3
- package/dist/cjs/hb-radio.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-rate.cjs.entry.js +46 -4
- package/dist/cjs/hb-rate.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-result.cjs.entry.js +1 -1
- package/dist/cjs/hb-row.cjs.entry.js +2 -2
- package/dist/cjs/hb-scrollbar.cjs.entry.js +5 -5
- package/dist/cjs/hb-scrollbar.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-segmented.cjs.entry.js +50 -5
- package/dist/cjs/hb-segmented.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-select.cjs.entry.js +64 -16
- package/dist/cjs/hb-select.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-slider.cjs.entry.js +186 -23
- package/dist/cjs/hb-slider.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-space.cjs.entry.js +2 -2
- package/dist/cjs/hb-statistic.cjs.entry.js +1 -1
- package/dist/cjs/hb-step.cjs.entry.js +1 -1
- package/dist/cjs/hb-steps.cjs.entry.js +30 -9
- package/dist/cjs/hb-steps.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-sub-menu.cjs.entry.js +5 -5
- package/dist/cjs/hb-switch.cjs.entry.js +9 -4
- package/dist/cjs/hb-switch.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-tab-pane.cjs.entry.js +1 -1
- package/dist/cjs/hb-table.cjs.entry.js +26 -17
- package/dist/cjs/hb-table.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-tabs.cjs.entry.js +31 -10
- package/dist/cjs/hb-tabs.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-tag.cjs.entry.js +3 -2
- package/dist/cjs/hb-tag.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-text.cjs.entry.js +2 -2
- package/dist/cjs/hb-time-picker.cjs.entry.js +14 -9
- package/dist/cjs/hb-time-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-time-select.cjs.entry.js +13 -4
- package/dist/cjs/hb-time-select.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-timeline.cjs.entry.js +1 -1
- package/dist/cjs/hb-tooltip.cjs.entry.js +43 -6
- package/dist/cjs/hb-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-transfer.cjs.entry.js +2 -2
- package/dist/cjs/hb-tree-select.cjs.entry.js +215 -23
- package/dist/cjs/hb-tree-select.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-tree.cjs.entry.js +145 -12
- package/dist/cjs/hb-tree.cjs.entry.js.map +1 -1
- package/dist/cjs/hb-upload.cjs.entry.js +3 -3
- package/dist/cjs/hb-watermark.cjs.entry.js +19 -11
- package/dist/cjs/hb-watermark.cjs.entry.js.map +1 -1
- package/dist/cjs/huibo-ui.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/transition-59f1da0f.js +34 -0
- package/dist/cjs/transition-59f1da0f.js.map +1 -0
- package/dist/collection/collection-manifest.json +3 -3
- package/dist/collection/components/Affix/Affix.js +1 -1
- package/dist/collection/components/Alert/Alert.js +2 -1
- package/dist/collection/components/Alert/Alert.js.map +1 -1
- package/dist/collection/components/Avatar/Avatar.js +1 -1
- package/dist/collection/components/Backtop/Backtop.js +2 -2
- package/dist/collection/components/Badge/Badge.js +1 -1
- package/dist/collection/components/Breadcrumb/Breadcrumb.js +1 -1
- package/dist/collection/components/Breadcrumb/BreadcrumbItem.js +1 -1
- package/dist/collection/components/Button/Button.js +2 -2
- package/dist/collection/components/Calendar/Calendar.js +84 -10
- package/dist/collection/components/Calendar/Calendar.js.map +1 -1
- package/dist/collection/components/Calendar/calendar.css +16 -0
- package/dist/collection/components/Card/Card.js +1 -1
- package/dist/collection/components/Cascader/Cascader.js +410 -194
- package/dist/collection/components/Cascader/Cascader.js.map +1 -1
- package/dist/collection/components/Cascader/cascader.css +170 -16
- package/dist/collection/components/Checkbox/Checkbox.js +9 -4
- package/dist/collection/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/collection/components/Checkbox/CheckboxGroup.js +12 -8
- package/dist/collection/components/Checkbox/CheckboxGroup.js.map +1 -1
- package/dist/collection/components/Collapse/Collapse.js +20 -15
- package/dist/collection/components/Collapse/Collapse.js.map +1 -1
- package/dist/collection/components/Collapse/CollapseItem.js +33 -4
- package/dist/collection/components/Collapse/CollapseItem.js.map +1 -1
- package/dist/collection/components/ColorPicker/ColorPicker.js +109 -28
- package/dist/collection/components/ColorPicker/ColorPicker.js.map +1 -1
- package/dist/collection/components/ColorPicker/color-picker.css +21 -3
- package/dist/collection/components/ColorPickerPanel/ColorPickerPanel.js +2 -2
- package/dist/collection/components/ConfigProvider/ConfigProvider.js +1 -1
- package/dist/collection/components/Container/Aside.js +1 -1
- package/dist/collection/components/Container/Container.js +2 -2
- package/dist/collection/components/Container/Footer.js +1 -1
- package/dist/collection/components/Container/Header.js +1 -1
- package/dist/collection/components/Container/Main.js +1 -1
- package/dist/collection/components/DatePicker/DatePicker.js +94 -12
- package/dist/collection/components/DatePicker/DatePicker.js.map +1 -1
- package/dist/collection/components/DatePicker/date-picker.css +63 -2
- package/dist/collection/components/DatePickerPane/DatePickerPane.js +1 -1
- package/dist/collection/components/DateRangePicker/DateRangePicker.js +2 -2
- package/dist/collection/components/DateTimePicker/DateTimePicker.js +2 -2
- package/dist/collection/components/Descriptions/Descriptions.js +1 -1
- package/dist/collection/components/Descriptions/descriptions.css +52 -10
- package/dist/collection/components/Dialog/Dialog.js +54 -10
- package/dist/collection/components/Dialog/Dialog.js.map +1 -1
- package/dist/collection/components/Dialog/dialog.css +57 -11
- package/dist/collection/components/Divider/Divider.js +2 -2
- package/dist/collection/components/Drawer/Drawer.js +34 -3
- package/dist/collection/components/Drawer/Drawer.js.map +1 -1
- package/dist/collection/components/Drawer/drawer.css +207 -17
- package/dist/collection/components/Dropdown/Dropdown.js +103 -12
- package/dist/collection/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/collection/components/Dropdown/dropdown.css +26 -3
- package/dist/collection/components/Empty/Empty.js +1 -1
- package/dist/collection/components/FloatButton/FloatButton.js +2 -2
- package/dist/collection/components/Form/Form.js +14 -9
- package/dist/collection/components/Form/Form.js.map +1 -1
- package/dist/collection/components/Form/FormItem.js +62 -10
- package/dist/collection/components/Form/FormItem.js.map +1 -1
- package/dist/collection/components/Form/form-item.css +57 -6
- package/dist/collection/components/Form/form.css +1 -0
- package/dist/collection/components/Image/Image.js +24 -3
- package/dist/collection/components/Image/Image.js.map +1 -1
- package/dist/collection/components/ImagePreview/ImagePreview.js +13 -9
- package/dist/collection/components/ImagePreview/ImagePreview.js.map +1 -1
- package/dist/collection/components/Input/Input.js +39 -2
- package/dist/collection/components/Input/Input.js.map +1 -1
- package/dist/collection/components/Input/input.css +22 -4
- package/dist/collection/components/InputNumber/InputNumber.js +6 -6
- package/dist/collection/components/InputNumber/InputNumber.js.map +1 -1
- package/dist/collection/components/InputNumber/input-number.css +11 -1
- package/dist/collection/components/InputTag/InputTag.js +2 -2
- package/dist/collection/components/Layout/Layout.js +87 -34
- package/dist/collection/components/Layout/Layout.js.map +1 -1
- package/dist/collection/components/Layout/Row.js +2 -2
- package/dist/collection/components/Layout/layout.css +1732 -71
- package/dist/collection/components/Link/Link.js +2 -2
- package/dist/collection/components/Loading/Loading.js +2 -2
- package/dist/collection/components/Menu/Menu.js +2 -2
- package/dist/collection/components/Menu/MenuItem.js +34 -5
- package/dist/collection/components/Menu/MenuItem.js.map +1 -1
- package/dist/collection/components/Menu/SubMenu.js +4 -4
- package/dist/collection/components/Menu/menu.css +25 -0
- package/dist/collection/components/Message/Message.js +13 -4
- package/dist/collection/components/Message/Message.js.map +1 -1
- package/dist/collection/components/Notification/Notification.js +2 -2
- package/dist/collection/components/PageHeader/PageHeader.js +1 -1
- package/dist/collection/components/Pagination/Pagination.js +26 -7
- package/dist/collection/components/Pagination/Pagination.js.map +1 -1
- package/dist/collection/components/Pagination/pagination.css +23 -0
- package/dist/collection/components/Popconfirm/Popconfirm.js +66 -7
- package/dist/collection/components/Popconfirm/Popconfirm.js.map +1 -1
- package/dist/collection/components/Popconfirm/popconfirm.css +80 -16
- package/dist/collection/components/Popover/Popover.js +46 -4
- package/dist/collection/components/Popover/Popover.js.map +1 -1
- package/dist/collection/components/Popover/popover.css +49 -8
- package/dist/collection/components/Progress/Progress.js +1 -1
- package/dist/collection/components/Radio/Radio.js +8 -3
- package/dist/collection/components/Radio/Radio.js.map +1 -1
- package/dist/collection/components/Rate/Rate.js +46 -4
- package/dist/collection/components/Rate/Rate.js.map +1 -1
- package/dist/collection/components/Result/Result.js +1 -1
- package/dist/collection/components/Scrollbar/Scrollbar.js +5 -5
- package/dist/collection/components/Scrollbar/Scrollbar.js.map +1 -1
- package/dist/collection/components/Segmented/Segmented.js +65 -6
- package/dist/collection/components/Segmented/Segmented.js.map +1 -1
- package/dist/collection/components/Select/Select.js +63 -15
- package/dist/collection/components/Select/Select.js.map +1 -1
- package/dist/collection/components/Select/select.css +50 -5
- package/dist/collection/components/Slider/Slider.js +218 -24
- package/dist/collection/components/Slider/Slider.js.map +1 -1
- package/dist/collection/components/Slider/slider.css +57 -7
- package/dist/collection/components/Space/Space.js +2 -2
- package/dist/collection/components/Statistic/Statistic.js +1 -1
- package/dist/collection/components/Steps/Step.js +1 -1
- package/dist/collection/components/Steps/Steps.js +35 -8
- package/dist/collection/components/Steps/Steps.js.map +1 -1
- package/dist/collection/components/Switch/Switch.js +8 -3
- package/dist/collection/components/Switch/Switch.js.map +1 -1
- package/dist/collection/components/Switch/switch.css +47 -1
- package/dist/collection/components/Table/Table.js +25 -16
- package/dist/collection/components/Table/Table.js.map +1 -1
- package/dist/collection/components/Table/table.css +26 -2
- package/dist/collection/components/Tabs/TabPane.js +1 -1
- package/dist/collection/components/Tabs/Tabs.js +31 -10
- package/dist/collection/components/Tabs/Tabs.js.map +1 -1
- package/dist/collection/components/Tag/Tag.js +3 -2
- package/dist/collection/components/Tag/Tag.js.map +1 -1
- package/dist/collection/components/Text/Text.js +2 -2
- package/dist/collection/components/TimePicker/TimePicker.js +14 -9
- package/dist/collection/components/TimePicker/TimePicker.js.map +1 -1
- package/dist/collection/components/TimeSelect/TimeSelect.js +13 -4
- package/dist/collection/components/TimeSelect/TimeSelect.js.map +1 -1
- package/dist/collection/components/Timeline/Timeline.js +1 -1
- package/dist/collection/components/Tooltip/Tooltip.js +52 -6
- package/dist/collection/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/collection/components/Tooltip/tooltip.css +24 -2
- package/dist/collection/components/Transfer/Transfer.js +2 -2
- package/dist/collection/components/Tree/Tree.js +147 -13
- package/dist/collection/components/Tree/Tree.js.map +1 -1
- package/dist/collection/components/TreeSelect/TreeSelect.js +219 -23
- package/dist/collection/components/TreeSelect/TreeSelect.js.map +1 -1
- package/dist/collection/components/TreeSelect/tree-select.css +41 -7
- package/dist/collection/components/Upload/Upload.js +3 -3
- package/dist/collection/components/Watermark/Watermark.js +19 -11
- package/dist/collection/components/Watermark/Watermark.js.map +1 -1
- package/dist/collection/utils/a11y.js +15 -1
- package/dist/collection/utils/a11y.js.map +1 -1
- package/dist/collection/utils/date-helpers.js +9 -16
- package/dist/collection/utils/date-helpers.js.map +1 -1
- package/dist/collection/utils/transition.js +29 -0
- package/dist/collection/utils/transition.js.map +1 -0
- package/dist/components/hb-affix.js +1 -1
- package/dist/components/hb-alert.js +2 -1
- package/dist/components/hb-alert.js.map +1 -1
- package/dist/components/hb-aside.js +1 -1
- package/dist/components/hb-avatar.js +1 -1
- package/dist/components/hb-backtop.js +2 -2
- package/dist/components/hb-badge.js +1 -1
- package/dist/components/hb-breadcrumb-item.js +1 -1
- package/dist/components/hb-breadcrumb.js +1 -1
- package/dist/components/hb-button.js +2 -2
- package/dist/components/hb-calendar.js +80 -11
- package/dist/components/hb-calendar.js.map +1 -1
- package/dist/components/hb-card.js +1 -1
- package/dist/components/hb-cascader.js +309 -146
- package/dist/components/hb-cascader.js.map +1 -1
- package/dist/components/hb-checkbox-group.js +12 -8
- package/dist/components/hb-checkbox-group.js.map +1 -1
- package/dist/components/hb-checkbox.js +9 -4
- package/dist/components/hb-checkbox.js.map +1 -1
- package/dist/components/hb-collapse-item.js +14 -4
- package/dist/components/hb-collapse-item.js.map +1 -1
- package/dist/components/hb-collapse.js +20 -15
- package/dist/components/hb-collapse.js.map +1 -1
- package/dist/components/hb-color-picker-panel.js +2 -2
- package/dist/components/hb-color-picker.js +110 -29
- package/dist/components/hb-color-picker.js.map +1 -1
- package/dist/components/hb-config-provider.js +1 -1
- package/dist/components/hb-container.js +2 -2
- package/dist/components/hb-date-picker-pane.js +2 -2
- package/dist/components/hb-date-picker.js +92 -10
- package/dist/components/hb-date-picker.js.map +1 -1
- package/dist/components/hb-date-range-picker.js +3 -3
- package/dist/components/hb-date-time-picker.js +3 -3
- package/dist/components/hb-descriptions.js +2 -2
- package/dist/components/hb-descriptions.js.map +1 -1
- package/dist/components/hb-dialog.js +53 -13
- package/dist/components/hb-dialog.js.map +1 -1
- package/dist/components/hb-divider.js +2 -2
- package/dist/components/hb-drawer.js +36 -5
- package/dist/components/hb-drawer.js.map +1 -1
- package/dist/components/hb-dropdown.js +94 -12
- package/dist/components/hb-dropdown.js.map +1 -1
- package/dist/components/hb-empty.js +1 -1
- package/dist/components/hb-float-button.js +2 -2
- package/dist/components/hb-footer.js +1 -1
- package/dist/components/hb-form-item.js +61 -9
- package/dist/components/hb-form-item.js.map +1 -1
- package/dist/components/hb-form.js +13 -8
- package/dist/components/hb-form.js.map +1 -1
- package/dist/components/hb-header.js +1 -1
- package/dist/components/hb-icon.js +1 -89
- package/dist/components/hb-icon.js.map +1 -1
- package/dist/components/hb-image-preview.js +13 -9
- package/dist/components/hb-image-preview.js.map +1 -1
- package/dist/components/hb-image.js +23 -3
- package/dist/components/hb-image.js.map +1 -1
- package/dist/components/hb-input-number.js +7 -7
- package/dist/components/hb-input-number.js.map +1 -1
- package/dist/components/hb-input-tag.js +2 -2
- package/dist/components/hb-input.js +40 -3
- package/dist/components/hb-input.js.map +1 -1
- package/dist/components/hb-layout.js +36 -14
- package/dist/components/hb-layout.js.map +1 -1
- package/dist/components/hb-link.js +2 -2
- package/dist/components/hb-loading.js +2 -2
- package/dist/components/hb-main.js +1 -1
- package/dist/components/hb-menu-item.js +15 -5
- package/dist/components/hb-menu-item.js.map +1 -1
- package/dist/components/hb-menu.js +3 -3
- package/dist/components/hb-menu.js.map +1 -1
- package/dist/components/hb-message.js +13 -4
- package/dist/components/hb-message.js.map +1 -1
- package/dist/components/hb-notification.js +2 -2
- package/dist/components/hb-page-header.js +1 -1
- package/dist/components/hb-pagination.js +28 -10
- package/dist/components/hb-pagination.js.map +1 -1
- package/dist/components/hb-popconfirm.js +58 -8
- package/dist/components/hb-popconfirm.js.map +1 -1
- package/dist/components/hb-popover.js +38 -5
- package/dist/components/hb-popover.js.map +1 -1
- package/dist/components/hb-progress.js +1 -1
- package/dist/components/hb-radio.js +8 -3
- package/dist/components/hb-radio.js.map +1 -1
- package/dist/components/hb-rate.js +46 -4
- package/dist/components/hb-rate.js.map +1 -1
- package/dist/components/hb-result.js +1 -1
- package/dist/components/hb-row.js +2 -2
- package/dist/components/hb-scrollbar.js +5 -5
- package/dist/components/hb-scrollbar.js.map +1 -1
- package/dist/components/hb-segmented.js +54 -6
- package/dist/components/hb-segmented.js.map +1 -1
- package/dist/components/hb-select.js +64 -16
- package/dist/components/hb-select.js.map +1 -1
- package/dist/components/hb-slider.js +191 -24
- package/dist/components/hb-slider.js.map +1 -1
- package/dist/components/hb-space.js +2 -2
- package/dist/components/hb-statistic.js +1 -1
- package/dist/components/hb-step.js +1 -1
- package/dist/components/hb-steps.js +35 -8
- package/dist/components/hb-steps.js.map +1 -1
- package/dist/components/hb-sub-menu.js +5 -5
- package/dist/components/hb-switch.js +9 -4
- package/dist/components/hb-switch.js.map +1 -1
- package/dist/components/hb-tab-pane.js +1 -1
- package/dist/components/hb-table.js +26 -17
- package/dist/components/hb-table.js.map +1 -1
- package/dist/components/hb-tabs.js +31 -10
- package/dist/components/hb-tabs.js.map +1 -1
- package/dist/components/hb-tag.js +3 -2
- package/dist/components/hb-tag.js.map +1 -1
- package/dist/components/hb-text.js +2 -2
- package/dist/components/hb-time-picker.js +14 -9
- package/dist/components/hb-time-picker.js.map +1 -1
- package/dist/components/hb-time-select.js +13 -4
- package/dist/components/hb-time-select.js.map +1 -1
- package/dist/components/hb-timeline.js +1 -1
- package/dist/components/hb-tooltip.js +44 -6
- package/dist/components/hb-tooltip.js.map +1 -1
- package/dist/components/hb-transfer.js +2 -2
- package/dist/components/hb-tree-select.js +219 -24
- package/dist/components/hb-tree-select.js.map +1 -1
- package/dist/components/hb-tree.js +147 -13
- package/dist/components/hb-tree.js.map +1 -1
- package/dist/components/hb-upload.js +3 -3
- package/dist/components/hb-watermark.js +19 -11
- package/dist/components/hb-watermark.js.map +1 -1
- package/dist/components/{p-cc0aeb50.js → p-00aa34c8.js} +17 -3
- package/dist/components/p-00aa34c8.js.map +1 -0
- package/dist/components/p-86d92faf.js +93 -0
- package/dist/components/p-86d92faf.js.map +1 -0
- package/dist/{esm/date-helpers-e4d85a67.js → components/p-e0876aca.js} +10 -17
- package/dist/components/p-e0876aca.js.map +1 -0
- package/dist/components/p-fad66d69.js +32 -0
- package/dist/components/p-fad66d69.js.map +1 -0
- package/dist/esm/{a11y-f9ab2964.js → a11y-e4cde5b0.js} +17 -3
- package/dist/esm/a11y-e4cde5b0.js.map +1 -0
- package/dist/{components/p-cf94cbf6.js → esm/date-helpers-259ed2f1.js} +10 -17
- package/dist/esm/date-helpers-259ed2f1.js.map +1 -0
- package/dist/esm/hb-affix.entry.js +1 -1
- package/dist/esm/hb-alert.entry.js +2 -1
- package/dist/esm/hb-alert.entry.js.map +1 -1
- package/dist/esm/hb-aside.entry.js +1 -1
- package/dist/esm/hb-avatar.entry.js +1 -1
- package/dist/esm/hb-backtop.entry.js +2 -2
- package/dist/esm/hb-badge.entry.js +1 -1
- package/dist/esm/hb-breadcrumb-item.entry.js +1 -1
- package/dist/esm/hb-breadcrumb.entry.js +1 -1
- package/dist/esm/hb-button.entry.js +2 -2
- package/dist/esm/hb-calendar.entry.js +78 -10
- package/dist/esm/hb-calendar.entry.js.map +1 -1
- package/dist/esm/hb-card.entry.js +1 -1
- package/dist/esm/hb-cascader.entry.js +306 -146
- package/dist/esm/hb-cascader.entry.js.map +1 -1
- package/dist/esm/hb-checkbox-group.entry.js +12 -8
- package/dist/esm/hb-checkbox-group.entry.js.map +1 -1
- package/dist/esm/hb-checkbox.entry.js +9 -4
- package/dist/esm/hb-checkbox.entry.js.map +1 -1
- package/dist/esm/hb-collapse-item.entry.js +13 -4
- package/dist/esm/hb-collapse-item.entry.js.map +1 -1
- package/dist/esm/hb-collapse.entry.js +20 -15
- package/dist/esm/hb-collapse.entry.js.map +1 -1
- package/dist/esm/hb-color-picker-panel.entry.js +2 -2
- package/dist/esm/hb-color-picker.entry.js +108 -28
- package/dist/esm/hb-color-picker.entry.js.map +1 -1
- package/dist/esm/hb-config-provider.entry.js +1 -1
- package/dist/esm/hb-container.entry.js +2 -2
- package/dist/esm/hb-date-picker-pane.entry.js +2 -2
- package/dist/esm/hb-date-picker.entry.js +90 -9
- package/dist/esm/hb-date-picker.entry.js.map +1 -1
- package/dist/esm/hb-date-range-picker.entry.js +3 -3
- package/dist/esm/hb-date-time-picker.entry.js +3 -3
- package/dist/esm/hb-descriptions.entry.js +2 -2
- package/dist/esm/hb-descriptions.entry.js.map +1 -1
- package/dist/esm/hb-dialog.entry.js +51 -12
- package/dist/esm/hb-dialog.entry.js.map +1 -1
- package/dist/esm/hb-divider.entry.js +2 -2
- package/dist/esm/hb-drawer.entry.js +34 -4
- package/dist/esm/hb-drawer.entry.js.map +1 -1
- package/dist/esm/hb-dropdown.entry.js +91 -11
- package/dist/esm/hb-dropdown.entry.js.map +1 -1
- package/dist/esm/hb-empty.entry.js +1 -1
- package/dist/esm/hb-float-button.entry.js +2 -2
- package/dist/esm/hb-footer.entry.js +1 -1
- package/dist/esm/hb-form-item.entry.js +61 -9
- package/dist/esm/hb-form-item.entry.js.map +1 -1
- package/dist/esm/hb-form.entry.js +13 -8
- package/dist/esm/hb-form.entry.js.map +1 -1
- package/dist/esm/hb-header.entry.js +1 -1
- package/dist/esm/hb-image-preview.entry.js +13 -9
- package/dist/esm/hb-image-preview.entry.js.map +1 -1
- package/dist/esm/hb-image.entry.js +21 -3
- package/dist/esm/hb-image.entry.js.map +1 -1
- package/dist/esm/hb-input-number.entry.js +7 -7
- package/dist/esm/hb-input-number.entry.js.map +1 -1
- package/dist/esm/hb-input-tag.entry.js +2 -2
- package/dist/esm/hb-input.entry.js +40 -3
- package/dist/esm/hb-input.entry.js.map +1 -1
- package/dist/esm/hb-layout.entry.js +36 -14
- package/dist/esm/hb-layout.entry.js.map +1 -1
- package/dist/esm/hb-link.entry.js +2 -2
- package/dist/esm/hb-loading.entry.js +2 -2
- package/dist/esm/hb-main.entry.js +1 -1
- package/dist/esm/hb-menu-item.entry.js +14 -5
- package/dist/esm/hb-menu-item.entry.js.map +1 -1
- package/dist/esm/hb-menu.entry.js +3 -3
- package/dist/esm/hb-menu.entry.js.map +1 -1
- package/dist/esm/hb-message.entry.js +13 -4
- package/dist/esm/hb-message.entry.js.map +1 -1
- package/dist/esm/hb-notification.entry.js +2 -2
- package/dist/esm/hb-page-header.entry.js +1 -1
- package/dist/esm/hb-pagination.entry.js +24 -8
- package/dist/esm/hb-pagination.entry.js.map +1 -1
- package/dist/esm/hb-popconfirm.entry.js +57 -8
- package/dist/esm/hb-popconfirm.entry.js.map +1 -1
- package/dist/esm/hb-popover.entry.js +37 -5
- package/dist/esm/hb-popover.entry.js.map +1 -1
- package/dist/esm/hb-progress.entry.js +1 -1
- package/dist/esm/hb-radio.entry.js +8 -3
- package/dist/esm/hb-radio.entry.js.map +1 -1
- package/dist/esm/hb-rate.entry.js +46 -4
- package/dist/esm/hb-rate.entry.js.map +1 -1
- package/dist/esm/hb-result.entry.js +1 -1
- package/dist/esm/hb-row.entry.js +2 -2
- package/dist/esm/hb-scrollbar.entry.js +5 -5
- package/dist/esm/hb-scrollbar.entry.js.map +1 -1
- package/dist/esm/hb-segmented.entry.js +51 -6
- package/dist/esm/hb-segmented.entry.js.map +1 -1
- package/dist/esm/hb-select.entry.js +64 -16
- package/dist/esm/hb-select.entry.js.map +1 -1
- package/dist/esm/hb-slider.entry.js +186 -23
- package/dist/esm/hb-slider.entry.js.map +1 -1
- package/dist/esm/hb-space.entry.js +2 -2
- package/dist/esm/hb-statistic.entry.js +1 -1
- package/dist/esm/hb-step.entry.js +1 -1
- package/dist/esm/hb-steps.entry.js +28 -7
- package/dist/esm/hb-steps.entry.js.map +1 -1
- package/dist/esm/hb-sub-menu.entry.js +5 -5
- package/dist/esm/hb-switch.entry.js +9 -4
- package/dist/esm/hb-switch.entry.js.map +1 -1
- package/dist/esm/hb-tab-pane.entry.js +1 -1
- package/dist/esm/hb-table.entry.js +26 -17
- package/dist/esm/hb-table.entry.js.map +1 -1
- package/dist/esm/hb-tabs.entry.js +31 -10
- package/dist/esm/hb-tabs.entry.js.map +1 -1
- package/dist/esm/hb-tag.entry.js +3 -2
- package/dist/esm/hb-tag.entry.js.map +1 -1
- package/dist/esm/hb-text.entry.js +2 -2
- package/dist/esm/hb-time-picker.entry.js +14 -9
- package/dist/esm/hb-time-picker.entry.js.map +1 -1
- package/dist/esm/hb-time-select.entry.js +13 -4
- package/dist/esm/hb-time-select.entry.js.map +1 -1
- package/dist/esm/hb-timeline.entry.js +1 -1
- package/dist/esm/hb-tooltip.entry.js +43 -6
- package/dist/esm/hb-tooltip.entry.js.map +1 -1
- package/dist/esm/hb-transfer.entry.js +2 -2
- package/dist/esm/hb-tree-select.entry.js +215 -23
- package/dist/esm/hb-tree-select.entry.js.map +1 -1
- package/dist/esm/hb-tree.entry.js +145 -12
- package/dist/esm/hb-tree.entry.js.map +1 -1
- package/dist/esm/hb-upload.entry.js +3 -3
- package/dist/esm/hb-watermark.entry.js +19 -11
- package/dist/esm/hb-watermark.entry.js.map +1 -1
- package/dist/esm/huibo-ui.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/transition-4295d789.js +32 -0
- package/dist/esm/transition-4295d789.js.map +1 -0
- package/dist/huibo-ui/huibo-ui.css +1 -1
- package/dist/huibo-ui/huibo-ui.esm.js +1 -1
- package/dist/huibo-ui/huibo-ui.esm.js.map +1 -1
- package/dist/huibo-ui/p-00aa34c8.js +2 -0
- package/dist/huibo-ui/p-00aa34c8.js.map +1 -0
- package/dist/huibo-ui/p-02f15843.entry.js +2 -0
- package/dist/huibo-ui/p-0cc1e3f3.entry.js +2 -0
- package/dist/huibo-ui/p-0cc1e3f3.entry.js.map +1 -0
- package/dist/huibo-ui/{p-f1c084c5.entry.js → p-0ddae4e9.entry.js} +2 -2
- package/dist/huibo-ui/{p-672076c3.entry.js → p-10f6c184.entry.js} +2 -2
- package/dist/huibo-ui/p-10f6c184.entry.js.map +1 -0
- package/dist/huibo-ui/{p-6ac242fe.entry.js → p-14c3b47b.entry.js} +2 -2
- package/dist/huibo-ui/{p-8c80a765.entry.js → p-15db24e9.entry.js} +2 -2
- package/dist/huibo-ui/{p-8b027491.entry.js → p-193efdc0.entry.js} +2 -2
- package/dist/huibo-ui/{p-8d925e3d.entry.js → p-1b0fbe69.entry.js} +2 -2
- package/dist/huibo-ui/{p-85f68526.entry.js → p-1b98152b.entry.js} +2 -2
- package/dist/huibo-ui/p-1b98152b.entry.js.map +1 -0
- package/dist/huibo-ui/p-1f6d0adb.entry.js +2 -0
- package/dist/huibo-ui/p-1f6d0adb.entry.js.map +1 -0
- package/dist/huibo-ui/{p-f374d5a3.entry.js → p-20632186.entry.js} +2 -2
- package/dist/huibo-ui/{p-e6f2d71d.entry.js → p-20fc554b.entry.js} +2 -2
- package/dist/huibo-ui/{p-64ca0980.entry.js → p-29092b85.entry.js} +2 -2
- package/dist/huibo-ui/p-29092b85.entry.js.map +1 -0
- package/dist/huibo-ui/p-2bc30b1b.entry.js +2 -0
- package/dist/huibo-ui/p-2bc30b1b.entry.js.map +1 -0
- package/dist/huibo-ui/{p-fd19813c.entry.js → p-2bcda1bb.entry.js} +2 -2
- package/dist/huibo-ui/{p-231a7335.entry.js → p-2ca9796a.entry.js} +2 -2
- package/dist/huibo-ui/p-2ca9796a.entry.js.map +1 -0
- package/dist/huibo-ui/{p-e0768565.entry.js → p-3042f986.entry.js} +2 -2
- package/dist/huibo-ui/{p-be48d2aa.entry.js → p-3dacb26b.entry.js} +2 -2
- package/dist/huibo-ui/{p-6a1ec3ff.entry.js → p-3deff48c.entry.js} +2 -2
- package/dist/huibo-ui/{p-c321c4aa.entry.js → p-412ff618.entry.js} +2 -2
- package/dist/huibo-ui/p-415295f3.entry.js +2 -0
- package/dist/huibo-ui/p-415295f3.entry.js.map +1 -0
- package/dist/huibo-ui/p-494e6c25.entry.js +2 -0
- package/dist/huibo-ui/p-494e6c25.entry.js.map +1 -0
- package/dist/huibo-ui/p-4d87d7f4.entry.js +2 -0
- package/dist/huibo-ui/p-4d87d7f4.entry.js.map +1 -0
- package/dist/huibo-ui/p-54a28052.entry.js +2 -0
- package/dist/huibo-ui/p-54a28052.entry.js.map +1 -0
- package/dist/huibo-ui/{p-88127de1.entry.js → p-55cd13eb.entry.js} +2 -2
- package/dist/huibo-ui/{p-58ebb9b3.entry.js → p-5c839288.entry.js} +2 -2
- package/dist/huibo-ui/p-5e253c15.entry.js +2 -0
- package/dist/huibo-ui/p-5e253c15.entry.js.map +1 -0
- package/dist/huibo-ui/p-63d68c61.entry.js +2 -0
- package/dist/huibo-ui/p-63d68c61.entry.js.map +1 -0
- package/dist/huibo-ui/{p-a042e3d0.entry.js → p-6518c435.entry.js} +2 -2
- package/dist/huibo-ui/p-687d8dff.entry.js +2 -0
- package/dist/huibo-ui/p-687d8dff.entry.js.map +1 -0
- package/dist/huibo-ui/p-688460ce.entry.js +2 -0
- package/dist/huibo-ui/p-688460ce.entry.js.map +1 -0
- package/dist/huibo-ui/p-69bb1dd9.entry.js +2 -0
- package/dist/huibo-ui/p-69bb1dd9.entry.js.map +1 -0
- package/dist/huibo-ui/{p-a0015341.entry.js → p-6bfeab80.entry.js} +2 -2
- package/dist/huibo-ui/{p-4001c08d.entry.js → p-6c23fbd1.entry.js} +2 -2
- package/dist/huibo-ui/p-6c23fbd1.entry.js.map +1 -0
- package/dist/huibo-ui/p-6c8cf248.entry.js +2 -0
- package/dist/huibo-ui/p-6c8cf248.entry.js.map +1 -0
- package/dist/huibo-ui/p-6efed295.entry.js +2 -0
- package/dist/huibo-ui/p-6efed295.entry.js.map +1 -0
- package/dist/huibo-ui/{p-8b1ae77e.entry.js → p-746a11a3.entry.js} +2 -2
- package/dist/huibo-ui/{p-c3e8893d.entry.js → p-79b24b83.entry.js} +2 -2
- package/dist/huibo-ui/p-79b24b83.entry.js.map +1 -0
- package/dist/huibo-ui/p-7a38b3e2.entry.js +2 -0
- package/dist/huibo-ui/p-7a38b3e2.entry.js.map +1 -0
- package/dist/huibo-ui/{p-c922d672.entry.js → p-7a682c56.entry.js} +2 -2
- package/dist/huibo-ui/{p-8c987d57.entry.js → p-7f65dc36.entry.js} +2 -2
- package/dist/huibo-ui/{p-463de26d.entry.js → p-815fc943.entry.js} +2 -2
- package/dist/huibo-ui/{p-d87fc21a.entry.js → p-88a6c905.entry.js} +2 -2
- package/dist/huibo-ui/{p-77017274.entry.js → p-89be7973.entry.js} +2 -2
- package/dist/huibo-ui/p-8a202bc5.entry.js +2 -0
- package/dist/huibo-ui/p-8a202bc5.entry.js.map +1 -0
- package/dist/huibo-ui/{p-315feadf.entry.js → p-8c4415ed.entry.js} +2 -2
- package/dist/huibo-ui/p-8c4415ed.entry.js.map +1 -0
- package/dist/huibo-ui/{p-9319c650.entry.js → p-950e7465.entry.js} +2 -2
- package/dist/huibo-ui/{p-6b381d0e.entry.js → p-96cecd21.entry.js} +2 -2
- package/dist/huibo-ui/p-96cecd21.entry.js.map +1 -0
- package/dist/huibo-ui/{p-710f38de.entry.js → p-98b513cd.entry.js} +2 -2
- package/dist/huibo-ui/p-98b513cd.entry.js.map +1 -0
- package/dist/huibo-ui/{p-5df47135.entry.js → p-a190ca89.entry.js} +2 -2
- package/dist/huibo-ui/{p-0e65e1bd.entry.js → p-ac18c68b.entry.js} +2 -2
- package/dist/huibo-ui/p-ac18c68b.entry.js.map +1 -0
- package/dist/huibo-ui/{p-d64b91ef.entry.js → p-ac45291c.entry.js} +2 -2
- package/dist/huibo-ui/p-ac45291c.entry.js.map +1 -0
- package/dist/huibo-ui/{p-477d8568.entry.js → p-aeae83af.entry.js} +2 -2
- package/dist/huibo-ui/{p-b489a526.entry.js → p-b06c8020.entry.js} +2 -2
- package/dist/huibo-ui/{p-dfaf7e37.entry.js → p-b105cf76.entry.js} +2 -2
- package/dist/huibo-ui/p-b105cf76.entry.js.map +1 -0
- package/dist/huibo-ui/{p-c3e665f6.entry.js → p-b38802b0.entry.js} +2 -2
- package/dist/huibo-ui/p-b38802b0.entry.js.map +1 -0
- package/dist/huibo-ui/{p-ea74fcae.entry.js → p-b3fd12c7.entry.js} +2 -2
- package/dist/huibo-ui/p-b3fd12c7.entry.js.map +1 -0
- package/dist/huibo-ui/p-b5ea18ba.entry.js +2 -0
- package/dist/huibo-ui/p-b5ea18ba.entry.js.map +1 -0
- package/dist/huibo-ui/{p-e2a8a396.entry.js → p-b6afe81e.entry.js} +2 -2
- package/dist/huibo-ui/{p-2b286698.entry.js → p-b7885d4a.entry.js} +2 -2
- package/dist/huibo-ui/p-b7900dee.entry.js +2 -0
- package/dist/huibo-ui/p-b7900dee.entry.js.map +1 -0
- package/dist/huibo-ui/p-b8c83751.entry.js +2 -0
- package/dist/huibo-ui/p-b8c83751.entry.js.map +1 -0
- package/dist/huibo-ui/p-c7713947.entry.js +2 -0
- package/dist/huibo-ui/p-c7713947.entry.js.map +1 -0
- package/dist/huibo-ui/{p-e0ab9010.entry.js → p-c869842c.entry.js} +2 -2
- package/dist/huibo-ui/p-c869842c.entry.js.map +1 -0
- package/dist/huibo-ui/{p-476527c1.entry.js → p-c8e917db.entry.js} +2 -2
- package/dist/huibo-ui/p-c8e917db.entry.js.map +1 -0
- package/dist/huibo-ui/p-cb66dbef.entry.js +2 -0
- package/dist/huibo-ui/p-cb66dbef.entry.js.map +1 -0
- package/dist/huibo-ui/p-cde83f76.entry.js +2 -0
- package/dist/huibo-ui/p-cde83f76.entry.js.map +1 -0
- package/dist/huibo-ui/{p-10c088f3.entry.js → p-d9c7c378.entry.js} +2 -2
- package/dist/huibo-ui/{p-332c8877.entry.js → p-dd9c6459.entry.js} +2 -2
- package/dist/huibo-ui/{p-80aca641.entry.js → p-dfccc7aa.entry.js} +2 -2
- package/dist/huibo-ui/{p-21682e92.entry.js → p-dfd144d8.entry.js} +2 -2
- package/dist/huibo-ui/p-e0876aca.js +2 -0
- package/dist/huibo-ui/p-e0876aca.js.map +1 -0
- package/dist/huibo-ui/p-e1773c93.entry.js +2 -0
- package/dist/huibo-ui/p-e1773c93.entry.js.map +1 -0
- package/dist/huibo-ui/{p-079a4130.entry.js → p-e3155cd7.entry.js} +2 -2
- package/dist/huibo-ui/{p-59b2e61c.entry.js → p-e73c357f.entry.js} +2 -2
- package/dist/huibo-ui/p-e73c357f.entry.js.map +1 -0
- package/dist/huibo-ui/{p-c1b4eacb.entry.js → p-e7c73624.entry.js} +2 -2
- package/dist/huibo-ui/p-e7c73624.entry.js.map +1 -0
- package/dist/huibo-ui/{p-d7815b4f.entry.js → p-e9e7abca.entry.js} +2 -2
- package/dist/huibo-ui/{p-f81ec512.entry.js → p-ea0823f3.entry.js} +2 -2
- package/dist/huibo-ui/p-ea0823f3.entry.js.map +1 -0
- package/dist/huibo-ui/{p-2e6584ea.entry.js → p-f1f2483f.entry.js} +2 -2
- package/dist/huibo-ui/{p-465dcb4c.entry.js → p-f2c78699.entry.js} +2 -2
- package/dist/huibo-ui/p-fad66d69.js +2 -0
- package/dist/huibo-ui/p-fad66d69.js.map +1 -0
- package/dist/huibo-ui/{p-4d8b1404.entry.js → p-fd6831f9.entry.js} +2 -2
- package/dist/huibo-ui/p-ff6bc5cc.entry.js +2 -0
- package/dist/huibo-ui/p-ff6bc5cc.entry.js.map +1 -0
- package/dist/types/components/Calendar/Calendar.d.ts +13 -1
- package/dist/types/components/Cascader/Cascader.d.ts +80 -90
- package/dist/types/components/Checkbox/Checkbox.d.ts +5 -0
- package/dist/types/components/Checkbox/CheckboxGroup.d.ts +1 -0
- package/dist/types/components/Collapse/Collapse.d.ts +2 -0
- package/dist/types/components/Collapse/CollapseItem.d.ts +8 -1
- package/dist/types/components/ColorPicker/ColorPicker.d.ts +11 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +14 -3
- package/dist/types/components/Dialog/Dialog.d.ts +13 -1
- package/dist/types/components/Drawer/Drawer.d.ts +4 -0
- package/dist/types/components/Dropdown/Dropdown.d.ts +18 -1
- package/dist/types/components/Form/Form.d.ts +2 -0
- package/dist/types/components/Form/FormItem.d.ts +10 -0
- package/dist/types/components/Image/Image.d.ts +6 -0
- package/dist/types/components/ImagePreview/ImagePreview.d.ts +5 -1
- package/dist/types/components/Input/Input.d.ts +9 -0
- package/dist/types/components/Layout/Layout.d.ts +20 -10
- package/dist/types/components/Menu/MenuItem.d.ts +8 -1
- package/dist/types/components/Message/Message.d.ts +3 -0
- package/dist/types/components/Pagination/Pagination.d.ts +3 -0
- package/dist/types/components/Popconfirm/Popconfirm.d.ts +16 -0
- package/dist/types/components/Popover/Popover.d.ts +14 -0
- package/dist/types/components/Radio/Radio.d.ts +5 -0
- package/dist/types/components/Rate/Rate.d.ts +7 -0
- package/dist/types/components/Segmented/Segmented.d.ts +18 -1
- package/dist/types/components/Select/Select.d.ts +11 -0
- package/dist/types/components/Slider/Slider.d.ts +27 -1
- package/dist/types/components/Steps/Steps.d.ts +14 -6
- package/dist/types/components/Table/Table.d.ts +8 -2
- package/dist/types/components/Tabs/Tabs.d.ts +6 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +15 -1
- package/dist/types/components/Tree/Tree.d.ts +24 -0
- package/dist/types/components/TreeSelect/TreeSelect.d.ts +26 -0
- package/dist/types/components/Watermark/Watermark.d.ts +7 -1
- package/dist/types/components.d.ts +290 -98
- package/dist/types/utils/a11y.d.ts +9 -0
- package/dist/types/utils/date-helpers.d.ts +1 -1
- package/dist/types/utils/transition.d.ts +27 -0
- package/package.json +8 -2
- package/readme.md +88 -73
- package/dist/cjs/a11y-802de67a.js.map +0 -1
- package/dist/cjs/date-helpers-904747ff.js.map +0 -1
- package/dist/components/p-cc0aeb50.js.map +0 -1
- package/dist/components/p-cf94cbf6.js.map +0 -1
- package/dist/esm/a11y-f9ab2964.js.map +0 -1
- package/dist/esm/date-helpers-e4d85a67.js.map +0 -1
- package/dist/huibo-ui/p-003cee87.entry.js +0 -2
- package/dist/huibo-ui/p-003cee87.entry.js.map +0 -1
- package/dist/huibo-ui/p-0a033738.entry.js +0 -2
- package/dist/huibo-ui/p-0a033738.entry.js.map +0 -1
- package/dist/huibo-ui/p-0bef78ac.entry.js +0 -2
- package/dist/huibo-ui/p-0bef78ac.entry.js.map +0 -1
- package/dist/huibo-ui/p-0e65e1bd.entry.js.map +0 -1
- package/dist/huibo-ui/p-0f189251.entry.js +0 -2
- package/dist/huibo-ui/p-0f189251.entry.js.map +0 -1
- package/dist/huibo-ui/p-1b5acd6d.entry.js +0 -2
- package/dist/huibo-ui/p-1b5acd6d.entry.js.map +0 -1
- package/dist/huibo-ui/p-231a7335.entry.js.map +0 -1
- package/dist/huibo-ui/p-24ad7eec.entry.js +0 -2
- package/dist/huibo-ui/p-24ad7eec.entry.js.map +0 -1
- package/dist/huibo-ui/p-315feadf.entry.js.map +0 -1
- package/dist/huibo-ui/p-3c7f73c8.entry.js +0 -2
- package/dist/huibo-ui/p-3c7f73c8.entry.js.map +0 -1
- package/dist/huibo-ui/p-4001c08d.entry.js.map +0 -1
- package/dist/huibo-ui/p-44c48246.entry.js +0 -2
- package/dist/huibo-ui/p-44c48246.entry.js.map +0 -1
- package/dist/huibo-ui/p-476527c1.entry.js.map +0 -1
- package/dist/huibo-ui/p-4d0dff15.entry.js +0 -2
- package/dist/huibo-ui/p-58d20809.entry.js +0 -2
- package/dist/huibo-ui/p-58d20809.entry.js.map +0 -1
- package/dist/huibo-ui/p-59b2e61c.entry.js.map +0 -1
- package/dist/huibo-ui/p-64ca0980.entry.js.map +0 -1
- package/dist/huibo-ui/p-672076c3.entry.js.map +0 -1
- package/dist/huibo-ui/p-6b381d0e.entry.js.map +0 -1
- package/dist/huibo-ui/p-710f38de.entry.js.map +0 -1
- package/dist/huibo-ui/p-756acbdb.entry.js +0 -2
- package/dist/huibo-ui/p-756acbdb.entry.js.map +0 -1
- package/dist/huibo-ui/p-75a93de3.entry.js +0 -2
- package/dist/huibo-ui/p-75a93de3.entry.js.map +0 -1
- package/dist/huibo-ui/p-769960f4.entry.js +0 -2
- package/dist/huibo-ui/p-769960f4.entry.js.map +0 -1
- package/dist/huibo-ui/p-7f6975ad.entry.js +0 -2
- package/dist/huibo-ui/p-7f6975ad.entry.js.map +0 -1
- package/dist/huibo-ui/p-85f68526.entry.js.map +0 -1
- package/dist/huibo-ui/p-8d615521.entry.js +0 -2
- package/dist/huibo-ui/p-8d615521.entry.js.map +0 -1
- package/dist/huibo-ui/p-953b9514.entry.js +0 -2
- package/dist/huibo-ui/p-953b9514.entry.js.map +0 -1
- package/dist/huibo-ui/p-965d4d02.entry.js +0 -2
- package/dist/huibo-ui/p-965d4d02.entry.js.map +0 -1
- package/dist/huibo-ui/p-ad6b0c6e.entry.js +0 -2
- package/dist/huibo-ui/p-ad6b0c6e.entry.js.map +0 -1
- package/dist/huibo-ui/p-c1a059d9.entry.js +0 -2
- package/dist/huibo-ui/p-c1a059d9.entry.js.map +0 -1
- package/dist/huibo-ui/p-c1b4eacb.entry.js.map +0 -1
- package/dist/huibo-ui/p-c3e665f6.entry.js.map +0 -1
- package/dist/huibo-ui/p-c3e8893d.entry.js.map +0 -1
- package/dist/huibo-ui/p-cc0aeb50.js +0 -2
- package/dist/huibo-ui/p-cc0aeb50.js.map +0 -1
- package/dist/huibo-ui/p-cf94cbf6.js +0 -2
- package/dist/huibo-ui/p-cf94cbf6.js.map +0 -1
- package/dist/huibo-ui/p-d3939d44.entry.js +0 -2
- package/dist/huibo-ui/p-d3939d44.entry.js.map +0 -1
- package/dist/huibo-ui/p-d64b91ef.entry.js.map +0 -1
- package/dist/huibo-ui/p-dd05cb2c.entry.js +0 -2
- package/dist/huibo-ui/p-dd05cb2c.entry.js.map +0 -1
- package/dist/huibo-ui/p-dfaf7e37.entry.js.map +0 -1
- package/dist/huibo-ui/p-e0ab9010.entry.js.map +0 -1
- package/dist/huibo-ui/p-e9490259.entry.js +0 -2
- package/dist/huibo-ui/p-e9490259.entry.js.map +0 -1
- package/dist/huibo-ui/p-ea74fcae.entry.js.map +0 -1
- package/dist/huibo-ui/p-ebd04656.entry.js +0 -2
- package/dist/huibo-ui/p-ebd04656.entry.js.map +0 -1
- package/dist/huibo-ui/p-ed0ff857.entry.js +0 -2
- package/dist/huibo-ui/p-ed0ff857.entry.js.map +0 -1
- package/dist/huibo-ui/p-f0ac7db5.entry.js +0 -2
- package/dist/huibo-ui/p-f0ac7db5.entry.js.map +0 -1
- package/dist/huibo-ui/p-f81ec512.entry.js.map +0 -1
- /package/dist/huibo-ui/{p-4d0dff15.entry.js.map → p-02f15843.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-f1c084c5.entry.js.map → p-0ddae4e9.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-6ac242fe.entry.js.map → p-14c3b47b.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-8c80a765.entry.js.map → p-15db24e9.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-8b027491.entry.js.map → p-193efdc0.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-8d925e3d.entry.js.map → p-1b0fbe69.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-f374d5a3.entry.js.map → p-20632186.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-e6f2d71d.entry.js.map → p-20fc554b.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-fd19813c.entry.js.map → p-2bcda1bb.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-e0768565.entry.js.map → p-3042f986.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-be48d2aa.entry.js.map → p-3dacb26b.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-6a1ec3ff.entry.js.map → p-3deff48c.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-c321c4aa.entry.js.map → p-412ff618.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-88127de1.entry.js.map → p-55cd13eb.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-58ebb9b3.entry.js.map → p-5c839288.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-a042e3d0.entry.js.map → p-6518c435.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-a0015341.entry.js.map → p-6bfeab80.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-8b1ae77e.entry.js.map → p-746a11a3.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-c922d672.entry.js.map → p-7a682c56.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-8c987d57.entry.js.map → p-7f65dc36.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-463de26d.entry.js.map → p-815fc943.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-d87fc21a.entry.js.map → p-88a6c905.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-77017274.entry.js.map → p-89be7973.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-9319c650.entry.js.map → p-950e7465.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-5df47135.entry.js.map → p-a190ca89.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-477d8568.entry.js.map → p-aeae83af.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-b489a526.entry.js.map → p-b06c8020.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-e2a8a396.entry.js.map → p-b6afe81e.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-2b286698.entry.js.map → p-b7885d4a.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-10c088f3.entry.js.map → p-d9c7c378.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-332c8877.entry.js.map → p-dd9c6459.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-80aca641.entry.js.map → p-dfccc7aa.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-21682e92.entry.js.map → p-dfd144d8.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-079a4130.entry.js.map → p-e3155cd7.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-d7815b4f.entry.js.map → p-e9e7abca.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-2e6584ea.entry.js.map → p-f1f2483f.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-465dcb4c.entry.js.map → p-f2c78699.entry.js.map} +0 -0
- /package/dist/huibo-ui/{p-4d8b1404.entry.js.map → p-fd6831f9.entry.js.map} +0 -0
|
@@ -3,24 +3,29 @@ export class Collapse {
|
|
|
3
3
|
el;
|
|
4
4
|
/** 是否开启手风琴模式(同时仅展开一项) */
|
|
5
5
|
accordion = false;
|
|
6
|
+
// L2:抽命名 handler 以便 disconnectedCallback 正确 remove(修复前匿名箭头无法 remove)。
|
|
7
|
+
handleItemToggle = ((e) => {
|
|
8
|
+
if (!this.accordion)
|
|
9
|
+
return;
|
|
10
|
+
const { active } = e.detail;
|
|
11
|
+
// 手风琴模式:某项展开时,关闭其余项
|
|
12
|
+
if (!active)
|
|
13
|
+
return;
|
|
14
|
+
const current = e.target;
|
|
15
|
+
this.el.querySelectorAll('hb-collapse-item').forEach(item => {
|
|
16
|
+
if (item !== current) {
|
|
17
|
+
item.active = false;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
});
|
|
6
21
|
componentDidLoad() {
|
|
7
|
-
this.el.addEventListener('hbCollapseItemToggle',
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
// 手风琴模式:某项展开时,关闭其余项
|
|
12
|
-
if (!active)
|
|
13
|
-
return;
|
|
14
|
-
const current = e.target;
|
|
15
|
-
this.el.querySelectorAll('hb-collapse-item').forEach((item) => {
|
|
16
|
-
if (item !== current) {
|
|
17
|
-
item.active = false;
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
}));
|
|
22
|
+
this.el.addEventListener('hbCollapseItemToggle', this.handleItemToggle);
|
|
23
|
+
}
|
|
24
|
+
disconnectedCallback() {
|
|
25
|
+
this.el.removeEventListener('hbCollapseItemToggle', this.handleItemToggle);
|
|
21
26
|
}
|
|
22
27
|
render() {
|
|
23
|
-
return (h("div", { key: '
|
|
28
|
+
return (h("div", { key: 'c19c726c13bb8192d7f51b1db1e8d630d9dee4eb', class: { 'hb-collapse': true, 'hb-collapse--accordion': this.accordion } }, h("slot", { key: '49d7bd429b307f259820afa2a67eeb8b705cd7c8' })));
|
|
24
29
|
}
|
|
25
30
|
static get is() { return "hb-collapse"; }
|
|
26
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collapse.js","sourceRoot":"","sources":["../../../src/components/Collapse/Collapse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,OAAO,QAAQ;IACR,EAAE,CAAc;IAE3B,yBAAyB;IACA,SAAS,GAAY,KAAK,CAAC;IAEpD,
|
|
1
|
+
{"version":3,"file":"Collapse.js","sourceRoot":"","sources":["../../../src/components/Collapse/Collapse.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,OAAO,QAAQ;IACR,EAAE,CAAc;IAE3B,yBAAyB;IACA,SAAS,GAAY,KAAK,CAAC;IAEpD,sEAAsE;IAC9D,gBAAgB,GAAG,CAAC,CAAC,CAAc,EAAE,EAAE;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC;QAC5B,oBAAoB;QACpB,IAAI,CAAC,MAAM;YAAE,OAAO;QACpB,MAAM,OAAO,GAAG,CAAC,CAAC,MAAqB,CAAC;QACxC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1D,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBACpB,IAAY,CAAC,MAAM,GAAG,KAAK,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAkB,CAAC;IAEpB,gBAAgB;QACd,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC1E,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,EAAE,CAAC,mBAAmB,CAAC,sBAAsB,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC7E,CAAC;IAED,MAAM;QACJ,OAAO,CACL,4DAAK,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,CAAC,SAAS,EAAE;YAC3E,8DAAQ,CACJ,CACP,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, Element } from '@stencil/core';\n\n@Component({ tag: 'hb-collapse', styleUrl: 'collapse.css', shadow: true })\nexport class Collapse {\n @Element() el: HTMLElement;\n\n /** 是否开启手风琴模式(同时仅展开一项) */\n @Prop({ mutable: true }) accordion: boolean = false;\n\n // L2:抽命名 handler 以便 disconnectedCallback 正确 remove(修复前匿名箭头无法 remove)。\n private handleItemToggle = ((e: CustomEvent) => {\n if (!this.accordion) return;\n const { active } = e.detail;\n // 手风琴模式:某项展开时,关闭其余项\n if (!active) return;\n const current = e.target as HTMLElement;\n this.el.querySelectorAll('hb-collapse-item').forEach(item => {\n if (item !== current) {\n (item as any).active = false;\n }\n });\n }) as EventListener;\n\n componentDidLoad() {\n this.el.addEventListener('hbCollapseItemToggle', this.handleItemToggle);\n }\n\n disconnectedCallback() {\n this.el.removeEventListener('hbCollapseItemToggle', this.handleItemToggle);\n }\n\n render() {\n return (\n <div class={{ 'hb-collapse': true, 'hb-collapse--accordion': this.accordion }}>\n <slot />\n </div>\n );\n }\n}\n"]}
|
|
@@ -2,8 +2,17 @@ import { h } from "@stencil/core";
|
|
|
2
2
|
import { isActivationKey } from "../../utils/a11y";
|
|
3
3
|
export class CollapseItem {
|
|
4
4
|
el;
|
|
5
|
-
/**
|
|
5
|
+
/**
|
|
6
|
+
* 唯一标识(手风琴模式协调用)。
|
|
7
|
+
* O3:推荐用 itemKey。保留 key 作为向后兼容别名(key 是 Stencil/React 保留 prop,
|
|
8
|
+
* 通过 JSX 设置时可能被 vdom 拦截;HTML 属性 key="..." 仍可工作)。
|
|
9
|
+
*/
|
|
10
|
+
itemKey = '';
|
|
6
11
|
key = '';
|
|
12
|
+
/** 解析出的有效 key:itemKey 优先,回退到 key */
|
|
13
|
+
get effectiveKey() {
|
|
14
|
+
return this.itemKey || this.key;
|
|
15
|
+
}
|
|
7
16
|
/** 标题 */
|
|
8
17
|
title = '';
|
|
9
18
|
/** 是否禁用 */
|
|
@@ -24,7 +33,7 @@ export class CollapseItem {
|
|
|
24
33
|
this.active = this.isOpen;
|
|
25
34
|
// 通知父级 hb-collapse(composed 穿越 shadow 边界,用于手风琴协调)
|
|
26
35
|
this.el.dispatchEvent(new CustomEvent('hbCollapseItemToggle', {
|
|
27
|
-
detail: { key: this.
|
|
36
|
+
detail: { key: this.effectiveKey, active: this.isOpen },
|
|
28
37
|
bubbles: true,
|
|
29
38
|
composed: true,
|
|
30
39
|
}));
|
|
@@ -38,12 +47,32 @@ export class CollapseItem {
|
|
|
38
47
|
}
|
|
39
48
|
};
|
|
40
49
|
render() {
|
|
41
|
-
return (h("div", { key: '
|
|
50
|
+
return (h("div", { key: '8a2c030befa8ddd6488dd8c27ed05cf9c12cb725', class: { 'hb-collapse-item': true, 'hb-collapse-item--active': this.isOpen, 'hb-collapse-item--disabled': this.disabled } }, h("div", { key: 'bc692bdf0c20a3b6b7ec32bc07df43f987699968', class: "hb-collapse-item__header", role: "button", tabindex: this.disabled ? -1 : 0, "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.toggle, onKeyDown: this.handleHeaderKeydown }, h("span", { key: 'd3564c3db0f101cca70428ce8fed34931454abcd', class: "hb-collapse-item__title" }, this.title), h("span", { key: '75a8e55ccca5909a25c310c959f02cd0203131d9', class: { 'hb-collapse-item__arrow': true, 'hb-collapse-item__arrow--open': this.isOpen } }, "\u25B6")), h("div", { key: 'f52384a7a7b6cb9bc44ee96e9e2be49192b9cab0', class: { 'hb-collapse-item__wrapper': true, 'hb-collapse-item__wrapper--open': this.isOpen } }, h("div", { key: 'd387ab83f70c3292b07659b00b433b8c6891b1f1', class: "hb-collapse-item__content" }, h("slot", { key: '3046ac9233488eab8a5a50af56cac5402b21669f' })))));
|
|
42
51
|
}
|
|
43
52
|
static get is() { return "hb-collapse-item"; }
|
|
44
53
|
static get encapsulation() { return "shadow"; }
|
|
45
54
|
static get properties() {
|
|
46
55
|
return {
|
|
56
|
+
"itemKey": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"mutable": false,
|
|
59
|
+
"complexType": {
|
|
60
|
+
"original": "string",
|
|
61
|
+
"resolved": "string",
|
|
62
|
+
"references": {}
|
|
63
|
+
},
|
|
64
|
+
"required": false,
|
|
65
|
+
"optional": false,
|
|
66
|
+
"docs": {
|
|
67
|
+
"tags": [],
|
|
68
|
+
"text": "\u552F\u4E00\u6807\u8BC6\uFF08\u624B\u98CE\u7434\u6A21\u5F0F\u534F\u8C03\u7528\uFF09\u3002\nO3\uFF1A\u63A8\u8350\u7528 itemKey\u3002\u4FDD\u7559 key \u4F5C\u4E3A\u5411\u540E\u517C\u5BB9\u522B\u540D\uFF08key \u662F Stencil/React \u4FDD\u7559 prop\uFF0C\n\u901A\u8FC7 JSX \u8BBE\u7F6E\u65F6\u53EF\u80FD\u88AB vdom \u62E6\u622A\uFF1BHTML \u5C5E\u6027 key=\"...\" \u4ECD\u53EF\u5DE5\u4F5C\uFF09\u3002"
|
|
69
|
+
},
|
|
70
|
+
"getter": false,
|
|
71
|
+
"setter": false,
|
|
72
|
+
"attribute": "item-key",
|
|
73
|
+
"reflect": false,
|
|
74
|
+
"defaultValue": "''"
|
|
75
|
+
},
|
|
47
76
|
"key": {
|
|
48
77
|
"type": "string",
|
|
49
78
|
"mutable": false,
|
|
@@ -56,7 +85,7 @@ export class CollapseItem {
|
|
|
56
85
|
"optional": false,
|
|
57
86
|
"docs": {
|
|
58
87
|
"tags": [],
|
|
59
|
-
"text": "
|
|
88
|
+
"text": ""
|
|
60
89
|
},
|
|
61
90
|
"getter": false,
|
|
62
91
|
"setter": false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapseItem.js","sourceRoot":"","sources":["../../../src/components/Collapse/CollapseItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,MAAM,OAAO,YAAY;IACZ,EAAE,CAAc;IAE3B,
|
|
1
|
+
{"version":3,"file":"CollapseItem.js","sourceRoot":"","sources":["../../../src/components/Collapse/CollapseItem.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State, Element, Watch } from '@stencil/core';\nimport { isActivationKey } from '../../utils/a11y';\n\n@Component({ tag: 'hb-collapse-item', shadow: true })\nexport class CollapseItem {\n @Element() el: HTMLElement;\n\n /**\n * 唯一标识(手风琴模式协调用)。\n * O3:推荐用 itemKey。保留 key 作为向后兼容别名(key 是 Stencil/React 保留 prop,\n * 通过 JSX 设置时可能被 vdom 拦截;HTML 属性 key=\"...\" 仍可工作)。\n */\n @Prop() itemKey: string = '';\n @Prop() key: string = '';\n\n /** 解析出的有效 key:itemKey 优先,回退到 key */\n private get effectiveKey(): string {\n return this.itemKey || this.key;\n }\n\n /** 标题 */\n @Prop() title: string = '';\n\n /** 是否禁用 */\n @Prop() disabled: boolean = false;\n\n /** 是否展开(受控;由父级 hb-collapse 在手风琴模式下联动) */\n @Prop({ mutable: true }) active: boolean = false;\n\n @State() isOpen: boolean = false;\n\n componentDidLoad() {\n this.isOpen = this.active;\n }\n\n @Watch('active')\n handleActiveChange(val: boolean) {\n this.isOpen = val;\n }\n\n private toggle = () => {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n this.active = this.isOpen;\n // 通知父级 hb-collapse(composed 穿越 shadow 边界,用于手风琴协调)\n this.el.dispatchEvent(\n new CustomEvent('hbCollapseItemToggle', {\n detail: { key: this.effectiveKey, active: this.isOpen },\n bubbles: true,\n composed: true,\n }),\n );\n };\n\n private handleHeaderKeydown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n if (isActivationKey(e.key)) {\n e.preventDefault();\n this.toggle();\n }\n };\n\n render() {\n return (\n <div class={{ 'hb-collapse-item': true, 'hb-collapse-item--active': this.isOpen, 'hb-collapse-item--disabled': this.disabled }}>\n <div\n class=\"hb-collapse-item__header\"\n role=\"button\"\n tabindex={this.disabled ? -1 : 0}\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : undefined}\n onClick={this.toggle}\n onKeyDown={this.handleHeaderKeydown}\n >\n <span class=\"hb-collapse-item__title\">{this.title}</span>\n <span class={{ 'hb-collapse-item__arrow': true, 'hb-collapse-item__arrow--open': this.isOpen }}>▶</span>\n </div>\n <div class={{ 'hb-collapse-item__wrapper': true, 'hb-collapse-item__wrapper--open': this.isOpen }}>\n <div class=\"hb-collapse-item__content\">\n <slot />\n </div>\n </div>\n </div>\n );\n }\n}\n"]}
|
|
@@ -32,6 +32,7 @@ export class ColorPicker {
|
|
|
32
32
|
hue = 210; // 色相值 0-360
|
|
33
33
|
saturation = 100; // 饱和度 0-100
|
|
34
34
|
value = 100; // 明度 0-100
|
|
35
|
+
alpha = 100; // 透明度 0-100(仅 showAlpha=true 时生效)
|
|
35
36
|
/**
|
|
36
37
|
* 值改变事件
|
|
37
38
|
*/
|
|
@@ -72,11 +73,36 @@ export class ColorPicker {
|
|
|
72
73
|
return;
|
|
73
74
|
this.isOpen = !this.isOpen;
|
|
74
75
|
};
|
|
76
|
+
/** 键盘交互:Escape 关闭面板(对齐 antd / WAI-ARIA) */
|
|
77
|
+
handleKeyDown = (e) => {
|
|
78
|
+
if (this.disabled)
|
|
79
|
+
return;
|
|
80
|
+
if (e.key === 'Escape' && this.isOpen) {
|
|
81
|
+
e.preventDefault();
|
|
82
|
+
this.isOpen = false;
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
/** 把 3 位简写 hex 规范化为 6 位,避免后续 hexToRgb 解析失败 */
|
|
86
|
+
normalizeHex(color) {
|
|
87
|
+
if (typeof color !== 'string')
|
|
88
|
+
return null;
|
|
89
|
+
const c = color.trim();
|
|
90
|
+
if (/^#([A-Fa-f0-9]{6})$/.test(c))
|
|
91
|
+
return c.toLowerCase();
|
|
92
|
+
if (/^#([A-Fa-f0-9]{3})$/.test(c)) {
|
|
93
|
+
const [, r, g, b] = c.match(/^#(.)(.)(.)$/);
|
|
94
|
+
return `#${r}${r}${g}${g}${b}${b}`.toLowerCase();
|
|
95
|
+
}
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
75
98
|
handleColorSelect = (color) => {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
this.
|
|
99
|
+
const normalized = this.normalizeHex(color);
|
|
100
|
+
if (!normalized)
|
|
101
|
+
return; // 非法颜色直接忽略,防止 currentColor 进入不可解析态
|
|
102
|
+
this.currentColor = normalized;
|
|
103
|
+
this.modelValue = normalized;
|
|
104
|
+
this.hbChange.emit(normalized);
|
|
105
|
+
this.hbActiveChange.emit(normalized);
|
|
80
106
|
};
|
|
81
107
|
handleSaturationClick = (e) => {
|
|
82
108
|
const target = e.currentTarget;
|
|
@@ -102,11 +128,20 @@ export class ColorPicker {
|
|
|
102
128
|
handleInputChange = (e) => {
|
|
103
129
|
const target = e.target;
|
|
104
130
|
const value = target.value;
|
|
105
|
-
// 验证 hex
|
|
131
|
+
// 验证 hex 颜色格式(3 位简写会被 handleColorSelect 内部规范化为 6 位)
|
|
106
132
|
if (/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(value)) {
|
|
107
133
|
this.handleColorSelect(value);
|
|
108
134
|
}
|
|
109
135
|
};
|
|
136
|
+
/** 透明度条点击/拖动:X 轴映射到 alpha 0-100 */
|
|
137
|
+
handleAlphaClick = (e) => {
|
|
138
|
+
const target = e.currentTarget;
|
|
139
|
+
const rect = target.getBoundingClientRect();
|
|
140
|
+
const x = e.clientX - rect.left;
|
|
141
|
+
this.alpha = Math.max(0, Math.min(100, Math.round((x / rect.width) * 100)));
|
|
142
|
+
// alpha 变化触发 active 事件(不改变 hex,但通知消费者透明度变化)
|
|
143
|
+
this.hbActiveChange.emit(this.getFormattedValue());
|
|
144
|
+
};
|
|
110
145
|
handleRgbInputChange = (index, value) => {
|
|
111
146
|
const rgb = this.hexToRgb(this.currentColor);
|
|
112
147
|
if (rgb) {
|
|
@@ -118,21 +153,29 @@ export class ColorPicker {
|
|
|
118
153
|
rgb.g = num;
|
|
119
154
|
else if (index === 2)
|
|
120
155
|
rgb.b = num;
|
|
121
|
-
const hex = `#${[rgb.r, rgb.g, rgb.b]
|
|
156
|
+
const hex = `#${[rgb.r, rgb.g, rgb.b]
|
|
157
|
+
.map(x => {
|
|
122
158
|
const hex = x.toString(16);
|
|
123
159
|
return hex.length === 1 ? '0' + hex : hex;
|
|
124
|
-
})
|
|
160
|
+
})
|
|
161
|
+
.join('')}`;
|
|
125
162
|
this.handleColorSelect(hex);
|
|
126
163
|
}
|
|
127
164
|
}
|
|
128
165
|
};
|
|
129
166
|
hexToRgb(hex) {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
167
|
+
// 先用 normalizeHex 兜底 3 位简写(#abc → #aabbcc),再解析
|
|
168
|
+
const normalized = this.normalizeHex(hex);
|
|
169
|
+
if (!normalized)
|
|
170
|
+
return null;
|
|
171
|
+
const result = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(normalized);
|
|
172
|
+
return result
|
|
173
|
+
? {
|
|
174
|
+
r: parseInt(result[1], 16),
|
|
175
|
+
g: parseInt(result[2], 16),
|
|
176
|
+
b: parseInt(result[3], 16),
|
|
177
|
+
}
|
|
178
|
+
: null;
|
|
136
179
|
}
|
|
137
180
|
// RGB 转 HSV
|
|
138
181
|
rgbToHsv(r, g, b) {
|
|
@@ -202,16 +245,18 @@ export class ColorPicker {
|
|
|
202
245
|
return {
|
|
203
246
|
r: Math.round((r + m) * 255),
|
|
204
247
|
g: Math.round((g + m) * 255),
|
|
205
|
-
b: Math.round((b + m) * 255)
|
|
248
|
+
b: Math.round((b + m) * 255),
|
|
206
249
|
};
|
|
207
250
|
}
|
|
208
251
|
// HSV 转 Hex
|
|
209
252
|
hsvToHex(h, s, v) {
|
|
210
253
|
const rgb = this.hsvToRgb(h, s, v);
|
|
211
|
-
return `#${[rgb.r, rgb.g, rgb.b]
|
|
254
|
+
return `#${[rgb.r, rgb.g, rgb.b]
|
|
255
|
+
.map(x => {
|
|
212
256
|
const hex = x.toString(16);
|
|
213
257
|
return hex.length === 1 ? '0' + hex : hex;
|
|
214
|
-
})
|
|
258
|
+
})
|
|
259
|
+
.join('')}`;
|
|
215
260
|
}
|
|
216
261
|
// 从颜色值更新 HSV
|
|
217
262
|
updateHSVFromColor(color) {
|
|
@@ -223,27 +268,62 @@ export class ColorPicker {
|
|
|
223
268
|
this.value = hsv.v;
|
|
224
269
|
}
|
|
225
270
|
}
|
|
271
|
+
/** 按当前 colorFormat 输出最终颜色字符串(对齐 antd 的 format 行为) */
|
|
272
|
+
getFormattedValue() {
|
|
273
|
+
const rgb = this.hexToRgb(this.currentColor);
|
|
274
|
+
if (!rgb)
|
|
275
|
+
return this.currentColor;
|
|
276
|
+
switch (this.colorFormat) {
|
|
277
|
+
case 'rgb':
|
|
278
|
+
return `rgb(${rgb.r}, ${rgb.g}, ${rgb.b})`;
|
|
279
|
+
case 'hsl': {
|
|
280
|
+
const hsv = this.rgbToHsv(rgb.r, rgb.g, rgb.b);
|
|
281
|
+
const [h, s, l] = this.hsvToHsl(hsv.h, hsv.s, hsv.v);
|
|
282
|
+
return `hsl(${h}, ${s}%, ${l}%)`;
|
|
283
|
+
}
|
|
284
|
+
case 'hsv': {
|
|
285
|
+
const hsv = this.rgbToHsv(rgb.r, rgb.g, rgb.b);
|
|
286
|
+
return `hsv(${hsv.h}, ${hsv.s}%, ${hsv.v}%)`;
|
|
287
|
+
}
|
|
288
|
+
case 'hex':
|
|
289
|
+
default:
|
|
290
|
+
return this.currentColor;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
/** HSV → HSL(HSL 字符串输出用) */
|
|
294
|
+
hsvToHsl(h, s, v) {
|
|
295
|
+
s /= 100;
|
|
296
|
+
v /= 100;
|
|
297
|
+
const l = v - (v * s) / 2;
|
|
298
|
+
const sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);
|
|
299
|
+
return [Math.round(h), Math.round(sl * 100), Math.round(l * 100)];
|
|
300
|
+
}
|
|
226
301
|
render() {
|
|
227
302
|
const rgb = this.hexToRgb(this.currentColor);
|
|
228
|
-
const predefinedColors = this.predefine || [
|
|
229
|
-
'#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1',
|
|
230
|
-
'#1e90ff', '#c71585', '#000000', '#ffffff', '#808080',
|
|
231
|
-
];
|
|
303
|
+
const predefinedColors = this.predefine || ['#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1', '#1e90ff', '#c71585', '#000000', '#ffffff', '#808080'];
|
|
232
304
|
// 根据当前色相生成饱和度面板的背景色
|
|
233
305
|
const hueColor = this.hsvToHex(this.hue, 100, 100);
|
|
234
|
-
return (h("div", { key: '
|
|
306
|
+
return (h("div", { key: '8159e1edcb35ac81d9590a6bbe39ee5f386793b0', class: {
|
|
235
307
|
'hb-color-picker': true,
|
|
236
308
|
'hb-color-picker--open': this.isOpen,
|
|
237
309
|
'hb-color-picker--disabled': this.disabled,
|
|
238
|
-
}
|
|
310
|
+
}, onKeyDown: this.handleKeyDown }, h("div", { key: '719abe5e28e1a2119287423626ae7695233e9fdd', class: "hb-color-picker__trigger", onClick: this.handleTriggerClick, role: "button", tabindex: this.disabled ? -1 : 0, "aria-haspopup": "dialog", "aria-expanded": this.isOpen ? 'true' : 'false', "aria-disabled": this.disabled ? 'true' : 'false', onKeyDown: e => {
|
|
311
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
312
|
+
e.preventDefault();
|
|
313
|
+
this.handleTriggerClick();
|
|
314
|
+
}
|
|
315
|
+
} }, h("div", { key: '93b7fb2f6754556fdd3128050b859ee0cc6ec833', class: "hb-color-picker__color", style: { backgroundColor: this.currentColor } }), h("span", { key: 'd309c1b383d72d658997de577c168dee6f7e361e', class: "hb-color-picker__text" }, this.currentColor)), this.isOpen && (h("div", { key: 'f003b426845acc8b99fd7d511d4a4ba971f2e9f7', class: "hb-color-picker__dropdown", role: "dialog" }, h("div", { key: '33dd2879affc21f80594d89fc289a11627949375', class: "hb-color-picker__panel" }, h("div", { key: '7c2018e2b1d835cac0545dec44e8ae87e2c5ed65', class: "hb-color-picker__saturation", onClick: this.handleSaturationClick }, h("div", { key: 'def94c6e3c46b3ceea88dcadcda4f212abc65b81', class: "hb-color-picker__saturation-bg", style: { backgroundColor: hueColor } }), h("div", { key: '0f0fc45d2f8e41b921243697aae7af2ab024bda3', class: "hb-color-picker__saturation-white" }), h("div", { key: '6437cc9967f46ffacbca1e5128fd921276c3e914', class: "hb-color-picker__saturation-black" }), h("div", { key: '091a01517569d89dc75262da962e46144ac05107', class: "hb-color-picker__saturation-pointer", style: {
|
|
239
316
|
left: `${this.saturation}%`,
|
|
240
317
|
top: `${100 - this.value}%`,
|
|
241
|
-
} })), h("div", { key: '
|
|
318
|
+
} })), h("div", { key: '016d2417565eeb443e4d1af01926b4350234e6de', class: "hb-color-picker__controls" }, h("div", { key: '4c3fc5e6290032416c65939ad5f0b847577a1668', class: "hb-color-picker__hue", onClick: this.handleHueClick }, h("div", { key: '4838eaa146e754ad293e07f6ff802651f8032ee6', class: "hb-color-picker__hue-bar" }), h("div", { key: '5e5b64cb048a164ed755d7100b428f6110b5ff8d', class: "hb-color-picker__hue-pointer", style: {
|
|
242
319
|
left: `${(this.hue / 360) * 100}%`,
|
|
243
|
-
} })), this.showAlpha && (h("div", { key: '
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
320
|
+
} })), this.showAlpha && (h("div", { key: '8ad1fb26a551f18a3876c3780a007abb6bd711e9', class: "hb-color-picker__alpha", onClick: this.handleAlphaClick }, h("div", { key: '1467ae93bb35de900fe9c8d8c96178361b8047c6', class: "hb-color-picker__alpha-bar", style: { backgroundColor: this.currentColor } }), h("div", { key: '67fa6c3a238892b18a82847260ba4c48b9197bfd', class: "hb-color-picker__alpha-pointer", style: { left: `${this.alpha}%` } })))), h("div", { key: 'bb5853062d46603de849661b656ec85cbd03aba8', class: "hb-color-picker__input" }, h("input", { key: 'f47b3cc4af3d58144c5093629708937a0ed3d69f', type: "text", class: "hb-color-picker__input-hex", value: this.currentColor, onInput: this.handleInputChange, "aria-label": "HEX \u989C\u8272\u503C" }), rgb && (h("div", { key: '166d6a75b6332888318392b645c69ee4385aa7e2', class: "hb-color-picker__input-rgb" }, h("input", { key: '8475ced358e11965a970f9f6c32b9f0e97f838c6', type: "number", min: "0", max: "255", value: rgb.r, onInput: e => this.handleRgbInputChange(0, e.target.value), "aria-label": "\u7EA2\u8272\u901A\u9053" }), h("input", { key: '6fd5090119fb416984640ea0d43af694c2be6557', type: "number", min: "0", max: "255", value: rgb.g, onInput: e => this.handleRgbInputChange(1, e.target.value), "aria-label": "\u7EFF\u8272\u901A\u9053" }), h("input", { key: '1f813b8619f9bc267e5d8939a80df789755b4cd6', type: "number", min: "0", max: "255", value: rgb.b, onInput: e => this.handleRgbInputChange(2, e.target.value), "aria-label": "\u84DD\u8272\u901A\u9053" })))), this.predefine && this.predefine.length > 0 && (h("div", { key: 'c553c83cecd4cc41644d1fe0a76059d91ce5abd6', class: "hb-color-picker__predefine" }, predefinedColors.map(color => {
|
|
321
|
+
const normalized = this.normalizeHex(color) || color;
|
|
322
|
+
return (h("div", { class: {
|
|
323
|
+
'hb-color-picker__predefine-color': true,
|
|
324
|
+
'hb-color-picker__predefine-color--selected': normalized === this.currentColor,
|
|
325
|
+
}, style: { backgroundColor: color }, onClick: () => this.handleColorSelect(color), title: color }));
|
|
326
|
+
}))))))));
|
|
247
327
|
}
|
|
248
328
|
static get is() { return "hb-color-picker"; }
|
|
249
329
|
static get encapsulation() { return "shadow"; }
|
|
@@ -369,7 +449,8 @@ export class ColorPicker {
|
|
|
369
449
|
"currentColor": {},
|
|
370
450
|
"hue": {},
|
|
371
451
|
"saturation": {},
|
|
372
|
-
"value": {}
|
|
452
|
+
"value": {},
|
|
453
|
+
"alpha": {}
|
|
373
454
|
};
|
|
374
455
|
}
|
|
375
456
|
static get events() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Event, EventEmitter, State, Element, Watch } from '@stencil/core';\n\n/**\n * ColorPicker 颜色选择器组件\n * 用于颜色选择,支持多种格式\n */\n@Component({\n tag: 'hb-color-picker',\n styleUrl: 'color-picker.css',\n shadow: true,\n})\nexport class ColorPicker {\n @Element() el: HTMLElement;\n\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue?: string;\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 颜色格式\n */\n @Prop() colorFormat: 'hsl' | 'hsv' | 'hex' | 'rgb' = 'hex';\n\n /**\n * 是否显示透明度\n * @default false\n */\n @Prop() showAlpha: boolean = false;\n\n /**\n * 预定义颜色\n */\n @Prop() predefine?: string[];\n\n @State() isOpen: boolean = false;\n @State() currentColor: string = '#409EFF';\n @State() hue: number = 210; // 色相值 0-360\n @State() saturation: number = 100; // 饱和度 0-100\n @State() value: number = 100; // 明度 0-100\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<string>;\n\n /**\n * 激活时触发\n */\n @Event() hbActiveChange: EventEmitter<string>;\n\n componentDidLoad() {\n if (this.modelValue) {\n this.currentColor = this.modelValue;\n this.updateHSVFromColor(this.modelValue);\n } else {\n this.updateHSVFromColor(this.currentColor);\n }\n document.addEventListener('click', this.handleDocumentClick);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleDocumentClick);\n }\n\n private handleDocumentClick = (e: MouseEvent) => {\n if (!this.isOpen) return;\n const target = e.target as HTMLElement;\n if (!this.el.contains(target)) {\n this.isOpen = false;\n }\n };\n\n @Watch('modelValue')\n handleValueChange() {\n if (this.modelValue) {\n this.currentColor = this.modelValue;\n this.updateHSVFromColor(this.modelValue);\n }\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n };\n\n private handleColorSelect = (color: string) => {\n this.currentColor = color;\n this.modelValue = color;\n this.hbChange.emit(color);\n this.hbActiveChange.emit(color);\n };\n\n private handleSaturationClick = (e: MouseEvent) => {\n const target = e.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n \n // X 轴代表饱和度 (0-100%)\n this.saturation = Math.max(0, Math.min(100, (x / rect.width) * 100));\n // Y 轴代表明度 (0-100%,从上到下)\n this.value = Math.max(0, Math.min(100, 100 - (y / rect.height) * 100));\n \n const hex = this.hsvToHex(this.hue, this.saturation, this.value);\n this.handleColorSelect(hex);\n };\n\n private handleHueClick = (e: MouseEvent) => {\n const target = e.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const x = e.clientX - rect.left;\n \n // 色相值 0-360\n this.hue = Math.max(0, Math.min(360, (x / rect.width) * 360));\n \n const hex = this.hsvToHex(this.hue, this.saturation, this.value);\n this.handleColorSelect(hex);\n };\n\n private handleInputChange = (e: Event) => {\n const target = e.target as HTMLInputElement;\n const value = target.value;\n // 验证 hex 颜色格式\n if (/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(value)) {\n this.handleColorSelect(value);\n }\n };\n\n private handleRgbInputChange = (index: number, value: string) => {\n const rgb = this.hexToRgb(this.currentColor);\n if (rgb) {\n const num = parseInt(value, 10);\n if (!isNaN(num) && num >= 0 && num <= 255) {\n if (index === 0) rgb.r = num;\n else if (index === 1) rgb.g = num;\n else if (index === 2) rgb.b = num;\n \n const hex = `#${[rgb.r, rgb.g, rgb.b].map(x => {\n const hex = x.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n }).join('')}`;\n this.handleColorSelect(hex);\n }\n }\n };\n\n private hexToRgb(hex: string): { r: number; g: number; b: number } | null {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n }\n\n // RGB 转 HSV\n private rgbToHsv(r: number, g: number, b: number): { h: number; s: number; v: number } {\n r = r / 255;\n g = g / 255;\n b = b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const diff = max - min;\n\n let h = 0;\n if (diff !== 0) {\n if (max === r) {\n h = ((g - b) / diff) % 6;\n } else if (max === g) {\n h = (b - r) / diff + 2;\n } else {\n h = (r - g) / diff + 4;\n }\n }\n h = Math.round(h * 60);\n if (h < 0) h += 360;\n\n const s = max === 0 ? 0 : Math.round((diff / max) * 100);\n const v = Math.round(max * 100);\n\n return { h, s, v };\n }\n\n // HSV 转 RGB\n private hsvToRgb(h: number, s: number, v: number): { r: number; g: number; b: number } {\n s = s / 100;\n v = v / 100;\n\n const c = v * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = v - c;\n\n let r = 0, g = 0, b = 0;\n\n if (h >= 0 && h < 60) {\n r = c; g = x; b = 0;\n } else if (h >= 60 && h < 120) {\n r = x; g = c; b = 0;\n } else if (h >= 120 && h < 180) {\n r = 0; g = c; b = x;\n } else if (h >= 180 && h < 240) {\n r = 0; g = x; b = c;\n } else if (h >= 240 && h < 300) {\n r = x; g = 0; b = c;\n } else if (h >= 300 && h < 360) {\n r = c; g = 0; b = x;\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255)\n };\n }\n\n // HSV 转 Hex\n private hsvToHex(h: number, s: number, v: number): string {\n const rgb = this.hsvToRgb(h, s, v);\n return `#${[rgb.r, rgb.g, rgb.b].map(x => {\n const hex = x.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n }).join('')}`;\n }\n\n // 从颜色值更新 HSV\n private updateHSVFromColor(color: string) {\n const rgb = this.hexToRgb(color);\n if (rgb) {\n const hsv = this.rgbToHsv(rgb.r, rgb.g, rgb.b);\n this.hue = hsv.h;\n this.saturation = hsv.s;\n this.value = hsv.v;\n }\n }\n\n render() {\n const rgb = this.hexToRgb(this.currentColor);\n const predefinedColors = this.predefine || [\n '#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1',\n '#1e90ff', '#c71585', '#000000', '#ffffff', '#808080',\n ];\n\n // 根据当前色相生成饱和度面板的背景色\n const hueColor = this.hsvToHex(this.hue, 100, 100);\n\n return (\n <div\n class={{\n 'hb-color-picker': true,\n 'hb-color-picker--open': this.isOpen,\n 'hb-color-picker--disabled': this.disabled,\n }}\n >\n <div class=\"hb-color-picker__trigger\" onClick={this.handleTriggerClick}>\n <div class=\"hb-color-picker__color\" style={{ backgroundColor: this.currentColor }}></div>\n <span class=\"hb-color-picker__text\">{this.currentColor}</span>\n </div>\n {this.isOpen && (\n <div class=\"hb-color-picker__dropdown\">\n <div class=\"hb-color-picker__panel\">\n <div class=\"hb-color-picker__saturation\" onClick={this.handleSaturationClick}>\n <div class=\"hb-color-picker__saturation-bg\" style={{ backgroundColor: hueColor }}></div>\n <div class=\"hb-color-picker__saturation-white\"></div>\n <div class=\"hb-color-picker__saturation-black\"></div>\n <div\n class=\"hb-color-picker__saturation-pointer\"\n style={{\n left: `${this.saturation}%`,\n top: `${100 - this.value}%`,\n }}\n ></div>\n </div>\n <div class=\"hb-color-picker__controls\">\n <div class=\"hb-color-picker__hue\" onClick={this.handleHueClick}>\n <div class=\"hb-color-picker__hue-bar\"></div>\n <div\n class=\"hb-color-picker__hue-pointer\"\n style={{\n left: `${(this.hue / 360) * 100}%`,\n }}\n ></div>\n </div>\n {this.showAlpha && (\n <div class=\"hb-color-picker__alpha\">\n <div class=\"hb-color-picker__alpha-bar\" style={{ backgroundColor: this.currentColor }}></div>\n </div>\n )}\n </div>\n <div class=\"hb-color-picker__input\">\n <input\n type=\"text\"\n class=\"hb-color-picker__input-hex\"\n value={this.currentColor}\n onInput={this.handleInputChange}\n />\n {rgb && (\n <div class=\"hb-color-picker__input-rgb\">\n <input \n type=\"number\" \n min=\"0\" \n max=\"255\" \n value={rgb.r}\n onInput={(e) => this.handleRgbInputChange(0, (e.target as HTMLInputElement).value)}\n />\n <input \n type=\"number\" \n min=\"0\" \n max=\"255\" \n value={rgb.g}\n onInput={(e) => this.handleRgbInputChange(1, (e.target as HTMLInputElement).value)}\n />\n <input \n type=\"number\" \n min=\"0\" \n max=\"255\" \n value={rgb.b}\n onInput={(e) => this.handleRgbInputChange(2, (e.target as HTMLInputElement).value)}\n />\n </div>\n )}\n </div>\n {this.predefine && this.predefine.length > 0 && (\n <div class=\"hb-color-picker__predefine\">\n {predefinedColors.map((color) => (\n <div\n class={{\n 'hb-color-picker__predefine-color': true,\n 'hb-color-picker__predefine-color--selected': color === this.currentColor,\n }}\n style={{ backgroundColor: color }}\n onClick={() => this.handleColorSelect(color)}\n ></div>\n ))}\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n\n"]}
|
|
1
|
+
{"version":3,"file":"ColorPicker.js","sourceRoot":"","sources":["../../../src/components/ColorPicker/ColorPicker.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, Event, EventEmitter, State, Element, Watch } from '@stencil/core';\n\n/**\n * ColorPicker 颜色选择器组件\n * 用于颜色选择,支持多种格式\n */\n@Component({\n tag: 'hb-color-picker',\n styleUrl: 'color-picker.css',\n shadow: true,\n})\nexport class ColorPicker {\n @Element() el: HTMLElement;\n\n /**\n * 绑定值\n */\n @Prop({ mutable: true }) modelValue?: string;\n\n /**\n * 是否禁用\n * @default false\n */\n @Prop() disabled: boolean = false;\n\n /**\n * 颜色格式\n */\n @Prop() colorFormat: 'hsl' | 'hsv' | 'hex' | 'rgb' = 'hex';\n\n /**\n * 是否显示透明度\n * @default false\n */\n @Prop() showAlpha: boolean = false;\n\n /**\n * 预定义颜色\n */\n @Prop() predefine?: string[];\n\n @State() isOpen: boolean = false;\n @State() currentColor: string = '#409EFF';\n @State() hue: number = 210; // 色相值 0-360\n @State() saturation: number = 100; // 饱和度 0-100\n @State() value: number = 100; // 明度 0-100\n @State() alpha: number = 100; // 透明度 0-100(仅 showAlpha=true 时生效)\n\n /**\n * 值改变事件\n */\n @Event() hbChange: EventEmitter<string>;\n\n /**\n * 激活时触发\n */\n @Event() hbActiveChange: EventEmitter<string>;\n\n componentDidLoad() {\n if (this.modelValue) {\n this.currentColor = this.modelValue;\n this.updateHSVFromColor(this.modelValue);\n } else {\n this.updateHSVFromColor(this.currentColor);\n }\n document.addEventListener('click', this.handleDocumentClick);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleDocumentClick);\n }\n\n private handleDocumentClick = (e: MouseEvent) => {\n if (!this.isOpen) return;\n const target = e.target as HTMLElement;\n if (!this.el.contains(target)) {\n this.isOpen = false;\n }\n };\n\n @Watch('modelValue')\n handleValueChange() {\n if (this.modelValue) {\n this.currentColor = this.modelValue;\n this.updateHSVFromColor(this.modelValue);\n }\n }\n\n private handleTriggerClick = () => {\n if (this.disabled) return;\n this.isOpen = !this.isOpen;\n };\n\n /** 键盘交互:Escape 关闭面板(对齐 antd / WAI-ARIA) */\n private handleKeyDown = (e: KeyboardEvent) => {\n if (this.disabled) return;\n if (e.key === 'Escape' && this.isOpen) {\n e.preventDefault();\n this.isOpen = false;\n }\n };\n\n /** 把 3 位简写 hex 规范化为 6 位,避免后续 hexToRgb 解析失败 */\n private normalizeHex(color: string): string | null {\n if (typeof color !== 'string') return null;\n const c = color.trim();\n if (/^#([A-Fa-f0-9]{6})$/.test(c)) return c.toLowerCase();\n if (/^#([A-Fa-f0-9]{3})$/.test(c)) {\n const [, r, g, b] = c.match(/^#(.)(.)(.)$/)!;\n return `#${r}${r}${g}${g}${b}${b}`.toLowerCase();\n }\n return null;\n }\n\n private handleColorSelect = (color: string) => {\n const normalized = this.normalizeHex(color);\n if (!normalized) return; // 非法颜色直接忽略,防止 currentColor 进入不可解析态\n this.currentColor = normalized;\n this.modelValue = normalized;\n this.hbChange.emit(normalized);\n this.hbActiveChange.emit(normalized);\n };\n\n private handleSaturationClick = (e: MouseEvent) => {\n const target = e.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const x = e.clientX - rect.left;\n const y = e.clientY - rect.top;\n\n // X 轴代表饱和度 (0-100%)\n this.saturation = Math.max(0, Math.min(100, (x / rect.width) * 100));\n // Y 轴代表明度 (0-100%,从上到下)\n this.value = Math.max(0, Math.min(100, 100 - (y / rect.height) * 100));\n\n const hex = this.hsvToHex(this.hue, this.saturation, this.value);\n this.handleColorSelect(hex);\n };\n\n private handleHueClick = (e: MouseEvent) => {\n const target = e.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const x = e.clientX - rect.left;\n\n // 色相值 0-360\n this.hue = Math.max(0, Math.min(360, (x / rect.width) * 360));\n\n const hex = this.hsvToHex(this.hue, this.saturation, this.value);\n this.handleColorSelect(hex);\n };\n\n private handleInputChange = (e: Event) => {\n const target = e.target as HTMLInputElement;\n const value = target.value;\n // 验证 hex 颜色格式(3 位简写会被 handleColorSelect 内部规范化为 6 位)\n if (/^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/.test(value)) {\n this.handleColorSelect(value);\n }\n };\n\n /** 透明度条点击/拖动:X 轴映射到 alpha 0-100 */\n private handleAlphaClick = (e: MouseEvent) => {\n const target = e.currentTarget as HTMLElement;\n const rect = target.getBoundingClientRect();\n const x = e.clientX - rect.left;\n this.alpha = Math.max(0, Math.min(100, Math.round((x / rect.width) * 100)));\n // alpha 变化触发 active 事件(不改变 hex,但通知消费者透明度变化)\n this.hbActiveChange.emit(this.getFormattedValue());\n };\n\n private handleRgbInputChange = (index: number, value: string) => {\n const rgb = this.hexToRgb(this.currentColor);\n if (rgb) {\n const num = parseInt(value, 10);\n if (!isNaN(num) && num >= 0 && num <= 255) {\n if (index === 0) rgb.r = num;\n else if (index === 1) rgb.g = num;\n else if (index === 2) rgb.b = num;\n\n const hex = `#${[rgb.r, rgb.g, rgb.b]\n .map(x => {\n const hex = x.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')}`;\n this.handleColorSelect(hex);\n }\n }\n };\n\n private hexToRgb(hex: string): { r: number; g: number; b: number } | null {\n // 先用 normalizeHex 兜底 3 位简写(#abc → #aabbcc),再解析\n const normalized = this.normalizeHex(hex);\n if (!normalized) return null;\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(normalized);\n return result\n ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16),\n }\n : null;\n }\n\n // RGB 转 HSV\n private rgbToHsv(r: number, g: number, b: number): { h: number; s: number; v: number } {\n r = r / 255;\n g = g / 255;\n b = b / 255;\n\n const max = Math.max(r, g, b);\n const min = Math.min(r, g, b);\n const diff = max - min;\n\n let h = 0;\n if (diff !== 0) {\n if (max === r) {\n h = ((g - b) / diff) % 6;\n } else if (max === g) {\n h = (b - r) / diff + 2;\n } else {\n h = (r - g) / diff + 4;\n }\n }\n h = Math.round(h * 60);\n if (h < 0) h += 360;\n\n const s = max === 0 ? 0 : Math.round((diff / max) * 100);\n const v = Math.round(max * 100);\n\n return { h, s, v };\n }\n\n // HSV 转 RGB\n private hsvToRgb(h: number, s: number, v: number): { r: number; g: number; b: number } {\n s = s / 100;\n v = v / 100;\n\n const c = v * s;\n const x = c * (1 - Math.abs(((h / 60) % 2) - 1));\n const m = v - c;\n\n let r = 0,\n g = 0,\n b = 0;\n\n if (h >= 0 && h < 60) {\n r = c;\n g = x;\n b = 0;\n } else if (h >= 60 && h < 120) {\n r = x;\n g = c;\n b = 0;\n } else if (h >= 120 && h < 180) {\n r = 0;\n g = c;\n b = x;\n } else if (h >= 180 && h < 240) {\n r = 0;\n g = x;\n b = c;\n } else if (h >= 240 && h < 300) {\n r = x;\n g = 0;\n b = c;\n } else if (h >= 300 && h < 360) {\n r = c;\n g = 0;\n b = x;\n }\n\n return {\n r: Math.round((r + m) * 255),\n g: Math.round((g + m) * 255),\n b: Math.round((b + m) * 255),\n };\n }\n\n // HSV 转 Hex\n private hsvToHex(h: number, s: number, v: number): string {\n const rgb = this.hsvToRgb(h, s, v);\n return `#${[rgb.r, rgb.g, rgb.b]\n .map(x => {\n const hex = x.toString(16);\n return hex.length === 1 ? '0' + hex : hex;\n })\n .join('')}`;\n }\n\n // 从颜色值更新 HSV\n private updateHSVFromColor(color: string) {\n const rgb = this.hexToRgb(color);\n if (rgb) {\n const hsv = this.rgbToHsv(rgb.r, rgb.g, rgb.b);\n this.hue = hsv.h;\n this.saturation = hsv.s;\n this.value = hsv.v;\n }\n }\n\n /** 按当前 colorFormat 输出最终颜色字符串(对齐 antd 的 format 行为) */\n private getFormattedValue(): string {\n const rgb = this.hexToRgb(this.currentColor);\n if (!rgb) return this.currentColor;\n switch (this.colorFormat) {\n case 'rgb':\n return `rgb(${rgb.r}, ${rgb.g}, ${rgb.b})`;\n case 'hsl': {\n const hsv = this.rgbToHsv(rgb.r, rgb.g, rgb.b);\n const [h, s, l] = this.hsvToHsl(hsv.h, hsv.s, hsv.v);\n return `hsl(${h}, ${s}%, ${l}%)`;\n }\n case 'hsv': {\n const hsv = this.rgbToHsv(rgb.r, rgb.g, rgb.b);\n return `hsv(${hsv.h}, ${hsv.s}%, ${hsv.v}%)`;\n }\n case 'hex':\n default:\n return this.currentColor;\n }\n }\n\n /** HSV → HSL(HSL 字符串输出用) */\n private hsvToHsl(h: number, s: number, v: number): [number, number, number] {\n s /= 100;\n v /= 100;\n const l = v - (v * s) / 2;\n const sl = l === 0 || l === 1 ? 0 : (v - l) / Math.min(l, 1 - l);\n return [Math.round(h), Math.round(sl * 100), Math.round(l * 100)];\n }\n\n render() {\n const rgb = this.hexToRgb(this.currentColor);\n const predefinedColors = this.predefine || ['#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1', '#1e90ff', '#c71585', '#000000', '#ffffff', '#808080'];\n\n // 根据当前色相生成饱和度面板的背景色\n const hueColor = this.hsvToHex(this.hue, 100, 100);\n\n return (\n <div\n class={{\n 'hb-color-picker': true,\n 'hb-color-picker--open': this.isOpen,\n 'hb-color-picker--disabled': this.disabled,\n }}\n onKeyDown={this.handleKeyDown}\n >\n <div\n class=\"hb-color-picker__trigger\"\n onClick={this.handleTriggerClick}\n role=\"button\"\n tabindex={this.disabled ? -1 : 0}\n aria-haspopup=\"dialog\"\n aria-expanded={this.isOpen ? 'true' : 'false'}\n aria-disabled={this.disabled ? 'true' : 'false'}\n onKeyDown={e => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this.handleTriggerClick();\n }\n }}\n >\n <div class=\"hb-color-picker__color\" style={{ backgroundColor: this.currentColor }}></div>\n <span class=\"hb-color-picker__text\">{this.currentColor}</span>\n </div>\n {this.isOpen && (\n <div class=\"hb-color-picker__dropdown\" role=\"dialog\">\n <div class=\"hb-color-picker__panel\">\n <div class=\"hb-color-picker__saturation\" onClick={this.handleSaturationClick}>\n <div class=\"hb-color-picker__saturation-bg\" style={{ backgroundColor: hueColor }}></div>\n <div class=\"hb-color-picker__saturation-white\"></div>\n <div class=\"hb-color-picker__saturation-black\"></div>\n <div\n class=\"hb-color-picker__saturation-pointer\"\n style={{\n left: `${this.saturation}%`,\n top: `${100 - this.value}%`,\n }}\n ></div>\n </div>\n <div class=\"hb-color-picker__controls\">\n <div class=\"hb-color-picker__hue\" onClick={this.handleHueClick}>\n <div class=\"hb-color-picker__hue-bar\"></div>\n <div\n class=\"hb-color-picker__hue-pointer\"\n style={{\n left: `${(this.hue / 360) * 100}%`,\n }}\n ></div>\n </div>\n {this.showAlpha && (\n <div class=\"hb-color-picker__alpha\" onClick={this.handleAlphaClick}>\n <div class=\"hb-color-picker__alpha-bar\" style={{ backgroundColor: this.currentColor }}></div>\n <div class=\"hb-color-picker__alpha-pointer\" style={{ left: `${this.alpha}%` }}></div>\n </div>\n )}\n </div>\n <div class=\"hb-color-picker__input\">\n <input type=\"text\" class=\"hb-color-picker__input-hex\" value={this.currentColor} onInput={this.handleInputChange} aria-label=\"HEX 颜色值\" />\n {rgb && (\n <div class=\"hb-color-picker__input-rgb\">\n <input type=\"number\" min=\"0\" max=\"255\" value={rgb.r} onInput={e => this.handleRgbInputChange(0, (e.target as HTMLInputElement).value)} aria-label=\"红色通道\" />\n <input type=\"number\" min=\"0\" max=\"255\" value={rgb.g} onInput={e => this.handleRgbInputChange(1, (e.target as HTMLInputElement).value)} aria-label=\"绿色通道\" />\n <input type=\"number\" min=\"0\" max=\"255\" value={rgb.b} onInput={e => this.handleRgbInputChange(2, (e.target as HTMLInputElement).value)} aria-label=\"蓝色通道\" />\n </div>\n )}\n </div>\n {this.predefine && this.predefine.length > 0 && (\n <div class=\"hb-color-picker__predefine\">\n {predefinedColors.map(color => {\n const normalized = this.normalizeHex(color) || color;\n return (\n <div\n class={{\n 'hb-color-picker__predefine-color': true,\n 'hb-color-picker__predefine-color--selected': normalized === this.currentColor,\n }}\n style={{ backgroundColor: color }}\n onClick={() => this.handleColorSelect(color)}\n title={color}\n ></div>\n );\n })}\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n );\n }\n}\n"]}
|
|
@@ -133,12 +133,31 @@
|
|
|
133
133
|
|
|
134
134
|
.hb-color-picker__alpha-bar {
|
|
135
135
|
height: 100%;
|
|
136
|
-
background-image:
|
|
136
|
+
background-image:
|
|
137
|
+
linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ccc 75%),
|
|
138
|
+
linear-gradient(-45deg, transparent 75%, #ccc 75%);
|
|
137
139
|
background-size: 8px 8px;
|
|
138
|
-
background-position:
|
|
140
|
+
background-position:
|
|
141
|
+
0 0,
|
|
142
|
+
0 4px,
|
|
143
|
+
4px -4px,
|
|
144
|
+
-4px 0px;
|
|
139
145
|
border-radius: 2px;
|
|
140
146
|
}
|
|
141
147
|
|
|
148
|
+
.hb-color-picker__alpha-pointer {
|
|
149
|
+
position: absolute;
|
|
150
|
+
top: 0;
|
|
151
|
+
width: 4px;
|
|
152
|
+
height: 100%;
|
|
153
|
+
background: #fff;
|
|
154
|
+
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
155
|
+
border-radius: 2px;
|
|
156
|
+
transform: translateX(-50%);
|
|
157
|
+
box-shadow: 0 0 2px rgba(0, 0, 0, 0.3);
|
|
158
|
+
pointer-events: none;
|
|
159
|
+
}
|
|
160
|
+
|
|
142
161
|
.hb-color-picker__input {
|
|
143
162
|
margin-top: 12px;
|
|
144
163
|
}
|
|
@@ -200,4 +219,3 @@
|
|
|
200
219
|
.hb-color-picker--disabled .hb-color-picker__trigger {
|
|
201
220
|
cursor: not-allowed;
|
|
202
221
|
}
|
|
203
|
-
|
|
@@ -59,10 +59,10 @@ export class ColorPickerPanel {
|
|
|
59
59
|
'#ff4500', '#ff8c00', '#ffd700', '#90ee90', '#00ced1',
|
|
60
60
|
'#1e90ff', '#c71585', '#000000', '#ffffff', '#808080',
|
|
61
61
|
];
|
|
62
|
-
return (h("div", { key: '
|
|
62
|
+
return (h("div", { key: 'bf226e5918769e715aaf121e03316a9ba7165174', class: "hb-color-picker-panel" }, h("div", { key: 'e1940500a929515478b5a47540aabc716c81ff27', class: "hb-color-picker-panel__saturation" }, h("div", { key: 'cbb6de28453a7b72a2be56258af413814621bd04', class: "hb-color-picker-panel__saturation-white" }), h("div", { key: 'd982e1f04dc0566448bab44354bb47f9ed06e549', class: "hb-color-picker-panel__saturation-black" }), h("div", { key: 'd51391dd12c2383f01f0c80f677bbd30ffdf7540', class: "hb-color-picker-panel__saturation-pointer", style: {
|
|
63
63
|
left: rgb ? `${(rgb.r / 255) * 100}%` : '50%',
|
|
64
64
|
top: rgb ? `${(1 - rgb.g / 255) * 100}%` : '50%',
|
|
65
|
-
} })), h("div", { key: '
|
|
65
|
+
} })), h("div", { key: '3a962859eeeddabbe34ffd3459b6fead2bb93e20', class: "hb-color-picker-panel__controls" }, h("div", { key: '2d64a8c40a17a1a1e827b2ee3ebac717cfa10286', class: "hb-color-picker-panel__hue" }, h("div", { key: '30ab4768f4f6fd027d169480d44fc14089ed1452', class: "hb-color-picker-panel__hue-bar" })), this.showAlpha && (h("div", { key: '09984d0734eb3446962b4deb5ef617358a6d2c2f', class: "hb-color-picker-panel__alpha" }, h("div", { key: '1e2e49e7e6532a62ae1a539b4787adbde9a484da', class: "hb-color-picker-panel__alpha-bar", style: { backgroundColor: this.currentColor } })))), h("div", { key: '8a34f379cbd1032ec9ae024b1b1168a5b1ae0af1', class: "hb-color-picker-panel__input" }, h("input", { key: '181d1f41a560fc7f49a0e334c749bb539476549c', type: "text", class: "hb-color-picker-panel__input-hex", value: this.currentColor, onInput: this.handleInputChange }), rgb && (h("div", { key: '1580bf0e898561e1c9f93da1e6f121cecc452824', class: "hb-color-picker-panel__input-rgb" }, h("input", { key: 'ba0970b200000c7ccf744883caaf4fa3d33dad61', type: "number", min: "0", max: "255", value: rgb.r }), h("input", { key: '6b35330cce8d4b2a7f040c113b1c9e9bd243e1b6', type: "number", min: "0", max: "255", value: rgb.g }), h("input", { key: '723c29edbf58a838b7bedaee6758ae38cd948e13', type: "number", min: "0", max: "255", value: rgb.b })))), this.predefine && this.predefine.length > 0 && (h("div", { key: 'c5c89935fc736fde14d946139c31404a1b978be5', class: "hb-color-picker-panel__predefine" }, predefinedColors.map((color) => (h("div", { class: {
|
|
66
66
|
'hb-color-picker-panel__predefine-color': true,
|
|
67
67
|
'hb-color-picker-panel__predefine-color--selected': color === this.currentColor,
|
|
68
68
|
}, style: { backgroundColor: color }, onClick: () => this.handleColorSelect(color) })))))));
|
|
@@ -12,7 +12,7 @@ export class ConfigProvider {
|
|
|
12
12
|
/** 语言 */
|
|
13
13
|
locale = 'zh-CN';
|
|
14
14
|
render() {
|
|
15
|
-
return h("slot", { key: '
|
|
15
|
+
return h("slot", { key: '60b01e02978bd4ce20fcebb1efc56b679001275a' });
|
|
16
16
|
}
|
|
17
17
|
componentDidLoad() {
|
|
18
18
|
this.applyConfig();
|
|
@@ -13,7 +13,7 @@ export class Aside {
|
|
|
13
13
|
if (this.width) {
|
|
14
14
|
style.width = this.width;
|
|
15
15
|
}
|
|
16
|
-
return (h("aside", { key: '
|
|
16
|
+
return (h("aside", { key: '2615bba7300b1d86fa82a1618718e07479f41348', class: "hb-aside", style: style }, h("slot", { key: 'dd4ad7e905f2ea8c72bc4d70c82ab0a13bed5e0f' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "hb-aside"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|
|
@@ -10,10 +10,10 @@ export class Container {
|
|
|
10
10
|
*/
|
|
11
11
|
direction = 'horizontal';
|
|
12
12
|
render() {
|
|
13
|
-
return (h("section", { key: '
|
|
13
|
+
return (h("section", { key: 'ae4367497d812f39390c7b4fdeb3dc64586e5621', class: {
|
|
14
14
|
'hb-container': true,
|
|
15
15
|
'hb-container--vertical': this.direction === 'vertical',
|
|
16
|
-
} }, h("slot", { key: '
|
|
16
|
+
} }, h("slot", { key: 'bdfee3ce5b691fcc69c4b1f3e7b7afd6b1709af2' })));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "hb-container"; }
|
|
19
19
|
static get encapsulation() { return "shadow"; }
|