@transsionfe/semi-ui-vue 0.0.1 → 0.0.2
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/lib/es/components/_cssAnimation/index.vue2.js +5 -0
- package/lib/es/components/_cssAnimation/index.vue2.js.map +1 -0
- package/lib/es/components/_portal/Portal.vue2.js +5 -0
- package/lib/es/components/_portal/Portal.vue2.js.map +1 -0
- package/lib/es/components/_resizeObserver/index.vue2.js +5 -0
- package/lib/es/components/_resizeObserver/index.vue2.js.map +1 -0
- package/lib/es/components/_sortable/Sortable.vue2.js +118 -0
- package/lib/es/components/_sortable/Sortable.vue2.js.map +1 -0
- package/lib/es/components/anchor/Anchor.vue2.js +5 -0
- package/lib/es/components/anchor/Anchor.vue2.js.map +1 -0
- package/lib/es/components/anchor/Link.vue2.js +5 -0
- package/lib/es/components/anchor/Link.vue2.js.map +1 -0
- package/lib/es/components/autoComplete/AutoComplete.vue2.js +5 -0
- package/lib/es/components/autoComplete/AutoComplete.vue2.js.map +1 -0
- package/lib/es/components/autoComplete/Option.vue2.js +5 -0
- package/lib/es/components/autoComplete/Option.vue2.js.map +1 -0
- package/lib/es/components/avatar/Avatar.vue2.js +5 -0
- package/lib/es/components/avatar/Avatar.vue2.js.map +1 -0
- package/lib/es/components/avatar/AvatarGroup.vue2.js +5 -0
- package/lib/es/components/avatar/AvatarGroup.vue2.js.map +1 -0
- package/lib/es/components/avatar/TopSlotSvg.vue2.js +5 -0
- package/lib/es/components/avatar/TopSlotSvg.vue2.js.map +1 -0
- package/lib/es/components/backTop/BackTop.vue2.js +5 -0
- package/lib/es/components/backTop/BackTop.vue2.js.map +1 -0
- package/lib/es/components/badge/Badge.vue2.js +5 -0
- package/lib/es/components/badge/Badge.vue2.js.map +1 -0
- package/lib/es/components/banner/Banner.vue2.js +5 -0
- package/lib/es/components/banner/Banner.vue2.js.map +1 -0
- package/lib/es/components/breadcrumb/Breadcrumb.vue2.js +185 -0
- package/lib/es/components/breadcrumb/Breadcrumb.vue2.js.map +1 -0
- package/lib/es/components/breadcrumb/BreadcrumbItem.vue2.js +159 -0
- package/lib/es/components/breadcrumb/BreadcrumbItem.vue2.js.map +1 -0
- package/lib/es/components/button/Button.vue2.js +5 -0
- package/lib/es/components/button/Button.vue2.js.map +1 -0
- package/lib/es/components/button/ButtonGroup.vue2.js +5 -0
- package/lib/es/components/button/ButtonGroup.vue2.js.map +1 -0
- package/lib/es/components/button/SplitButtonGroup.vue2.js +5 -0
- package/lib/es/components/button/SplitButtonGroup.vue2.js.map +1 -0
- package/lib/es/components/calendar/Calendar.vue2.js +5 -0
- package/lib/es/components/calendar/Calendar.vue2.js.map +1 -0
- package/lib/es/components/calendar/DayCalendar.vue2.js +194 -0
- package/lib/es/components/calendar/DayCalendar.vue2.js.map +1 -0
- package/lib/es/components/calendar/DayCol.vue2.js +125 -0
- package/lib/es/components/calendar/DayCol.vue2.js.map +1 -0
- package/lib/es/components/calendar/MonthCalendar.vue2.js +228 -0
- package/lib/es/components/calendar/MonthCalendar.vue2.js.map +1 -0
- package/lib/es/components/calendar/MonthCalendarInner.vue2.js +5 -0
- package/lib/es/components/calendar/MonthCalendarInner.vue2.js.map +1 -0
- package/lib/es/components/calendar/RangeCalendar.vue2.js +178 -0
- package/lib/es/components/calendar/RangeCalendar.vue2.js.map +1 -0
- package/lib/es/components/calendar/RangeCalendarInner.vue2.js +5 -0
- package/lib/es/components/calendar/RangeCalendarInner.vue2.js.map +1 -0
- package/lib/es/components/calendar/TimeCol.vue2.js +54 -0
- package/lib/es/components/calendar/TimeCol.vue2.js.map +1 -0
- package/lib/es/components/calendar/WeekCalendar.vue2.js +178 -0
- package/lib/es/components/calendar/WeekCalendar.vue2.js.map +1 -0
- package/lib/es/components/calendar/WeekCalendarInner.vue2.js +5 -0
- package/lib/es/components/calendar/WeekCalendarInner.vue2.js.map +1 -0
- package/lib/es/components/card/Card.vue2.js +130 -0
- package/lib/es/components/card/Card.vue2.js.map +1 -0
- package/lib/es/components/card/CardGroup.vue2.js +5 -0
- package/lib/es/components/card/CardGroup.vue2.js.map +1 -0
- package/lib/es/components/carousel/Carousel.vue2.js +5 -0
- package/lib/es/components/carousel/Carousel.vue2.js.map +1 -0
- package/lib/es/components/carousel/CarouselArrow.vue2.js +5 -0
- package/lib/es/components/carousel/CarouselArrow.vue2.js.map +1 -0
- package/lib/es/components/carousel/CarouselIndicator.vue2.js +5 -0
- package/lib/es/components/carousel/CarouselIndicator.vue2.js.map +1 -0
- package/lib/es/components/cascader/Cascader.vue2.js +5 -0
- package/lib/es/components/cascader/Cascader.vue2.js.map +1 -0
- package/lib/es/components/cascader/CascaderPanel.vue2.js +5 -0
- package/lib/es/components/cascader/CascaderPanel.vue2.js.map +1 -0
- package/lib/es/components/cascader/Item.vue2.js +5 -0
- package/lib/es/components/cascader/Item.vue2.js.map +1 -0
- package/lib/es/components/checkbox/Checkbox.vue2.js +5 -0
- package/lib/es/components/checkbox/Checkbox.vue2.js.map +1 -0
- package/lib/es/components/checkbox/CheckboxGroup.vue2.js +5 -0
- package/lib/es/components/checkbox/CheckboxGroup.vue2.js.map +1 -0
- package/lib/es/components/checkbox/CheckboxInner.vue2.js +90 -0
- package/lib/es/components/checkbox/CheckboxInner.vue2.js.map +1 -0
- package/lib/es/components/collapse/Collapse.vue2.js +5 -0
- package/lib/es/components/collapse/Collapse.vue2.js.map +1 -0
- package/lib/es/components/collapse/CollapsePanel.vue2.js +5 -0
- package/lib/es/components/collapse/CollapsePanel.vue2.js.map +1 -0
- package/lib/es/components/collapsible/Collapsible.vue2.js +5 -0
- package/lib/es/components/collapsible/Collapsible.vue2.js.map +1 -0
- package/lib/es/components/colorPicker/AlphaSlider.vue2.js +5 -0
- package/lib/es/components/colorPicker/AlphaSlider.vue2.js.map +1 -0
- package/lib/es/components/colorPicker/ColorChooseArea.vue2.js +5 -0
- package/lib/es/components/colorPicker/ColorChooseArea.vue2.js.map +1 -0
- package/lib/es/components/colorPicker/ColorPicker.vue2.js +5 -0
- package/lib/es/components/colorPicker/ColorPicker.vue2.js.map +1 -0
- package/lib/es/components/colorPicker/ColorPickerInner.vue2.js +5 -0
- package/lib/es/components/colorPicker/ColorPickerInner.vue2.js.map +1 -0
- package/lib/es/components/colorPicker/ColorSlider.vue2.js +5 -0
- package/lib/es/components/colorPicker/ColorSlider.vue2.js.map +1 -0
- package/lib/es/components/colorPicker/DataPart.vue2.js +5 -0
- package/lib/es/components/colorPicker/DataPart.vue2.js.map +1 -0
- package/lib/es/components/datePicker/DatePicker.vue2.js +5 -0
- package/lib/es/components/datePicker/DatePicker.vue2.js.map +1 -0
- package/lib/es/components/datePicker/Footer.vue2.js +5 -0
- package/lib/es/components/datePicker/Footer.vue2.js.map +1 -0
- package/lib/es/components/datePicker/Month.vue2.js +5 -0
- package/lib/es/components/datePicker/Month.vue2.js.map +1 -0
- package/lib/es/components/datePicker/MonthsGrid.vue2.js +5 -0
- package/lib/es/components/datePicker/MonthsGrid.vue2.js.map +1 -0
- package/lib/es/components/datePicker/Navigation.vue2.js +5 -0
- package/lib/es/components/datePicker/Navigation.vue2.js.map +1 -0
- package/lib/es/components/datePicker/Panel.vue2.js +5 -0
- package/lib/es/components/datePicker/Panel.vue2.js.map +1 -0
- package/lib/es/components/datePicker/QuickControl.vue2.js +5 -0
- package/lib/es/components/datePicker/QuickControl.vue2.js.map +1 -0
- package/lib/es/components/datePicker/YearAndMonth.vue2.js +5 -0
- package/lib/es/components/datePicker/YearAndMonth.vue2.js.map +1 -0
- package/lib/es/components/descriptions/Descriptions.vue2.js +5 -0
- package/lib/es/components/descriptions/Descriptions.vue2.js.map +1 -0
- package/lib/es/components/descriptions/DescriptionsItem.vue2.js +5 -0
- package/lib/es/components/descriptions/DescriptionsItem.vue2.js.map +1 -0
- package/lib/es/components/divider/Divider.vue2.js +5 -0
- package/lib/es/components/divider/Divider.vue2.js.map +1 -0
- package/lib/es/components/dropdown/ContextProvider.vue2.js +5 -0
- package/lib/es/components/dropdown/ContextProvider.vue2.js.map +1 -0
- package/lib/es/components/dropdown/Dropdown.vue2.js +5 -0
- package/lib/es/components/dropdown/Dropdown.vue2.js.map +1 -0
- package/lib/es/components/dropdown/DropdownDivider.vue2.js +5 -0
- package/lib/es/components/dropdown/DropdownDivider.vue2.js.map +1 -0
- package/lib/es/components/dropdown/DropdownItem.vue2.js +5 -0
- package/lib/es/components/dropdown/DropdownItem.vue2.js.map +1 -0
- package/lib/es/components/dropdown/DropdownMenu.vue2.js +5 -0
- package/lib/es/components/dropdown/DropdownMenu.vue2.js.map +1 -0
- package/lib/es/components/dropdown/DropdownTitle.vue2.js +5 -0
- package/lib/es/components/dropdown/DropdownTitle.vue2.js.map +1 -0
- package/lib/es/components/empty/Empty.vue2.js +5 -0
- package/lib/es/components/empty/Empty.vue2.js.map +1 -0
- package/lib/es/components/form/ArrayField.vue2.js +5 -0
- package/lib/es/components/form/ArrayField.vue2.js.map +1 -0
- package/lib/es/components/form/ErrorMessage.vue2.js +5 -0
- package/lib/es/components/form/ErrorMessage.vue2.js.map +1 -0
- package/lib/es/components/form/FieldWrapper.vue2.js +5 -0
- package/lib/es/components/form/FieldWrapper.vue2.js.map +1 -0
- package/lib/es/components/form/Form.vue2.js +5 -0
- package/lib/es/components/form/Form.vue2.js.map +1 -0
- package/lib/es/components/form/Group.vue2.js +5 -0
- package/lib/es/components/form/Group.vue2.js.map +1 -0
- package/lib/es/components/form/Label.vue2.js +5 -0
- package/lib/es/components/form/Label.vue2.js.map +1 -0
- package/lib/es/components/form/Section.vue2.js +37 -0
- package/lib/es/components/form/Section.vue2.js.map +1 -0
- package/lib/es/components/form/Slot.vue2.js +5 -0
- package/lib/es/components/form/Slot.vue2.js.map +1 -0
- package/lib/es/components/grid/Col.vue2.js +5 -0
- package/lib/es/components/grid/Col.vue2.js.map +1 -0
- package/lib/es/components/grid/Row.vue2.js +5 -0
- package/lib/es/components/grid/Row.vue2.js.map +1 -0
- package/lib/es/components/highlight/Highlight.vue2.js +5 -0
- package/lib/es/components/highlight/Highlight.vue2.js.map +1 -0
- package/lib/es/components/iconButton/IconButton.vue2.js +5 -0
- package/lib/es/components/iconButton/IconButton.vue2.js.map +1 -0
- package/lib/es/components/image/Image.vue2.js +5 -0
- package/lib/es/components/image/Image.vue2.js.map +1 -0
- package/lib/es/components/image/Preview.vue2.js +5 -0
- package/lib/es/components/image/Preview.vue2.js.map +1 -0
- package/lib/es/components/image/PreviewFooter.vue2.js +5 -0
- package/lib/es/components/image/PreviewFooter.vue2.js.map +1 -0
- package/lib/es/components/image/PreviewHeader.vue2.js +5 -0
- package/lib/es/components/image/PreviewHeader.vue2.js.map +1 -0
- package/lib/es/components/image/PreviewImage.vue2.js +5 -0
- package/lib/es/components/image/PreviewImage.vue2.js.map +1 -0
- package/lib/es/components/image/PreviewInner.vue2.js +5 -0
- package/lib/es/components/image/PreviewInner.vue2.js.map +1 -0
- package/lib/es/components/input/Input.vue2.js +5 -0
- package/lib/es/components/input/Input.vue2.js.map +1 -0
- package/lib/es/components/input/InputGroup.vue2.js +5 -0
- package/lib/es/components/input/InputGroup.vue2.js.map +1 -0
- package/lib/es/components/input/TextArea.vue2.js +5 -0
- package/lib/es/components/input/TextArea.vue2.js.map +1 -0
- package/lib/es/components/inputNumber/InputNumber.vue2.js +5 -0
- package/lib/es/components/inputNumber/InputNumber.vue2.js.map +1 -0
- package/lib/es/components/layout/Content.vue2.js +5 -0
- package/lib/es/components/layout/Content.vue2.js.map +1 -0
- package/lib/es/components/layout/Footer.vue2.js +5 -0
- package/lib/es/components/layout/Footer.vue2.js.map +1 -0
- package/lib/es/components/layout/Header.vue2.js +5 -0
- package/lib/es/components/layout/Header.vue2.js.map +1 -0
- package/lib/es/components/layout/Layout.vue2.js +5 -0
- package/lib/es/components/layout/Layout.vue2.js.map +1 -0
- package/lib/es/components/layout/Sider.vue2.js +5 -0
- package/lib/es/components/layout/Sider.vue2.js.map +1 -0
- package/lib/es/components/list/List.vue2.js +5 -0
- package/lib/es/components/list/List.vue2.js.map +1 -0
- package/lib/es/components/list/ListItem.vue2.js +5 -0
- package/lib/es/components/list/ListItem.vue2.js.map +1 -0
- package/lib/es/components/locale/LocaleConsumer.vue2.js +5 -0
- package/lib/es/components/locale/LocaleConsumer.vue2.js.map +1 -0
- package/lib/es/components/locale/LocaleProvider.vue2.js +5 -0
- package/lib/es/components/locale/LocaleProvider.vue2.js.map +1 -0
- package/lib/es/components/modal/ConfirmModal.vue2.js +5 -0
- package/lib/es/components/modal/ConfirmModal.vue2.js.map +1 -0
- package/lib/es/components/modal/Modal.vue2.js +5 -0
- package/lib/es/components/modal/Modal.vue2.js.map +1 -0
- package/lib/es/components/modal/ModalContent.vue2.js +5 -0
- package/lib/es/components/modal/ModalContent.vue2.js.map +1 -0
- package/lib/es/components/navigation/CollapseButton.vue2.js +5 -0
- package/lib/es/components/navigation/CollapseButton.vue2.js.map +1 -0
- package/lib/es/components/navigation/Footer.vue2.js +5 -0
- package/lib/es/components/navigation/Footer.vue2.js.map +1 -0
- package/lib/es/components/navigation/Header.vue2.js +5 -0
- package/lib/es/components/navigation/Header.vue2.js.map +1 -0
- package/lib/es/components/navigation/Item.vue2.js +5 -0
- package/lib/es/components/navigation/Item.vue2.js.map +1 -0
- package/lib/es/components/navigation/Navigation.vue2.js +5 -0
- package/lib/es/components/navigation/Navigation.vue2.js.map +1 -0
- package/lib/es/components/navigation/SubNav.vue2.js +5 -0
- package/lib/es/components/navigation/SubNav.vue2.js.map +1 -0
- package/lib/es/components/notification/Notice.vue2.js +5 -0
- package/lib/es/components/notification/Notice.vue2.js.map +1 -0
- package/lib/es/components/notification/NotificationList.vue2.js +5 -0
- package/lib/es/components/notification/NotificationList.vue2.js.map +1 -0
- package/lib/es/components/overflowList/IntersectionObserver.vue2.js +5 -0
- package/lib/es/components/overflowList/IntersectionObserver.vue2.js.map +1 -0
- package/lib/es/components/overflowList/OverflowList.vue2.js +5 -0
- package/lib/es/components/overflowList/OverflowList.vue2.js.map +1 -0
- package/lib/es/components/pagination/Pagination.vue2.js +5 -0
- package/lib/es/components/pagination/Pagination.vue2.js.map +1 -0
- package/lib/es/components/pagination/RestPageList.vue2.js +5 -0
- package/lib/es/components/pagination/RestPageList.vue2.js.map +1 -0
- package/lib/es/components/pinCode/PinCode.vue2.js +5 -0
- package/lib/es/components/pinCode/PinCode.vue2.js.map +1 -0
- package/lib/es/components/popconfirm/Popconfirm.vue2.js +5 -0
- package/lib/es/components/popconfirm/Popconfirm.vue2.js.map +1 -0
- package/lib/es/components/popover/Arrow.vue2.js +59 -0
- package/lib/es/components/popover/Arrow.vue2.js.map +1 -0
- package/lib/es/components/popover/Popover.vue2.js +5 -0
- package/lib/es/components/popover/Popover.vue2.js.map +1 -0
- package/lib/es/components/progress/Progress.vue2.js +5 -0
- package/lib/es/components/progress/Progress.vue2.js.map +1 -0
- package/lib/es/components/radio/Radio.vue2.js +5 -0
- package/lib/es/components/radio/Radio.vue2.js.map +1 -0
- package/lib/es/components/radio/RadioGroup.vue2.js +5 -0
- package/lib/es/components/radio/RadioGroup.vue2.js.map +1 -0
- package/lib/es/components/rating/Rating.vue2.js +5 -0
- package/lib/es/components/rating/Rating.vue2.js.map +1 -0
- package/lib/es/components/rating/RatingItem.vue2.js +5 -0
- package/lib/es/components/rating/RatingItem.vue2.js.map +1 -0
- package/lib/es/components/resizable/Resizable.vue2.js +5 -0
- package/lib/es/components/resizable/Resizable.vue2.js.map +1 -0
- package/lib/es/components/resizable/ResizableHandler.vue2.js +5 -0
- package/lib/es/components/resizable/ResizableHandler.vue2.js.map +1 -0
- package/lib/es/components/resizable/group/ResizeGroup.vue2.js +5 -0
- package/lib/es/components/resizable/group/ResizeGroup.vue2.js.map +1 -0
- package/lib/es/components/resizable/group/ResizeHandler.vue2.js +5 -0
- package/lib/es/components/resizable/group/ResizeHandler.vue2.js.map +1 -0
- package/lib/es/components/resizable/group/ResizeItem.vue2.js +5 -0
- package/lib/es/components/resizable/group/ResizeItem.vue2.js.map +1 -0
- package/lib/es/components/resizeObserver/index.vue2.js +5 -0
- package/lib/es/components/resizeObserver/index.vue2.js.map +1 -0
- package/lib/es/components/scrollList/ScrollItem.vue2.js +5 -0
- package/lib/es/components/scrollList/ScrollItem.vue2.js.map +1 -0
- package/lib/es/components/scrollList/ScrollList.vue2.js +5 -0
- package/lib/es/components/scrollList/ScrollList.vue2.js.map +1 -0
- package/lib/es/components/select/Option.vue2.js +5 -0
- package/lib/es/components/select/Option.vue2.js.map +1 -0
- package/lib/es/components/select/OptionGroup.vue2.js +5 -0
- package/lib/es/components/select/OptionGroup.vue2.js.map +1 -0
- package/lib/es/components/select/Select.vue2.js +5 -0
- package/lib/es/components/select/Select.vue2.js.map +1 -0
- package/lib/es/components/sideSheet/SideSheet.vue2.js +5 -0
- package/lib/es/components/sideSheet/SideSheet.vue2.js.map +1 -0
- package/lib/es/components/sideSheet/SideSheetContent.vue2.js +5 -0
- package/lib/es/components/sideSheet/SideSheetContent.vue2.js.map +1 -0
- package/lib/es/components/skeleton/Skeleton.vue2.js +5 -0
- package/lib/es/components/skeleton/Skeleton.vue2.js.map +1 -0
- package/lib/es/components/skeleton/SkeletonAvatar.vue2.js +5 -0
- package/lib/es/components/skeleton/SkeletonAvatar.vue2.js.map +1 -0
- package/lib/es/components/skeleton/SkeletonButton.vue2.js +5 -0
- package/lib/es/components/skeleton/SkeletonButton.vue2.js.map +1 -0
- package/lib/es/components/skeleton/SkeletonImage.vue2.js +5 -0
- package/lib/es/components/skeleton/SkeletonImage.vue2.js.map +1 -0
- package/lib/es/components/skeleton/SkeletonParagraph.vue2.js +5 -0
- package/lib/es/components/skeleton/SkeletonParagraph.vue2.js.map +1 -0
- package/lib/es/components/skeleton/SkeletonTitle.vue2.js +5 -0
- package/lib/es/components/skeleton/SkeletonTitle.vue2.js.map +1 -0
- package/lib/es/components/slider/Slider.vue2.js +5 -0
- package/lib/es/components/slider/Slider.vue2.js.map +1 -0
- package/lib/es/components/space/Space.vue2.js +5 -0
- package/lib/es/components/space/Space.vue2.js.map +1 -0
- package/lib/es/components/spin/Spin.vue2.js +5 -0
- package/lib/es/components/spin/Spin.vue2.js.map +1 -0
- package/lib/es/components/steps/BasicStep.vue2.js +5 -0
- package/lib/es/components/steps/BasicStep.vue2.js.map +1 -0
- package/lib/es/components/steps/BasicSteps.vue2.js +5 -0
- package/lib/es/components/steps/BasicSteps.vue2.js.map +1 -0
- package/lib/es/components/steps/FillStep.vue2.js +5 -0
- package/lib/es/components/steps/FillStep.vue2.js.map +1 -0
- package/lib/es/components/steps/FillSteps.vue2.js +5 -0
- package/lib/es/components/steps/FillSteps.vue2.js.map +1 -0
- package/lib/es/components/steps/NavStep.vue2.js +5 -0
- package/lib/es/components/steps/NavStep.vue2.js.map +1 -0
- package/lib/es/components/steps/NavSteps.vue2.js +5 -0
- package/lib/es/components/steps/NavSteps.vue2.js.map +1 -0
- package/lib/es/components/steps/Step.vue2.js +5 -0
- package/lib/es/components/steps/Step.vue2.js.map +1 -0
- package/lib/es/components/steps/Steps.vue2.js +5 -0
- package/lib/es/components/steps/Steps.vue2.js.map +1 -0
- package/lib/es/components/switch/Switch.vue2.js +5 -0
- package/lib/es/components/switch/Switch.vue2.js.map +1 -0
- package/lib/es/components/table/Column.vue2.js +5 -0
- package/lib/es/components/table/Column.vue2.js.map +1 -0
- package/lib/es/components/table/ColumnFilter.vue2.js +133 -0
- package/lib/es/components/table/ColumnFilter.vue2.js.map +1 -0
- package/lib/es/components/table/ColumnSorter.vue2.js +73 -0
- package/lib/es/components/table/ColumnSorter.vue2.js.map +1 -0
- package/lib/es/components/table/CustomExpandIcon.vue2.js +63 -0
- package/lib/es/components/table/CustomExpandIcon.vue2.js.map +1 -0
- package/lib/es/components/table/ResizableHeaderCell.vue2.js +52 -0
- package/lib/es/components/table/ResizableHeaderCell.vue2.js.map +1 -0
- package/lib/es/components/table/Table.vue2.js +5 -0
- package/lib/es/components/table/Table.vue2.js.map +1 -0
- package/lib/es/components/table/TableCell.vue2.js +207 -0
- package/lib/es/components/table/TableCell.vue2.js.map +1 -0
- package/lib/es/components/table/TableHeader.vue2.js +93 -0
- package/lib/es/components/table/TableHeader.vue2.js.map +1 -0
- package/lib/es/components/table/TableHeaderRow.vue2.js +351 -0
- package/lib/es/components/table/TableHeaderRow.vue2.js.map +1 -0
- package/lib/es/components/table/TableSelectionCell.vue2.js +74 -0
- package/lib/es/components/table/TableSelectionCell.vue2.js.map +1 -0
- package/lib/es/components/table/VirtualizedBody.vue2.js +652 -0
- package/lib/es/components/table/VirtualizedBody.vue2.js.map +1 -0
- package/lib/es/components/tabs/TabBar.vue2.js +5 -0
- package/lib/es/components/tabs/TabBar.vue2.js.map +1 -0
- package/lib/es/components/tabs/TabItem.vue2.js +5 -0
- package/lib/es/components/tabs/TabItem.vue2.js.map +1 -0
- package/lib/es/components/tabs/TabPane.vue2.js +5 -0
- package/lib/es/components/tabs/TabPane.vue2.js.map +1 -0
- package/lib/es/components/tabs/Tabs.vue2.js +5 -0
- package/lib/es/components/tabs/Tabs.vue2.js.map +1 -0
- package/lib/es/components/tag/Tag.vue2.js +5 -0
- package/lib/es/components/tag/Tag.vue2.js.map +1 -0
- package/lib/es/components/tag/TagGroup.vue2.js +5 -0
- package/lib/es/components/tag/TagGroup.vue2.js.map +1 -0
- package/lib/es/components/tagInput/TagInput.vue2.js +412 -0
- package/lib/es/components/tagInput/TagInput.vue2.js.map +1 -0
- package/lib/es/components/tagInput/TagItem.vue2.js +5 -0
- package/lib/es/components/tagInput/TagItem.vue2.js.map +1 -0
- package/lib/es/components/timePicker/Combobox.vue2.js +5 -0
- package/lib/es/components/timePicker/Combobox.vue2.js.map +1 -0
- package/lib/es/components/timePicker/TimeInput.vue2.js +5 -0
- package/lib/es/components/timePicker/TimeInput.vue2.js.map +1 -0
- package/lib/es/components/timePicker/TimePicker.vue2.js +5 -0
- package/lib/es/components/timePicker/TimePicker.vue2.js.map +1 -0
- package/lib/es/components/timeline/Timeline.vue2.js +5 -0
- package/lib/es/components/timeline/Timeline.vue2.js.map +1 -0
- package/lib/es/components/timeline/TimelineItem.vue2.js +5 -0
- package/lib/es/components/timeline/TimelineItem.vue2.js.map +1 -0
- package/lib/es/components/toast/HookToast.vue2.js +5 -0
- package/lib/es/components/toast/HookToast.vue2.js.map +1 -0
- package/lib/es/components/toast/Toast.vue2.js +5 -0
- package/lib/es/components/toast/Toast.vue2.js.map +1 -0
- package/lib/es/components/toast/ToastList.vue2.js +5 -0
- package/lib/es/components/toast/ToastList.vue2.js.map +1 -0
- package/lib/es/components/tooltip/Tooltip.vue2.js +594 -0
- package/lib/es/components/tooltip/Tooltip.vue2.js.map +1 -0
- package/lib/es/components/tooltip/TriangleArrow.vue2.js +5 -0
- package/lib/es/components/tooltip/TriangleArrow.vue2.js.map +1 -0
- package/lib/es/components/tooltip/TriangleArrowVertical.vue2.js +5 -0
- package/lib/es/components/tooltip/TriangleArrowVertical.vue2.js.map +1 -0
- package/lib/es/components/transfer/Transfer.vue2.js +5 -0
- package/lib/es/components/transfer/Transfer.vue2.js.map +1 -0
- package/lib/es/components/transfer/TransferHeader.vue2.js +5 -0
- package/lib/es/components/transfer/TransferHeader.vue2.js.map +1 -0
- package/lib/es/components/transfer/TransferSelected.vue2.js +5 -0
- package/lib/es/components/transfer/TransferSelected.vue2.js.map +1 -0
- package/lib/es/components/transfer/TransferSource.vue2.js +5 -0
- package/lib/es/components/transfer/TransferSource.vue2.js.map +1 -0
- package/lib/es/components/tree/AutoSizer.vue2.js +5 -0
- package/lib/es/components/tree/AutoSizer.vue2.js.map +1 -0
- package/lib/es/components/tree/Indent.vue2.js +5 -0
- package/lib/es/components/tree/Indent.vue2.js.map +1 -0
- package/lib/es/components/tree/NodeCollapsible.vue2.js +5 -0
- package/lib/es/components/tree/NodeCollapsible.vue2.js.map +1 -0
- package/lib/es/components/tree/NodeList.vue2.js +5 -0
- package/lib/es/components/tree/NodeList.vue2.js.map +1 -0
- package/lib/es/components/tree/Tree.vue2.js +5 -0
- package/lib/es/components/tree/Tree.vue2.js.map +1 -0
- package/lib/es/components/tree/TreeNode.vue2.js +5 -0
- package/lib/es/components/tree/TreeNode.vue2.js.map +1 -0
- package/lib/es/components/treeSelect/TreeSelect.vue2.js +5 -0
- package/lib/es/components/treeSelect/TreeSelect.vue2.js.map +1 -0
- package/lib/es/components/trigger/Trigger.vue2.js +5 -0
- package/lib/es/components/trigger/Trigger.vue2.js.map +1 -0
- package/lib/es/components/typography/Base.vue2.js +5 -0
- package/lib/es/components/typography/Base.vue2.js.map +1 -0
- package/lib/es/components/typography/Copyable.vue2.js +5 -0
- package/lib/es/components/typography/Copyable.vue2.js.map +1 -0
- package/lib/es/components/typography/Paragraph.vue2.js +5 -0
- package/lib/es/components/typography/Paragraph.vue2.js.map +1 -0
- package/lib/es/components/typography/Text.vue2.js +5 -0
- package/lib/es/components/typography/Text.vue2.js.map +1 -0
- package/lib/es/components/typography/Title.vue2.js +5 -0
- package/lib/es/components/typography/Title.vue2.js.map +1 -0
- package/lib/es/components/typography/Typography.vue2.js +5 -0
- package/lib/es/components/typography/Typography.vue2.js.map +1 -0
- package/lib/es/components/upload/Upload.vue2.js +5 -0
- package/lib/es/components/upload/Upload.vue2.js.map +1 -0
- package/package.json +4 -3
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
import { defineComponent as Y, useAttrs as Z, ref as u, computed as c, onMounted as ee, nextTick as h, watch as g, createBlock as M, openBlock as P, withCtx as y, unref as te, createSlots as ne, renderSlot as p, normalizeProps as w, guardReactiveProps as k } from "vue";
|
|
2
|
+
import C from "classnames";
|
|
3
|
+
import { isEqual as S } from "lodash";
|
|
4
|
+
import ae from "@douyinfe/semi-foundation/calendar/foundation";
|
|
5
|
+
import { cssClasses as m } from "@douyinfe/semi-foundation/calendar/constants";
|
|
6
|
+
import se from "../locale/LocaleConsumer.vue.js";
|
|
7
|
+
import oe from "./MonthCalendarInner.vue.js";
|
|
8
|
+
import { useBaseComponent as ie } from "../_utils/useBaseComponent.js";
|
|
9
|
+
import { useFoundation as re } from "../../_utils/useFoundation.js";
|
|
10
|
+
const ge = /* @__PURE__ */ Y({
|
|
11
|
+
name: "SemiMonthCalendar",
|
|
12
|
+
inheritAttrs: !1,
|
|
13
|
+
__name: "MonthCalendar",
|
|
14
|
+
props: {
|
|
15
|
+
displayValue: { default: () => /* @__PURE__ */ new Date() },
|
|
16
|
+
header: {},
|
|
17
|
+
events: { default: () => [] },
|
|
18
|
+
mode: { default: "month" },
|
|
19
|
+
weekStartsOn: {},
|
|
20
|
+
onClick: {},
|
|
21
|
+
onClose: {},
|
|
22
|
+
markWeekend: { type: Boolean },
|
|
23
|
+
minEventHeight: {},
|
|
24
|
+
width: {},
|
|
25
|
+
height: {},
|
|
26
|
+
renderDateDisplay: {},
|
|
27
|
+
dateGridRender: {},
|
|
28
|
+
allDayEventsRender: {}
|
|
29
|
+
},
|
|
30
|
+
setup(H) {
|
|
31
|
+
const R = Z(), t = H, L = `${m.PREFIX}-month`, I = u(), f = u(), r = u(null), s = u({
|
|
32
|
+
itemLimit: 0,
|
|
33
|
+
showCard: {},
|
|
34
|
+
parsedEvents: {},
|
|
35
|
+
cachedKeys: []
|
|
36
|
+
}), { adapter: b, getDataAttr: K } = ie(t, s), A = {
|
|
37
|
+
...b,
|
|
38
|
+
registerClickOutsideHandler: (e, n) => () => {
|
|
39
|
+
},
|
|
40
|
+
unregisterClickOutsideHandler: () => {
|
|
41
|
+
},
|
|
42
|
+
setMonthlyData: (e) => {
|
|
43
|
+
r.value = e;
|
|
44
|
+
},
|
|
45
|
+
getMonthlyData: () => r.value,
|
|
46
|
+
notifyClose: (e, n) => {
|
|
47
|
+
const a = {};
|
|
48
|
+
a[n] = [!1], s.value.showCard = { ...s.value.showCard, ...a }, t.onClose && t.onClose(e);
|
|
49
|
+
},
|
|
50
|
+
openCard: (e, n) => {
|
|
51
|
+
const a = {}, i = n ? "leftTopOver" : "rightTopOver";
|
|
52
|
+
a[e] = [!0, i], s.value.showCard = { ...s.value.showCard, ...a };
|
|
53
|
+
},
|
|
54
|
+
setParsedEvents: (e) => {
|
|
55
|
+
s.value.parsedEvents = e;
|
|
56
|
+
},
|
|
57
|
+
setItemLimit: (e) => {
|
|
58
|
+
s.value.itemLimit = e;
|
|
59
|
+
},
|
|
60
|
+
cacheEventKeys: (e) => {
|
|
61
|
+
s.value.cachedKeys = e;
|
|
62
|
+
}
|
|
63
|
+
}, { foundation: l } = re(ae, A), O = c(() => C(L, t.className)), W = c(() => {
|
|
64
|
+
const e = {};
|
|
65
|
+
return t.height !== void 0 && t.height !== null && (e.height = typeof t.height == "number" ? `${t.height}px` : t.height), t.width !== void 0 && t.width !== null && (e.width = typeof t.width == "number" ? `${t.width}px` : t.width), {
|
|
66
|
+
...e,
|
|
67
|
+
...t.style,
|
|
68
|
+
...R.style
|
|
69
|
+
};
|
|
70
|
+
}), F = c(() => t.displayValue || /* @__PURE__ */ new Date()), X = c(() => !r.value || !r.value[0] ? [] : r.value[0]), _ = c(() => r.value ? Object.values(r.value) : []), E = (e) => r.value ? Object.keys(r.value)[e] ?? String(e) : String(e), B = (e) => {
|
|
71
|
+
if (!e)
|
|
72
|
+
return;
|
|
73
|
+
const n = l.getMonthlyData(F.value, e);
|
|
74
|
+
n && (r.value = n);
|
|
75
|
+
}, v = () => {
|
|
76
|
+
if (f.value) {
|
|
77
|
+
const e = f.value.getBoundingClientRect().height;
|
|
78
|
+
return Math.max(0, Math.ceil((e - 60) / 24));
|
|
79
|
+
}
|
|
80
|
+
return 0;
|
|
81
|
+
}, G = (e) => C({
|
|
82
|
+
[`${m.PREFIX}-month-same`]: e.isSameMonth,
|
|
83
|
+
[`${m.PREFIX}-month-other`]: !e.isSameMonth,
|
|
84
|
+
[`${m.PREFIX}-today`]: e.isToday,
|
|
85
|
+
[`${m.PREFIX}-weekend`]: t.markWeekend && e.isWeekend
|
|
86
|
+
}), T = (e) => {
|
|
87
|
+
const n = e.toString(), a = s.value.parsedEvents;
|
|
88
|
+
if (a.day && Array.isArray(a.day)) {
|
|
89
|
+
for (const i of a.day)
|
|
90
|
+
if (Array.isArray(i)) {
|
|
91
|
+
const o = i.filter(
|
|
92
|
+
(d) => d && d.date && d.date.toString() === n
|
|
93
|
+
);
|
|
94
|
+
if (o.length > 0)
|
|
95
|
+
return o;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return [];
|
|
99
|
+
}, V = (e) => {
|
|
100
|
+
const n = s.value.parsedEvents, a = s.value.itemLimit, i = E(e);
|
|
101
|
+
if (n && n[i] && n[i].display) {
|
|
102
|
+
const o = n[i].display;
|
|
103
|
+
return a > 0 ? o.filter((d) => d.topInd < a) : o;
|
|
104
|
+
}
|
|
105
|
+
return [];
|
|
106
|
+
}, j = (e) => C({
|
|
107
|
+
[`${m.PREFIX}-weekend`]: t.markWeekend && e.isWeekend
|
|
108
|
+
}), N = (e) => {
|
|
109
|
+
const n = (a) => `${a < 1 ? a * 100 : 100}%`;
|
|
110
|
+
return {
|
|
111
|
+
left: n(e.leftPos || 0),
|
|
112
|
+
width: n(e.width || 0),
|
|
113
|
+
top: `${e.topInd || 0}em`
|
|
114
|
+
};
|
|
115
|
+
}, q = (e, n) => {
|
|
116
|
+
if (t.onClick) {
|
|
117
|
+
const a = l.formatCbValue(n);
|
|
118
|
+
t.onClick(e, a);
|
|
119
|
+
}
|
|
120
|
+
}, z = (e, n) => {
|
|
121
|
+
l.showCard(e, n);
|
|
122
|
+
}, x = (e, n) => {
|
|
123
|
+
l.closeCard(e, n);
|
|
124
|
+
}, J = c(() => s.value.showCard);
|
|
125
|
+
ee(async () => {
|
|
126
|
+
l.init(), await h(), await h();
|
|
127
|
+
let e = v();
|
|
128
|
+
if (e === 0 && t.height) {
|
|
129
|
+
const i = typeof t.height == "number" ? t.height : parseInt(t.height, 10);
|
|
130
|
+
e = Math.max(1, Math.ceil((i / 6 - 60) / 24));
|
|
131
|
+
}
|
|
132
|
+
l.parseMonthlyEvents(e);
|
|
133
|
+
}), g(
|
|
134
|
+
() => [t.events, t.displayValue, t.height],
|
|
135
|
+
async (e, n) => {
|
|
136
|
+
const a = s.value.cachedKeys, i = t.events.map(($) => $.key);
|
|
137
|
+
let o = s.value.itemLimit;
|
|
138
|
+
if (t.height !== void 0 && (await h(), await h(), o = v(), o === 0 && t.height)) {
|
|
139
|
+
const U = typeof t.height == "number" ? t.height : parseInt(t.height, 10);
|
|
140
|
+
o = Math.max(1, Math.ceil((U - 60) / 24));
|
|
141
|
+
}
|
|
142
|
+
const d = n == null ? void 0 : n[1], Q = e[1];
|
|
143
|
+
(!S(a, i) || !S(d, Q)) && l.parseMonthlyEvents(o);
|
|
144
|
+
},
|
|
145
|
+
{ deep: !0, immediate: !0 }
|
|
146
|
+
), g(
|
|
147
|
+
() => t.displayValue,
|
|
148
|
+
async () => {
|
|
149
|
+
await h();
|
|
150
|
+
const e = v();
|
|
151
|
+
l.parseMonthlyEvents(e);
|
|
152
|
+
},
|
|
153
|
+
{ deep: !0 }
|
|
154
|
+
);
|
|
155
|
+
const D = u(0);
|
|
156
|
+
return g(
|
|
157
|
+
() => t.weekStartsOn,
|
|
158
|
+
async () => {
|
|
159
|
+
D.value++, r.value = null, await h();
|
|
160
|
+
const e = v();
|
|
161
|
+
l.parseMonthlyEvents(e);
|
|
162
|
+
}
|
|
163
|
+
), (e, n) => (P(), M(se, { "component-name": "Calendar" }, {
|
|
164
|
+
default: y(({ locale: a, dateFnsLocale: i }) => [
|
|
165
|
+
(P(), M(oe, {
|
|
166
|
+
key: D.value,
|
|
167
|
+
locale: a,
|
|
168
|
+
"date-fns-locale": i,
|
|
169
|
+
"month-cls": O.value,
|
|
170
|
+
"month-style": W.value,
|
|
171
|
+
"dom-ref": I.value,
|
|
172
|
+
"cell-dom-ref": f.value,
|
|
173
|
+
"get-data-attr": te(K),
|
|
174
|
+
props: t,
|
|
175
|
+
"month-header-days": X.value,
|
|
176
|
+
"monthly-weeks": _.value,
|
|
177
|
+
"parsed-events": s.value.parsedEvents,
|
|
178
|
+
"item-limit": s.value.itemLimit,
|
|
179
|
+
"get-day-cls": G,
|
|
180
|
+
"get-header-day-cls": j,
|
|
181
|
+
"get-day-events": T,
|
|
182
|
+
"get-week-display-events": V,
|
|
183
|
+
"get-event-style": N,
|
|
184
|
+
"handle-click": q,
|
|
185
|
+
"init-monthly-data": B,
|
|
186
|
+
"show-card": J.value,
|
|
187
|
+
"close-card": x,
|
|
188
|
+
"show-card-handler": z,
|
|
189
|
+
"get-week-key": E
|
|
190
|
+
}, ne({ _: 2 }, [
|
|
191
|
+
e.$slots.header ? {
|
|
192
|
+
name: "header",
|
|
193
|
+
fn: y(() => [
|
|
194
|
+
p(e.$slots, "header")
|
|
195
|
+
]),
|
|
196
|
+
key: "0"
|
|
197
|
+
} : void 0,
|
|
198
|
+
e.$slots.dateDisplay ? {
|
|
199
|
+
name: "dateDisplay",
|
|
200
|
+
fn: y((o) => [
|
|
201
|
+
p(e.$slots, "dateDisplay", w(k(o)))
|
|
202
|
+
]),
|
|
203
|
+
key: "1"
|
|
204
|
+
} : void 0,
|
|
205
|
+
e.$slots.dateGrid ? {
|
|
206
|
+
name: "dateGrid",
|
|
207
|
+
fn: y((o) => [
|
|
208
|
+
p(e.$slots, "dateGrid", w(k(o)))
|
|
209
|
+
]),
|
|
210
|
+
key: "2"
|
|
211
|
+
} : void 0,
|
|
212
|
+
e.$slots.event ? {
|
|
213
|
+
name: "event",
|
|
214
|
+
fn: y((o) => [
|
|
215
|
+
p(e.$slots, "event", w(k(o)))
|
|
216
|
+
]),
|
|
217
|
+
key: "3"
|
|
218
|
+
} : void 0
|
|
219
|
+
]), 1032, ["locale", "date-fns-locale", "month-cls", "month-style", "dom-ref", "cell-dom-ref", "get-data-attr", "month-header-days", "monthly-weeks", "parsed-events", "item-limit", "show-card"]))
|
|
220
|
+
]),
|
|
221
|
+
_: 3
|
|
222
|
+
}));
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
export {
|
|
226
|
+
ge as default
|
|
227
|
+
};
|
|
228
|
+
//# sourceMappingURL=MonthCalendar.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonthCalendar.vue2.js","sources":["../../../../src/components/calendar/MonthCalendar.vue"],"sourcesContent":["<template>\n <LocaleConsumer component-name=\"Calendar\">\n <template #default=\"{ locale, dateFnsLocale }\">\n <MonthCalendarInner\n :key=\"monthCalendarKey\"\n :locale=\"locale\"\n :date-fns-locale=\"dateFnsLocale\"\n :month-cls=\"monthCls\"\n :month-style=\"monthStyle\"\n :dom-ref=\"domRef\"\n :cell-dom-ref=\"cellDomRef\"\n :get-data-attr=\"getDataAttr\"\n :props=\"props\"\n :month-header-days=\"monthHeaderDays\"\n :monthly-weeks=\"monthlyWeeks\"\n :parsed-events=\"state.parsedEvents\"\n :item-limit=\"state.itemLimit\"\n :get-day-cls=\"getDayCls\"\n :get-header-day-cls=\"getHeaderDayCls\"\n :get-day-events=\"getDayEvents\"\n :get-week-display-events=\"getWeekDisplayEvents\"\n :get-event-style=\"getEventStyle\"\n :handle-click=\"handleClick\"\n :init-monthly-data=\"initMonthlyData\"\n :show-card=\"showCardState\"\n :close-card=\"closeCard\"\n :show-card-handler=\"showCard\"\n :get-week-key=\"getWeekKey\"\n >\n <template v-if=\"$slots.header\" #header>\n <slot name=\"header\" />\n </template>\n <template v-if=\"$slots.dateDisplay\" #dateDisplay=\"slotProps\">\n <slot name=\"dateDisplay\" v-bind=\"slotProps\" />\n </template>\n <template v-if=\"$slots.dateGrid\" #dateGrid=\"slotProps\">\n <slot name=\"dateGrid\" v-bind=\"slotProps\" />\n </template>\n <template v-if=\"$slots.event\" #event=\"slotProps\">\n <slot name=\"event\" v-bind=\"slotProps\" />\n </template>\n </MonthCalendarInner>\n </template>\n </LocaleConsumer>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, nextTick, useAttrs } from 'vue';\nimport classnames from 'classnames';\nimport { isEqual } from 'lodash';\nimport CalendarFoundation, {\n CalendarAdapter,\n MonthlyEvent,\n MonthData,\n ParsedEventsType,\n} from '@douyinfe/semi-foundation/calendar/foundation';\nimport { cssClasses } from '@douyinfe/semi-foundation/calendar/constants';\nimport LocaleConsumer from '../locale/LocaleConsumer.vue';\nimport MonthCalendarInner from './MonthCalendarInner.vue';\nimport { useBaseComponent, useFoundation } from '../_utils';\nimport type { MonthCalendarProps } from './interface';\n\nconst attrs = useAttrs();\n\ndefineOptions({\n name: 'SemiMonthCalendar',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<MonthCalendarProps>(), {\n displayValue: () => new Date(),\n events: () => [],\n mode: 'month',\n});\n\nconst prefixCls = `${cssClasses.PREFIX}-month`;\n\nconst domRef = ref<HTMLDivElement>();\nconst cellDomRef = ref<HTMLDivElement>();\n\nconst monthlyData = ref<MonthData | null>(null);\n\nconst state = ref({\n itemLimit: 0,\n showCard: {} as Record<string, [boolean] | [boolean, string]>,\n parsedEvents: {} as MonthlyEvent,\n cachedKeys: [] as string[],\n});\n\nconst { adapter: baseAdapter, getDataAttr } = useBaseComponent(props, state);\n\nconst adapter: CalendarAdapter<MonthCalendarProps, typeof state.value> = {\n ...baseAdapter,\n registerClickOutsideHandler: (_key: string, _cb: () => void) => {\n // 注意:Vue 版本的 Popover 已经处理了点击外部关闭的逻辑\n // 这里保留方法以保持与 Foundation 的兼容性\n // 实际的点击外部关闭由 Popover 组件的 @click-outside 事件处理\n return () => {\n // 清理函数(如果需要)\n };\n },\n unregisterClickOutsideHandler: () => {\n // 清理逻辑\n },\n setMonthlyData: (data: MonthData) => {\n monthlyData.value = data;\n },\n getMonthlyData: () => monthlyData.value,\n notifyClose: (e: any, key: string) => {\n const updates: Record<string, [boolean] | [boolean, string]> = {};\n updates[key] = [false];\n state.value.showCard = { ...state.value.showCard, ...updates };\n if (props.onClose) {\n props.onClose(e);\n }\n },\n openCard: (key: string, spacing: boolean) => {\n const updates: Record<string, [boolean] | [boolean, string]> = {};\n const pos = spacing ? 'leftTopOver' : 'rightTopOver';\n updates[key] = [true, pos];\n state.value.showCard = { ...state.value.showCard, ...updates };\n },\n setParsedEvents: (parsedEvents: ParsedEventsType) => {\n state.value.parsedEvents = parsedEvents as MonthlyEvent;\n },\n setItemLimit: (itemLimit: number) => {\n state.value.itemLimit = itemLimit;\n },\n cacheEventKeys: (cachedKeys: string[]) => {\n state.value.cachedKeys = cachedKeys;\n },\n};\n\nconst { foundation } = useFoundation(CalendarFoundation, adapter);\n\nconst monthCls = computed(() => {\n return classnames(prefixCls, props.className);\n});\n\nconst monthStyle = computed(() => {\n const style: any = {};\n if (props.height !== undefined && props.height !== null) {\n style.height = typeof props.height === 'number' ? `${props.height}px` : props.height;\n }\n if (props.width !== undefined && props.width !== null) {\n style.width = typeof props.width === 'number' ? `${props.width}px` : props.width;\n }\n return {\n ...style,\n ...props.style,\n ...(attrs.style as any),\n };\n});\n\nconst displayValue = computed(() => props.displayValue || new Date());\n\n// 使用 computed 缓存数据,避免在模板函数中修改响应式数据\nconst monthHeaderDays = computed(() => {\n if (!monthlyData.value || !monthlyData.value[0]) {\n return [];\n }\n return monthlyData.value[0];\n});\n\nconst monthlyWeeks = computed(() => {\n if (!monthlyData.value) {\n return [];\n }\n return Object.values(monthlyData.value);\n});\n\n// 获取 weekIndex 对应的字符串键(用于访问 parsedEvents)\n// parsedEvents 的键是字符串(\"0\", \"1\", \"2\"),而 v-for 的 weekIndex 是数字索引\nconst getWeekKey = (weekIndex: number) => {\n if (!monthlyData.value) {\n return String(weekIndex);\n }\n const keys = Object.keys(monthlyData.value);\n return keys[weekIndex] ?? String(weekIndex);\n};\n\nconst initMonthlyData = (dateFnsLocale: any) => {\n if (!dateFnsLocale) {\n return;\n }\n const data = foundation.getMonthlyData(displayValue.value, dateFnsLocale);\n if (data) {\n monthlyData.value = data;\n }\n};\n\nconst calcItemLimit = () => {\n if (cellDomRef.value) {\n const contentCellHeight = cellDomRef.value.getBoundingClientRect().height;\n const contentPadding = 60;\n const contentHeight = 24;\n return Math.max(0, Math.ceil((contentCellHeight - contentPadding) / contentHeight));\n }\n return 0;\n};\n\nconst getDayCls = (day: any) => {\n return classnames({\n [`${cssClasses.PREFIX}-month-same`]: day.isSameMonth,\n [`${cssClasses.PREFIX}-month-other`]: !day.isSameMonth,\n [`${cssClasses.PREFIX}-today`]: day.isToday,\n [`${cssClasses.PREFIX}-weekend`]: props.markWeekend && day.isWeekend,\n });\n};\n\nconst getDayEvents = (date: Date) => {\n const dateString = date.toString();\n const parsedEvents = state.value.parsedEvents;\n if (parsedEvents.day && Array.isArray(parsedEvents.day)) {\n // 查找包含该日期的事件\n for (const week of parsedEvents.day) {\n if (Array.isArray(week)) {\n const dayEvents = week.filter(\n (event: any) => event && event.date && event.date.toString() === dateString\n );\n if (dayEvents.length > 0) {\n return dayEvents;\n }\n }\n }\n }\n return [];\n};\n\nconst getWeekDisplayEvents = (weekIndex: number) => {\n const parsedEvents = state.value.parsedEvents;\n const itemLimit = state.value.itemLimit;\n const weekKey = getWeekKey(weekIndex);\n\n if (parsedEvents && parsedEvents[weekKey] && parsedEvents[weekKey].display) {\n const events = parsedEvents[weekKey].display;\n if (itemLimit > 0) {\n return events.filter((event: any) => event.topInd < itemLimit);\n }\n return events;\n }\n return [];\n};\n\nconst getHeaderDayCls = (day: any) => {\n return classnames({\n [`${cssClasses.PREFIX}-weekend`]: props.markWeekend && day.isWeekend,\n });\n};\n\nconst getEventStyle = (event: any) => {\n const toPercent = (num: number) => {\n const res = num < 1 ? num * 100 : 100;\n return `${res}%`;\n };\n return {\n left: toPercent(event.leftPos || 0),\n width: toPercent(event.width || 0),\n top: `${event.topInd || 0}em`,\n };\n};\n\nconst handleClick = (e: MouseEvent, val: [Date]) => {\n if (props.onClick) {\n const value = foundation.formatCbValue(val);\n props.onClick(e, value);\n }\n};\n\nconst showCard = (e: MouseEvent, key: string) => {\n foundation.showCard(e, key);\n};\n\nconst closeCard = (e: MouseEvent, key: string) => {\n foundation.closeCard(e, key);\n};\n\nconst showCardState = computed(() => state.value.showCard);\n\nonMounted(async () => {\n foundation.init();\n await nextTick();\n await nextTick();\n\n let itemLimit = calcItemLimit();\n if (itemLimit === 0 && props.height) {\n const contentPadding = 60;\n const contentHeight = 24;\n const estimatedHeight = typeof props.height === 'number' ? props.height : parseInt(props.height, 10);\n itemLimit = Math.max(1, Math.ceil((estimatedHeight / 6 - contentPadding) / contentHeight));\n }\n\n foundation.parseMonthlyEvents(itemLimit);\n});\n\nwatch(\n () => [props.events, props.displayValue, props.height],\n async (newVal, oldVal) => {\n const prevEventKeys = state.value.cachedKeys;\n const nowEventKeys = props.events.map((event) => event.key);\n let itemLimit = state.value.itemLimit;\n if (props.height !== undefined) {\n await nextTick();\n await nextTick();\n itemLimit = calcItemLimit();\n if (itemLimit === 0 && props.height) {\n const contentPadding = 60;\n const contentHeight = 24;\n const estimatedHeight = typeof props.height === 'number' ? props.height : parseInt(props.height, 10);\n itemLimit = Math.max(1, Math.ceil((estimatedHeight - contentPadding) / contentHeight));\n }\n }\n const prevDisplayValue = oldVal?.[1];\n const nowDisplayValue = newVal[1];\n if (!isEqual(prevEventKeys, nowEventKeys) || !isEqual(prevDisplayValue, nowDisplayValue)) {\n foundation.parseMonthlyEvents(itemLimit);\n }\n },\n { deep: true, immediate: true }\n);\n\nwatch(\n () => props.displayValue,\n async () => {\n await nextTick();\n const itemLimit = calcItemLimit();\n foundation.parseMonthlyEvents(itemLimit);\n },\n { deep: true }\n);\n\nconst monthCalendarKey = ref(0);\n\nwatch(\n () => props.weekStartsOn,\n async () => {\n monthCalendarKey.value++;\n monthlyData.value = null;\n await nextTick();\n const itemLimit = calcItemLimit();\n foundation.parseMonthlyEvents(itemLimit);\n }\n);\n</script>\n"],"names":["attrs","useAttrs","props","__props","prefixCls","cssClasses","domRef","ref","cellDomRef","monthlyData","state","baseAdapter","getDataAttr","useBaseComponent","adapter","_key","_cb","data","key","updates","spacing","pos","parsedEvents","itemLimit","cachedKeys","foundation","useFoundation","CalendarFoundation","monthCls","computed","classnames","monthStyle","style","displayValue","monthHeaderDays","monthlyWeeks","getWeekKey","weekIndex","initMonthlyData","dateFnsLocale","calcItemLimit","contentCellHeight","getDayCls","day","getDayEvents","date","dateString","week","dayEvents","event","getWeekDisplayEvents","weekKey","events","getHeaderDayCls","getEventStyle","toPercent","num","handleClick","val","value","showCard","closeCard","showCardState","onMounted","nextTick","estimatedHeight","watch","newVal","oldVal","prevEventKeys","nowEventKeys","prevDisplayValue","nowDisplayValue","isEqual","monthCalendarKey","_createBlock","LocaleConsumer","_withCtx","locale","MonthCalendarInner","_unref","$slots","_renderSlot","_ctx","slotProps"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MonthCalendarInner.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { defineComponent as H, useAttrs as N, ref as g, computed as o, onMounted as V, nextTick as E, watch as q, createBlock as z, openBlock as O, withCtx as d, createVNode as j, unref as J, createSlots as Q, renderSlot as i, normalizeProps as u, guardReactiveProps as c } from "vue";
|
|
2
|
+
import h from "classnames";
|
|
3
|
+
import { isEqual as U } from "lodash";
|
|
4
|
+
import Y from "@douyinfe/semi-foundation/calendar/foundation";
|
|
5
|
+
import { cssClasses as v } from "@douyinfe/semi-foundation/calendar/constants";
|
|
6
|
+
import { calcRowHeight as Z } from "@douyinfe/semi-foundation/calendar/eventUtil";
|
|
7
|
+
import _ from "../locale/LocaleConsumer.vue.js";
|
|
8
|
+
import L from "./RangeCalendarInner.vue.js";
|
|
9
|
+
import { useBaseComponent as x } from "../_utils/useBaseComponent.js";
|
|
10
|
+
import { useFoundation as ee } from "../../_utils/useFoundation.js";
|
|
11
|
+
const ue = /* @__PURE__ */ H({
|
|
12
|
+
name: "SemiRangeCalendar",
|
|
13
|
+
inheritAttrs: !1,
|
|
14
|
+
__name: "RangeCalendar",
|
|
15
|
+
props: {
|
|
16
|
+
displayValue: {},
|
|
17
|
+
range: {},
|
|
18
|
+
header: {},
|
|
19
|
+
events: { default: () => [] },
|
|
20
|
+
mode: { default: "range" },
|
|
21
|
+
showCurrTime: { type: Boolean },
|
|
22
|
+
weekStartsOn: {},
|
|
23
|
+
scrollTop: {},
|
|
24
|
+
onClick: {},
|
|
25
|
+
onClose: {},
|
|
26
|
+
renderTimeDisplay: {},
|
|
27
|
+
markWeekend: { type: Boolean },
|
|
28
|
+
minEventHeight: {},
|
|
29
|
+
width: {},
|
|
30
|
+
height: {},
|
|
31
|
+
renderDateDisplay: {},
|
|
32
|
+
dateGridRender: {},
|
|
33
|
+
allDayEventsRender: {}
|
|
34
|
+
},
|
|
35
|
+
setup(w) {
|
|
36
|
+
const $ = N(), t = w, R = `${v.PREFIX}-week`;
|
|
37
|
+
`${v.PREFIX}`;
|
|
38
|
+
const k = (e) => `${e < 1 ? e * 100 : 100}%`, p = g(), s = g(null), y = g({
|
|
39
|
+
parsedEvents: {
|
|
40
|
+
day: /* @__PURE__ */ new Map(),
|
|
41
|
+
allDay: /* @__PURE__ */ new Map()
|
|
42
|
+
},
|
|
43
|
+
cachedKeys: []
|
|
44
|
+
}), { adapter: C, getDataAttr: P } = x(t, y), S = {
|
|
45
|
+
...C,
|
|
46
|
+
setRangeData: (e) => {
|
|
47
|
+
s.value = e;
|
|
48
|
+
},
|
|
49
|
+
getRangeData: () => s.value,
|
|
50
|
+
setParsedEvents: (e) => {
|
|
51
|
+
y.value.parsedEvents = e;
|
|
52
|
+
},
|
|
53
|
+
cacheEventKeys: (e) => {
|
|
54
|
+
y.value.cachedKeys = e;
|
|
55
|
+
}
|
|
56
|
+
}, { foundation: r } = ee(Y, S), T = o(() => h(R, t.className)), A = o(() => {
|
|
57
|
+
const e = {};
|
|
58
|
+
return t.height !== void 0 && t.height !== null && (e.height = typeof t.height == "number" ? `${t.height}px` : t.height), t.width !== void 0 && t.width !== null && (e.width = typeof t.width == "number" ? `${t.width}px` : t.width), {
|
|
59
|
+
...e,
|
|
60
|
+
...t.style,
|
|
61
|
+
...$.style
|
|
62
|
+
};
|
|
63
|
+
}), m = o(() => y.value.parsedEvents), F = o(() => s.value ? s.value.week || [] : []), I = o(() => s.value && s.value.month || ""), K = (e) => {
|
|
64
|
+
if (!e || !t.range || t.range.length < 2)
|
|
65
|
+
return;
|
|
66
|
+
const a = r.getRangeData(t.range[0], e);
|
|
67
|
+
a && (s.value = a);
|
|
68
|
+
}, D = o(() => {
|
|
69
|
+
if (!m.value.allDay || !s.value)
|
|
70
|
+
return [];
|
|
71
|
+
const e = r.parseRangeAllDayEvents(m.value.allDay);
|
|
72
|
+
return t.allDayEventsRender ? t.allDayEventsRender(t.events) : e;
|
|
73
|
+
}), B = o(() => t.allDayEventsRender ? null : {
|
|
74
|
+
height: `${Z(D.value)}em`
|
|
75
|
+
}), W = (e) => h({
|
|
76
|
+
[`${v.PREFIX}-today`]: e.isToday,
|
|
77
|
+
[`${v.PREFIX}-weekend`]: t.markWeekend && e.isWeekend
|
|
78
|
+
}), X = (e) => h({
|
|
79
|
+
[`${v.PREFIX}-weekend`]: t.markWeekend && e.isWeekend
|
|
80
|
+
}), b = (e) => ({
|
|
81
|
+
left: k(e.leftPos || 0),
|
|
82
|
+
width: k(e.width || 0),
|
|
83
|
+
top: `${e.topInd || 0}em`
|
|
84
|
+
}), G = (e) => {
|
|
85
|
+
const a = e.toString(), l = m.value.day;
|
|
86
|
+
if (l.has(a)) {
|
|
87
|
+
const f = l.get(a) || [];
|
|
88
|
+
return r.getParseDailyEvents(f, e).day;
|
|
89
|
+
}
|
|
90
|
+
return [];
|
|
91
|
+
}, M = (e, a) => {
|
|
92
|
+
if (t.onClick) {
|
|
93
|
+
const l = r.formatCbValue(a);
|
|
94
|
+
t.onClick(e, l);
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
return V(async () => {
|
|
98
|
+
r.init(), r.parseRangeEvents(), await E(), p.value && (p.value.scrollTop = t.scrollTop ?? 400);
|
|
99
|
+
}), q(
|
|
100
|
+
() => [t.events, t.range],
|
|
101
|
+
async () => {
|
|
102
|
+
const e = y.value.cachedKeys, a = t.events.map((l) => l.key);
|
|
103
|
+
U(e, a) || (await E(), r.parseRangeEvents());
|
|
104
|
+
},
|
|
105
|
+
{ deep: !0 }
|
|
106
|
+
), (e, a) => (O(), z(_, { "component-name": "Calendar" }, {
|
|
107
|
+
default: d(({ locale: l, dateFnsLocale: f }) => [
|
|
108
|
+
j(L, {
|
|
109
|
+
locale: l,
|
|
110
|
+
"date-fns-locale": f,
|
|
111
|
+
"week-cls": T.value,
|
|
112
|
+
"week-style": A.value,
|
|
113
|
+
"dom-ref": p.value,
|
|
114
|
+
"get-data-attr": J(P),
|
|
115
|
+
props: t,
|
|
116
|
+
"range-days": F.value,
|
|
117
|
+
"range-month": I.value,
|
|
118
|
+
"all-day-events": D.value,
|
|
119
|
+
"all-day-style": B.value,
|
|
120
|
+
"get-header-day-cls": W,
|
|
121
|
+
"get-skeleton-cls": X,
|
|
122
|
+
"get-all-day-event-style": b,
|
|
123
|
+
"get-day-events": G,
|
|
124
|
+
"handle-click": M,
|
|
125
|
+
"init-range-data": K
|
|
126
|
+
}, Q({ _: 2 }, [
|
|
127
|
+
e.$slots.header ? {
|
|
128
|
+
name: "header",
|
|
129
|
+
fn: d(() => [
|
|
130
|
+
i(e.$slots, "header")
|
|
131
|
+
]),
|
|
132
|
+
key: "0"
|
|
133
|
+
} : void 0,
|
|
134
|
+
e.$slots.dateDisplay ? {
|
|
135
|
+
name: "dateDisplay",
|
|
136
|
+
fn: d((n) => [
|
|
137
|
+
i(e.$slots, "dateDisplay", u(c(n)))
|
|
138
|
+
]),
|
|
139
|
+
key: "1"
|
|
140
|
+
} : void 0,
|
|
141
|
+
e.$slots.allDayEvents ? {
|
|
142
|
+
name: "allDayEvents",
|
|
143
|
+
fn: d((n) => [
|
|
144
|
+
i(e.$slots, "allDayEvents", u(c(n)))
|
|
145
|
+
]),
|
|
146
|
+
key: "2"
|
|
147
|
+
} : void 0,
|
|
148
|
+
e.$slots.timeDisplay ? {
|
|
149
|
+
name: "timeDisplay",
|
|
150
|
+
fn: d((n) => [
|
|
151
|
+
i(e.$slots, "timeDisplay", u(c(n)))
|
|
152
|
+
]),
|
|
153
|
+
key: "3"
|
|
154
|
+
} : void 0,
|
|
155
|
+
e.$slots.dateGrid ? {
|
|
156
|
+
name: "dateGrid",
|
|
157
|
+
fn: d((n) => [
|
|
158
|
+
i(e.$slots, "dateGrid", u(c(n)))
|
|
159
|
+
]),
|
|
160
|
+
key: "4"
|
|
161
|
+
} : void 0,
|
|
162
|
+
e.$slots.event ? {
|
|
163
|
+
name: "event",
|
|
164
|
+
fn: d((n) => [
|
|
165
|
+
i(e.$slots, "event", u(c(n)))
|
|
166
|
+
]),
|
|
167
|
+
key: "5"
|
|
168
|
+
} : void 0
|
|
169
|
+
]), 1032, ["locale", "date-fns-locale", "week-cls", "week-style", "dom-ref", "get-data-attr", "range-days", "range-month", "all-day-events", "all-day-style"])
|
|
170
|
+
]),
|
|
171
|
+
_: 3
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
export {
|
|
176
|
+
ue as default
|
|
177
|
+
};
|
|
178
|
+
//# sourceMappingURL=RangeCalendar.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeCalendar.vue2.js","sources":["../../../../src/components/calendar/RangeCalendar.vue"],"sourcesContent":["<template>\n <LocaleConsumer component-name=\"Calendar\">\n <template #default=\"{ locale, dateFnsLocale }\">\n <RangeCalendarInner\n :locale=\"locale\"\n :date-fns-locale=\"dateFnsLocale\"\n :week-cls=\"weekCls\"\n :week-style=\"weekStyle\"\n :dom-ref=\"domRef\"\n :get-data-attr=\"getDataAttr\"\n :props=\"props\"\n :range-days=\"rangeDays\"\n :range-month=\"rangeMonth\"\n :all-day-events=\"allDayEvents\"\n :all-day-style=\"allDayStyle\"\n :get-header-day-cls=\"getHeaderDayCls\"\n :get-skeleton-cls=\"getSkeletonCls\"\n :get-all-day-event-style=\"getAllDayEventStyle\"\n :get-day-events=\"getDayEvents\"\n :handle-click=\"handleClick\"\n :init-range-data=\"initRangeData\"\n >\n <template v-if=\"$slots.header\" #header>\n <slot name=\"header\" />\n </template>\n <template v-if=\"$slots.dateDisplay\" #dateDisplay=\"slotProps\">\n <slot name=\"dateDisplay\" v-bind=\"slotProps\" />\n </template>\n <template v-if=\"$slots.allDayEvents\" #allDayEvents=\"slotProps\">\n <slot name=\"allDayEvents\" v-bind=\"slotProps\" />\n </template>\n <template v-if=\"$slots.timeDisplay\" #timeDisplay=\"slotProps\">\n <slot name=\"timeDisplay\" v-bind=\"slotProps\" />\n </template>\n <template v-if=\"$slots.dateGrid\" #dateGrid=\"slotProps\">\n <slot name=\"dateGrid\" v-bind=\"slotProps\" />\n </template>\n <template v-if=\"$slots.event\" #event=\"slotProps\">\n <slot name=\"event\" v-bind=\"slotProps\" />\n </template>\n </RangeCalendarInner>\n </template>\n </LocaleConsumer>\n</template>\n\n<script setup lang=\"ts\">\nimport { ref, computed, watch, onMounted, nextTick, useAttrs } from 'vue';\nimport classnames from 'classnames';\nimport { isEqual } from 'lodash';\nimport CalendarFoundation, {\n CalendarAdapter,\n ParsedEvents,\n ParsedEventsType,\n RangeData,\n} from '@douyinfe/semi-foundation/calendar/foundation';\nimport { cssClasses } from '@douyinfe/semi-foundation/calendar/constants';\nimport { calcRowHeight } from '@douyinfe/semi-foundation/calendar/eventUtil';\nimport LocaleConsumer from '../locale/LocaleConsumer.vue';\nimport RangeCalendarInner from './RangeCalendarInner.vue';\nimport { useBaseComponent, useFoundation } from '../_utils';\nimport type { RangeCalendarProps } from './interface';\n\nconst attrs = useAttrs();\n\ndefineOptions({\n name: 'SemiRangeCalendar',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<RangeCalendarProps>(), {\n events: () => [],\n mode: 'range',\n});\n\nconst prefixCls = `${cssClasses.PREFIX}-week`;\nconst allDayCls = `${cssClasses.PREFIX}-all-day`;\n\nconst toPercent = (num: number) => {\n const res = num < 1 ? num * 100 : 100;\n return `${res}%`;\n};\n\nconst domRef = ref<HTMLDivElement>();\n\nconst rangeData = ref<RangeData | null>(null);\n\nconst state = ref({\n parsedEvents: {\n day: new Map(),\n allDay: new Map(),\n } as ParsedEvents,\n cachedKeys: [] as string[],\n});\n\nconst { adapter: baseAdapter, getDataAttr } = useBaseComponent(props, state);\n\nconst adapter: CalendarAdapter<RangeCalendarProps, typeof state.value> = {\n ...baseAdapter,\n setRangeData: (data: RangeData) => {\n rangeData.value = data;\n },\n getRangeData: () => rangeData.value,\n setParsedEvents: (parsedEvents: ParsedEventsType) => {\n state.value.parsedEvents = parsedEvents as ParsedEvents;\n },\n cacheEventKeys: (cachedKeys: string[]) => {\n state.value.cachedKeys = cachedKeys;\n },\n};\n\nconst { foundation } = useFoundation(CalendarFoundation, adapter);\n\nconst weekCls = computed(() => {\n return classnames(prefixCls, props.className);\n});\n\nconst weekStyle = computed(() => {\n const style: any = {};\n if (props.height !== undefined && props.height !== null) {\n style.height = typeof props.height === 'number' ? `${props.height}px` : props.height;\n }\n if (props.width !== undefined && props.width !== null) {\n style.width = typeof props.width === 'number' ? `${props.width}px` : props.width;\n }\n return {\n ...style,\n ...props.style,\n ...(attrs.style as any),\n };\n});\n\nconst parsedEvents = computed(() => state.value.parsedEvents);\n\n// 使用 computed 缓存数据,避免在模板函数中修改响应式数据\nconst rangeDays = computed(() => {\n if (!rangeData.value) {\n return [];\n }\n return rangeData.value.week || [];\n});\n\nconst rangeMonth = computed(() => {\n if (!rangeData.value) {\n return '';\n }\n return rangeData.value.month || '';\n});\n\n// 辅助函数:初始化 rangeData(不修改响应式数据)\nconst initRangeData = (dateFnsLocale: any) => {\n if (!dateFnsLocale || !props.range || props.range.length < 2) {\n return;\n }\n const data = foundation.getRangeData(props.range[0], dateFnsLocale);\n if (data) {\n rangeData.value = data;\n }\n};\n\nconst allDayEvents = computed(() => {\n if (!parsedEvents.value.allDay || !rangeData.value) {\n return [];\n }\n const parsed = foundation.parseRangeAllDayEvents(parsedEvents.value.allDay);\n if (props.allDayEventsRender) {\n return props.allDayEventsRender(props.events);\n }\n return parsed;\n});\n\nconst allDayStyle = computed(() => {\n if (props.allDayEventsRender) {\n return null;\n }\n return {\n height: `${calcRowHeight(allDayEvents.value)}em`,\n };\n});\n\nconst getHeaderDayCls = (day: any) => {\n return classnames({\n [`${cssClasses.PREFIX}-today`]: day.isToday,\n [`${cssClasses.PREFIX}-weekend`]: props.markWeekend && day.isWeekend,\n });\n};\n\nconst getSkeletonCls = (day: any) => {\n return classnames({\n [`${cssClasses.PREFIX}-weekend`]: props.markWeekend && day.isWeekend,\n });\n};\n\nconst getAllDayEventStyle = (event: any) => {\n return {\n left: toPercent(event.leftPos || 0),\n width: toPercent(event.width || 0),\n top: `${event.topInd || 0}em`,\n };\n};\n\nconst getDayEvents = (date: Date) => {\n const dateString = date.toString();\n const events = parsedEvents.value.day;\n if (events.has(dateString)) {\n const dayEvents = events.get(dateString) || [];\n const parsed = foundation.getParseDailyEvents(dayEvents, date);\n return parsed.day;\n }\n return [];\n};\n\nconst handleClick = (e: MouseEvent, val: [Date, number, number, number]) => {\n if (props.onClick) {\n const value = foundation.formatCbValue(val);\n props.onClick(e, value);\n }\n};\n\nonMounted(async () => {\n foundation.init();\n foundation.parseRangeEvents();\n\n await nextTick();\n if (domRef.value) {\n domRef.value.scrollTop = props.scrollTop ?? 400;\n }\n});\n\nwatch(\n () => [props.events, props.range],\n async () => {\n const prevEventKeys = state.value.cachedKeys;\n const nowEventKeys = props.events.map((event) => event.key);\n if (!isEqual(prevEventKeys, nowEventKeys)) {\n await nextTick();\n foundation.parseRangeEvents();\n }\n },\n { deep: true }\n);\n</script>\n"],"names":["attrs","useAttrs","props","__props","prefixCls","cssClasses","toPercent","num","domRef","ref","rangeData","state","baseAdapter","getDataAttr","useBaseComponent","adapter","data","parsedEvents","cachedKeys","foundation","useFoundation","CalendarFoundation","weekCls","computed","classnames","weekStyle","style","rangeDays","rangeMonth","initRangeData","dateFnsLocale","allDayEvents","parsed","allDayStyle","calcRowHeight","getHeaderDayCls","day","getSkeletonCls","getAllDayEventStyle","event","getDayEvents","date","dateString","events","dayEvents","handleClick","val","value","onMounted","nextTick","watch","prevEventKeys","nowEventKeys","isEqual","_createBlock","LocaleConsumer","_withCtx","locale","_createVNode","RangeCalendarInner","_unref","$slots","_renderSlot","_ctx","slotProps"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RangeCalendarInner.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { defineComponent as T, computed as c, createElementBlock as n, openBlock as s, normalizeClass as i, createElementVNode as p, Fragment as u, renderList as _, renderSlot as $, createBlock as f, resolveDynamicComponent as D, withCtx as N, createTextVNode as v, toDisplayString as x } from "vue";
|
|
2
|
+
import S from "classnames";
|
|
3
|
+
import { cssClasses as g } from "@douyinfe/semi-foundation/calendar/constants";
|
|
4
|
+
import B from "../locale/LocaleConsumer.vue.js";
|
|
5
|
+
const w = /* @__PURE__ */ T({
|
|
6
|
+
name: "SemiTimeCol",
|
|
7
|
+
__name: "TimeCol",
|
|
8
|
+
props: {
|
|
9
|
+
className: { default: "" },
|
|
10
|
+
renderTimeDisplay: {}
|
|
11
|
+
},
|
|
12
|
+
setup(d) {
|
|
13
|
+
const a = d, l = `${g.PREFIX}-time`, y = c(() => S(a.className, l)), C = (e, t) => {
|
|
14
|
+
const r = (o, m) => o.replace("${time}", String(m));
|
|
15
|
+
return e < 12 ? r(t.AM, e) : e === 12 ? r(t.PM, e) : r(t.PM, e - 12);
|
|
16
|
+
}, k = c(() => {
|
|
17
|
+
const e = [...Array(24).keys()];
|
|
18
|
+
return e.splice(0, 1, ""), e;
|
|
19
|
+
});
|
|
20
|
+
return (e, t) => (s(), n("div", {
|
|
21
|
+
class: i(y.value)
|
|
22
|
+
}, [
|
|
23
|
+
p("ul", {
|
|
24
|
+
class: i(`${l}-items`)
|
|
25
|
+
}, [
|
|
26
|
+
(s(!0), n(u, null, _(k.value, (r, o) => (s(), n("li", {
|
|
27
|
+
key: `time-${o}`,
|
|
28
|
+
class: i(`${l}-item`)
|
|
29
|
+
}, [
|
|
30
|
+
p("span", null, [
|
|
31
|
+
r === "" ? (s(), n(u, { key: 0 }, [], 64)) : $(e.$slots, "timeDisplay", {
|
|
32
|
+
key: 1,
|
|
33
|
+
time: r
|
|
34
|
+
}, () => [
|
|
35
|
+
a.renderTimeDisplay ? (s(), f(D(() => a.renderTimeDisplay(r)), { key: 0 })) : (s(), f(B, {
|
|
36
|
+
key: `locale-${r}`,
|
|
37
|
+
"component-name": "Calendar"
|
|
38
|
+
}, {
|
|
39
|
+
default: N(({ locale: m }) => [
|
|
40
|
+
v(x(C(r, m)), 1)
|
|
41
|
+
]),
|
|
42
|
+
_: 2
|
|
43
|
+
}, 1024))
|
|
44
|
+
])
|
|
45
|
+
])
|
|
46
|
+
], 2))), 128))
|
|
47
|
+
], 2)
|
|
48
|
+
], 2));
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
export {
|
|
52
|
+
w as default
|
|
53
|
+
};
|
|
54
|
+
//# sourceMappingURL=TimeCol.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeCol.vue2.js","sources":["../../../../src/components/calendar/TimeCol.vue"],"sourcesContent":["<template>\n <div :class=\"wrapperCls\">\n <ul :class=\"`${prefixCls}-items`\">\n <li v-for=\"(item, index) in timeItems\" :key=\"`time-${index}`\" :class=\"`${prefixCls}-item`\">\n <span>\n <template v-if=\"item === ('' as any)\"></template>\n <template v-else>\n <slot name=\"timeDisplay\" :time=\"item\">\n <component :is=\"() => props.renderTimeDisplay(item)\" v-if=\"props.renderTimeDisplay\" />\n <LocaleConsumer v-else :key=\"`locale-${item}`\" component-name=\"Calendar\">\n <template #default=\"{ locale }\">\n {{ formatTimeDefault(item, locale) }}\n </template>\n </LocaleConsumer>\n </slot>\n </template>\n </span>\n </li>\n </ul>\n </div>\n</template>\n\n<script setup lang=\"ts\">\nimport { computed } from 'vue';\nimport classnames from 'classnames';\nimport { cssClasses } from '@douyinfe/semi-foundation/calendar/constants';\nimport LocaleConsumer from '../locale/LocaleConsumer.vue';\nimport type { TimeColProps } from './interface';\n\ndefineOptions({\n name: 'SemiTimeCol',\n});\n\nconst props = withDefaults(defineProps<TimeColProps>(), {\n className: '',\n});\n\nconst prefixCls = `${cssClasses.PREFIX}-time`;\n\nconst wrapperCls = computed(() => {\n return classnames(props.className, prefixCls);\n});\n\nconst formatTimeDefault = (item: number, locale: any): string => {\n const replaceTime = (template: string, time: number) => template.replace('${time}', String(time));\n if (item < 12) {\n return replaceTime(locale.AM, item);\n } else if (item === 12) {\n return replaceTime(locale.PM, item);\n } else {\n return replaceTime(locale.PM, item - 12);\n }\n};\n\nconst timeItems = computed(() => {\n // React 版本的逻辑:\n // 1. [...Array(24).keys()] 生成 [0, 1, 2, ..., 23]\n // 2. .map(item => this.formatTime(item)) 格式化为 ['上午0时', '上午1时', ..., '下午11时']\n // 3. list.splice(0, 1, '') 将第一个('上午0时')替换为空字符串\n // 4. 结果是 ['', '上午1时', '上午2时', ..., '下午11时']\n //\n // Vue 版本需要模拟这个逻辑:\n // 生成 [0, 1, 2, ..., 23],然后将第一个(0时)替换为空字符串\n // 这样 index === 0 时显示空,index === 1 时显示 1 时(item === 1)\n const list = [...Array(24).keys()]; // [0, 1, 2, ..., 23]\n // 将第一个(0时)替换为空字符串,用于空显示\n list.splice(0, 1, '' as any);\n return list; // ['', 1, 2, ..., 23]\n});\n</script>\n"],"names":["props","__props","prefixCls","cssClasses","wrapperCls","computed","classnames","formatTimeDefault","item","locale","replaceTime","template","time","timeItems","list","_createElementBlock","_createElementVNode","_openBlock","_Fragment","_renderList","index","_renderSlot","_ctx","_createBlock","_resolveDynamicComponent","LocaleConsumer","_withCtx"],"mappings":";;;;;;;;;;;;AAiCA,UAAMA,IAAQC,GAIRC,IAAY,GAAGC,EAAW,MAAM,SAEhCC,IAAaC,EAAS,MACjBC,EAAWN,EAAM,WAAWE,CAAS,CAC/C,GAEKK,IAAoB,CAACC,GAAcC,MAAwB;AAC7D,YAAMC,IAAc,CAACC,GAAkBC,MAAiBD,EAAS,QAAQ,WAAW,OAAOC,CAAI,CAAC;AAChG,aAAIJ,IAAO,KACAE,EAAYD,EAAO,IAAID,CAAI,IAC3BA,MAAS,KACTE,EAAYD,EAAO,IAAID,CAAI,IAE3BE,EAAYD,EAAO,IAAID,IAAO,EAAE;AAAA,IAE/C,GAEMK,IAAYR,EAAS,MAAM;AAU7B,YAAMS,IAAO,CAAC,GAAG,MAAM,EAAE,EAAE,MAAM;AAEjC,aAAAA,EAAK,OAAO,GAAG,GAAG,EAAS,GACpBA;AAAA,IACX,CAAC;2BAnEGC,EAkBM,OAAA;AAAA,MAlBA,SAAOX,EAAA,KAAU;AAAA,IAAA;MACnBY,EAgBK,MAAA;AAAA,QAhBA,YAAUd,CAAS,QAAA;AAAA,MAAA;SACpBe,EAAA,EAAA,GAAAF,EAcKG,GAAA,MAAAC,EAduBN,EAAA,OAAS,CAAzBL,GAAMY,YAAlBL,EAcK,MAAA;AAAA,UAdmC,aAAaK,CAAK;AAAA,UAAK,YAAUlB,CAAS,OAAA;AAAA,QAAA;UAC9Ec,EAYO,QAAA,MAAA;AAAA,YAXaR,MAAI,WAApBO,EAAiDG,GAAA,EAAA,KAAA,EAAA,GAAA,CAAA,GAAA,EAAA,KAE7CG,EAOOC,EAAA,QAAA,eAAA;AAAA;cAPmB,MAAMd;AAAA,YAAA,GAAhC,MAOO;AAAA,cANwDR,EAAM,qBAAjEiB,EAAA,GAAAM,EAAsFC,EAAA,MAAhExB,EAAM,kBAAkBQ,CAAI,CAAA,GAAA,EAAA,KAAA,EAAA,CAAA,WAClDe,EAIiBE,GAAA;AAAA,gBAJO,eAAejB,CAAI;AAAA,gBAAI,kBAAe;AAAA,cAAA;gBAC/C,SAAOkB,EACd,CAAqC,EADnB,QAAAjB,QAAM;AAAA,sBACrBF,EAAkBC,GAAMC,CAAM,CAAA,GAAA,CAAA;AAAA,gBAAA;;;;;;;;;;"}
|