luna-plus 0.0.5
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/README.md +242 -0
- package/dist/Affix/Affix.svelte +97 -0
- package/dist/Affix/Affix.svelte.d.ts +14 -0
- package/dist/Affix/index.d.ts +4 -0
- package/dist/Affix/index.js +3 -0
- package/dist/Affix/types.d.ts +11 -0
- package/dist/Affix/types.js +1 -0
- package/dist/Alert/Alert.svelte +97 -0
- package/dist/Alert/Alert.svelte.d.ts +16 -0
- package/dist/Alert/index.d.ts +4 -0
- package/dist/Alert/index.js +3 -0
- package/dist/Alert/types.d.ts +23 -0
- package/dist/Alert/types.js +1 -0
- package/dist/Autocomplete/Autocomplete.svelte +163 -0
- package/dist/Autocomplete/Autocomplete.svelte.d.ts +20 -0
- package/dist/Autocomplete/index.d.ts +3 -0
- package/dist/Autocomplete/index.js +3 -0
- package/dist/Avatar/Avatar.svelte +97 -0
- package/dist/Avatar/Avatar.svelte.d.ts +14 -0
- package/dist/Avatar/index.d.ts +4 -0
- package/dist/Avatar/index.js +3 -0
- package/dist/Avatar/types.d.ts +26 -0
- package/dist/Avatar/types.js +1 -0
- package/dist/Backtop/Backtop.svelte +60 -0
- package/dist/Backtop/Backtop.svelte.d.ts +13 -0
- package/dist/Backtop/index.d.ts +4 -0
- package/dist/Backtop/index.js +3 -0
- package/dist/Backtop/types.d.ts +18 -0
- package/dist/Backtop/types.js +1 -0
- package/dist/Badge/Badge.svelte +68 -0
- package/dist/Badge/Badge.svelte.d.ts +13 -0
- package/dist/Badge/index.d.ts +4 -0
- package/dist/Badge/index.js +3 -0
- package/dist/Badge/types.d.ts +20 -0
- package/dist/Badge/types.js +1 -0
- package/dist/Breadcrumb/Breadcrumb.svelte +66 -0
- package/dist/Breadcrumb/Breadcrumb.svelte.d.ts +6 -0
- package/dist/Breadcrumb/BreadcrumbContext.d.ts +4 -0
- package/dist/Breadcrumb/BreadcrumbContext.js +1 -0
- package/dist/Breadcrumb/BreadcrumbItem.svelte +56 -0
- package/dist/Breadcrumb/BreadcrumbItem.svelte.d.ts +12 -0
- package/dist/Breadcrumb/index.d.ts +4 -0
- package/dist/Breadcrumb/index.js +3 -0
- package/dist/Breadcrumb/types.d.ts +10 -0
- package/dist/Breadcrumb/types.js +1 -0
- package/dist/Button/Button.svelte +61 -0
- package/dist/Button/Button.svelte.d.ts +4 -0
- package/dist/Button/index.d.ts +4 -0
- package/dist/Button/index.js +3 -0
- package/dist/Button/types.d.ts +42 -0
- package/dist/Button/types.js +1 -0
- package/dist/Calendar/Calendar.svelte +115 -0
- package/dist/Calendar/Calendar.svelte.d.ts +7 -0
- package/dist/Calendar/index.d.ts +3 -0
- package/dist/Calendar/index.js +3 -0
- package/dist/Card/Card.svelte +59 -0
- package/dist/Card/Card.svelte.d.ts +4 -0
- package/dist/Card/index.d.ts +4 -0
- package/dist/Card/index.js +4 -0
- package/dist/Card/types.d.ts +26 -0
- package/dist/Card/types.js +1 -0
- package/dist/Carousel/Carousel.svelte +206 -0
- package/dist/Carousel/Carousel.svelte.d.ts +19 -0
- package/dist/Carousel/CarouselContext.d.ts +6 -0
- package/dist/Carousel/CarouselContext.js +1 -0
- package/dist/Carousel/CarouselItem.svelte +42 -0
- package/dist/Carousel/CarouselItem.svelte.d.ts +11 -0
- package/dist/Carousel/index.d.ts +5 -0
- package/dist/Carousel/index.js +4 -0
- package/dist/Carousel/types.d.ts +43 -0
- package/dist/Carousel/types.js +1 -0
- package/dist/Cascader/Cascader.svelte +219 -0
- package/dist/Cascader/Cascader.svelte.d.ts +4 -0
- package/dist/Cascader/index.d.ts +4 -0
- package/dist/Cascader/index.js +3 -0
- package/dist/Cascader/types.d.ts +19 -0
- package/dist/Cascader/types.js +1 -0
- package/dist/Checkbox/Checkbox.svelte +55 -0
- package/dist/Checkbox/Checkbox.svelte.d.ts +15 -0
- package/dist/Checkbox/CheckboxGroup.svelte +43 -0
- package/dist/Checkbox/CheckboxGroup.svelte.d.ts +12 -0
- package/dist/Checkbox/index.d.ts +4 -0
- package/dist/Checkbox/index.js +3 -0
- package/dist/Checkbox/types.d.ts +24 -0
- package/dist/Checkbox/types.js +1 -0
- package/dist/Collapse/Collapse.svelte +62 -0
- package/dist/Collapse/Collapse.svelte.d.ts +11 -0
- package/dist/Collapse/CollapseContext.d.ts +6 -0
- package/dist/Collapse/CollapseContext.js +1 -0
- package/dist/Collapse/CollapseItem.svelte +175 -0
- package/dist/Collapse/CollapseItem.svelte.d.ts +11 -0
- package/dist/Collapse/index.d.ts +5 -0
- package/dist/Collapse/index.js +4 -0
- package/dist/Collapse/types.d.ts +27 -0
- package/dist/Collapse/types.js +1 -0
- package/dist/ColorPicker/ColorPicker.svelte +157 -0
- package/dist/ColorPicker/ColorPicker.svelte.d.ts +12 -0
- package/dist/ColorPicker/index.d.ts +4 -0
- package/dist/ColorPicker/index.js +3 -0
- package/dist/ColorPicker/types.d.ts +17 -0
- package/dist/ColorPicker/types.js +1 -0
- package/dist/Container/Aside.svelte +20 -0
- package/dist/Container/Aside.svelte.d.ts +9 -0
- package/dist/Container/Container.svelte +19 -0
- package/dist/Container/Container.svelte.d.ts +9 -0
- package/dist/Container/Footer.svelte +20 -0
- package/dist/Container/Footer.svelte.d.ts +9 -0
- package/dist/Container/Header.svelte +20 -0
- package/dist/Container/Header.svelte.d.ts +9 -0
- package/dist/Container/Main.svelte +18 -0
- package/dist/Container/Main.svelte.d.ts +8 -0
- package/dist/Container/index.d.ts +14 -0
- package/dist/Container/index.js +13 -0
- package/dist/Container/types.d.ts +46 -0
- package/dist/Container/types.js +1 -0
- package/dist/DatePicker/DatePicker.svelte +278 -0
- package/dist/DatePicker/DatePicker.svelte.d.ts +17 -0
- package/dist/DatePicker/index.d.ts +4 -0
- package/dist/DatePicker/index.js +3 -0
- package/dist/DatePicker/types.d.ts +29 -0
- package/dist/DatePicker/types.js +1 -0
- package/dist/DateTimePicker/DateTimePicker.svelte +500 -0
- package/dist/DateTimePicker/DateTimePicker.svelte.d.ts +4 -0
- package/dist/DateTimePicker/index.d.ts +4 -0
- package/dist/DateTimePicker/index.js +3 -0
- package/dist/DateTimePicker/types.d.ts +21 -0
- package/dist/DateTimePicker/types.js +1 -0
- package/dist/Descriptions/Descriptions.svelte +69 -0
- package/dist/Descriptions/Descriptions.svelte.d.ts +15 -0
- package/dist/Descriptions/DescriptionsContext.d.ts +8 -0
- package/dist/Descriptions/DescriptionsContext.js +1 -0
- package/dist/Descriptions/DescriptionsItem.svelte +59 -0
- package/dist/Descriptions/DescriptionsItem.svelte.d.ts +13 -0
- package/dist/Descriptions/index.d.ts +5 -0
- package/dist/Descriptions/index.js +4 -0
- package/dist/Descriptions/types.d.ts +41 -0
- package/dist/Descriptions/types.js +1 -0
- package/dist/Dialog/Dialog.svelte +151 -0
- package/dist/Dialog/Dialog.svelte.d.ts +20 -0
- package/dist/Dialog/index.d.ts +4 -0
- package/dist/Dialog/index.js +3 -0
- package/dist/Dialog/types.d.ts +32 -0
- package/dist/Dialog/types.js +1 -0
- package/dist/Divider/Divider.svelte +47 -0
- package/dist/Divider/Divider.svelte.d.ts +11 -0
- package/dist/Divider/index.d.ts +4 -0
- package/dist/Divider/index.js +3 -0
- package/dist/Divider/types.d.ts +20 -0
- package/dist/Divider/types.js +1 -0
- package/dist/Drawer/Drawer.svelte +141 -0
- package/dist/Drawer/Drawer.svelte.d.ts +26 -0
- package/dist/Drawer/index.d.ts +4 -0
- package/dist/Drawer/index.js +3 -0
- package/dist/Drawer/types.d.ts +40 -0
- package/dist/Drawer/types.js +1 -0
- package/dist/Dropdown/Dropdown.svelte +222 -0
- package/dist/Dropdown/Dropdown.svelte.d.ts +4 -0
- package/dist/Dropdown/DropdownContext.d.ts +7 -0
- package/dist/Dropdown/DropdownContext.js +8 -0
- package/dist/Dropdown/DropdownItem.svelte +51 -0
- package/dist/Dropdown/DropdownItem.svelte.d.ts +4 -0
- package/dist/Dropdown/DropdownMenu.svelte +13 -0
- package/dist/Dropdown/DropdownMenu.svelte.d.ts +4 -0
- package/dist/Dropdown/index.d.ts +5 -0
- package/dist/Dropdown/index.js +5 -0
- package/dist/Dropdown/types.d.ts +68 -0
- package/dist/Dropdown/types.js +1 -0
- package/dist/Empty/Empty.svelte +40 -0
- package/dist/Empty/Empty.svelte.d.ts +11 -0
- package/dist/Empty/index.d.ts +4 -0
- package/dist/Empty/index.js +3 -0
- package/dist/Empty/types.d.ts +14 -0
- package/dist/Empty/types.js +1 -0
- package/dist/Form/Form.svelte +88 -0
- package/dist/Form/Form.svelte.d.ts +15 -0
- package/dist/Form/FormContext.d.ts +19 -0
- package/dist/Form/FormContext.js +1 -0
- package/dist/Form/FormInternals.d.ts +40 -0
- package/dist/Form/FormInternals.js +152 -0
- package/dist/Form/FormItem.svelte +191 -0
- package/dist/Form/FormItem.svelte.d.ts +8 -0
- package/dist/Form/index.d.ts +3 -0
- package/dist/Form/index.js +2 -0
- package/dist/Form/types.d.ts +61 -0
- package/dist/Form/types.js +1 -0
- package/dist/Icon/Icon.svelte +59 -0
- package/dist/Icon/Icon.svelte.d.ts +11 -0
- package/dist/Icon/index.d.ts +5 -0
- package/dist/Icon/index.js +15 -0
- package/dist/Icon/types.d.ts +14 -0
- package/dist/Icon/types.js +1 -0
- package/dist/Image/Image.svelte +134 -0
- package/dist/Image/Image.svelte.d.ts +20 -0
- package/dist/Image/index.d.ts +4 -0
- package/dist/Image/index.js +3 -0
- package/dist/Image/types.d.ts +32 -0
- package/dist/Image/types.js +1 -0
- package/dist/Input/Input.svelte +177 -0
- package/dist/Input/Input.svelte.d.ts +4 -0
- package/dist/Input/index.d.ts +4 -0
- package/dist/Input/index.js +3 -0
- package/dist/Input/types.d.ts +72 -0
- package/dist/Input/types.js +1 -0
- package/dist/InputNumber/InputNumber.svelte +110 -0
- package/dist/InputNumber/InputNumber.svelte.d.ts +18 -0
- package/dist/InputNumber/index.d.ts +4 -0
- package/dist/InputNumber/index.js +3 -0
- package/dist/InputNumber/types.d.ts +29 -0
- package/dist/InputNumber/types.js +1 -0
- package/dist/InputTag/InputTag.svelte +160 -0
- package/dist/InputTag/InputTag.svelte.d.ts +4 -0
- package/dist/InputTag/index.d.ts +4 -0
- package/dist/InputTag/index.js +3 -0
- package/dist/InputTag/types.d.ts +21 -0
- package/dist/InputTag/types.js +1 -0
- package/dist/Link/Link.svelte +38 -0
- package/dist/Link/Link.svelte.d.ts +15 -0
- package/dist/Link/index.d.ts +4 -0
- package/dist/Link/index.js +3 -0
- package/dist/Link/types.d.ts +26 -0
- package/dist/Link/types.js +1 -0
- package/dist/Loading/Loading.svelte +56 -0
- package/dist/Loading/Loading.svelte.d.ts +14 -0
- package/dist/Loading/index.d.ts +4 -0
- package/dist/Loading/index.js +3 -0
- package/dist/Loading/types.d.ts +20 -0
- package/dist/Loading/types.js +1 -0
- package/dist/Menu/Menu.svelte +301 -0
- package/dist/Menu/Menu.svelte.d.ts +4 -0
- package/dist/Menu/types.d.ts +35 -0
- package/dist/Menu/types.js +1 -0
- package/dist/Message/Message.svelte +60 -0
- package/dist/Message/Message.svelte.d.ts +13 -0
- package/dist/Message/MessageQueue.svelte +65 -0
- package/dist/Message/MessageQueue.svelte.d.ts +10 -0
- package/dist/Message/index.d.ts +4 -0
- package/dist/Message/index.js +3 -0
- package/dist/Message/message.d.ts +19 -0
- package/dist/Message/message.js +95 -0
- package/dist/Message/types.d.ts +28 -0
- package/dist/Message/types.js +1 -0
- package/dist/MessageBox/MessageBox.svelte +133 -0
- package/dist/MessageBox/MessageBox.svelte.d.ts +7 -0
- package/dist/MessageBox/index.d.ts +4 -0
- package/dist/MessageBox/index.js +3 -0
- package/dist/MessageBox/messageBox.d.ts +13 -0
- package/dist/MessageBox/messageBox.js +32 -0
- package/dist/MessageBox/types.d.ts +23 -0
- package/dist/MessageBox/types.js +1 -0
- package/dist/Notification/Notification.svelte +142 -0
- package/dist/Notification/Notification.svelte.d.ts +7 -0
- package/dist/Notification/index.d.ts +4 -0
- package/dist/Notification/index.js +3 -0
- package/dist/Notification/notification.d.ts +11 -0
- package/dist/Notification/notification.js +19 -0
- package/dist/Notification/types.d.ts +26 -0
- package/dist/Notification/types.js +1 -0
- package/dist/Pagination/Pagination.svelte +413 -0
- package/dist/Pagination/Pagination.svelte.d.ts +21 -0
- package/dist/Pagination/index.d.ts +4 -0
- package/dist/Pagination/index.js +3 -0
- package/dist/Pagination/types.d.ts +32 -0
- package/dist/Pagination/types.js +1 -0
- package/dist/PinInput/PinInput.svelte +175 -0
- package/dist/PinInput/PinInput.svelte.d.ts +4 -0
- package/dist/PinInput/index.d.ts +4 -0
- package/dist/PinInput/index.js +3 -0
- package/dist/PinInput/types.d.ts +31 -0
- package/dist/PinInput/types.js +1 -0
- package/dist/Popconfirm/Popconfirm.svelte +293 -0
- package/dist/Popconfirm/Popconfirm.svelte.d.ts +4 -0
- package/dist/Popconfirm/index.d.ts +2 -0
- package/dist/Popconfirm/index.js +1 -0
- package/dist/Popconfirm/types.d.ts +53 -0
- package/dist/Popconfirm/types.js +1 -0
- package/dist/Popover/Popover.svelte +245 -0
- package/dist/Popover/Popover.svelte.d.ts +7 -0
- package/dist/Popover/index.d.ts +4 -0
- package/dist/Popover/index.js +3 -0
- package/dist/Popover/types.d.ts +24 -0
- package/dist/Popover/types.js +1 -0
- package/dist/Progress/Progress.svelte +33 -0
- package/dist/Progress/Progress.svelte.d.ts +11 -0
- package/dist/Progress/index.d.ts +4 -0
- package/dist/Progress/index.js +3 -0
- package/dist/Progress/types.d.ts +17 -0
- package/dist/Progress/types.js +1 -0
- package/dist/Radio/Radio.svelte +66 -0
- package/dist/Radio/Radio.svelte.d.ts +15 -0
- package/dist/Radio/RadioGroup.svelte +40 -0
- package/dist/Radio/RadioGroup.svelte.d.ts +13 -0
- package/dist/Radio/index.d.ts +4 -0
- package/dist/Radio/index.js +3 -0
- package/dist/Radio/types.d.ts +24 -0
- package/dist/Radio/types.js +1 -0
- package/dist/Rating/Rating.svelte +226 -0
- package/dist/Rating/Rating.svelte.d.ts +27 -0
- package/dist/Rating/index.d.ts +4 -0
- package/dist/Rating/index.js +3 -0
- package/dist/Rating/types.d.ts +43 -0
- package/dist/Rating/types.js +1 -0
- package/dist/Result/Result.svelte +58 -0
- package/dist/Result/Result.svelte.d.ts +14 -0
- package/dist/Result/index.d.ts +4 -0
- package/dist/Result/index.js +3 -0
- package/dist/Result/types.d.ts +20 -0
- package/dist/Result/types.js +1 -0
- package/dist/Segmented/Segmented.svelte +49 -0
- package/dist/Segmented/Segmented.svelte.d.ts +12 -0
- package/dist/Segmented/index.d.ts +4 -0
- package/dist/Segmented/index.js +3 -0
- package/dist/Segmented/types.d.ts +29 -0
- package/dist/Segmented/types.js +1 -0
- package/dist/Select/Option.svelte +30 -0
- package/dist/Select/Option.svelte.d.ts +9 -0
- package/dist/Select/OptionGroup.svelte +33 -0
- package/dist/Select/OptionGroup.svelte.d.ts +10 -0
- package/dist/Select/Select.svelte +245 -0
- package/dist/Select/Select.svelte.d.ts +4 -0
- package/dist/Select/index.d.ts +4 -0
- package/dist/Select/index.js +3 -0
- package/dist/Select/types.d.ts +41 -0
- package/dist/Select/types.js +1 -0
- package/dist/Skeleton/Skeleton.svelte +44 -0
- package/dist/Skeleton/Skeleton.svelte.d.ts +13 -0
- package/dist/Skeleton/SkeletonItem.svelte +14 -0
- package/dist/Skeleton/SkeletonItem.svelte.d.ts +8 -0
- package/dist/Skeleton/index.d.ts +5 -0
- package/dist/Skeleton/index.js +4 -0
- package/dist/Skeleton/types.d.ts +27 -0
- package/dist/Skeleton/types.js +1 -0
- package/dist/Slider/Slider.svelte +342 -0
- package/dist/Slider/Slider.svelte.d.ts +18 -0
- package/dist/Slider/index.d.ts +4 -0
- package/dist/Slider/index.js +3 -0
- package/dist/Slider/types.d.ts +28 -0
- package/dist/Slider/types.js +1 -0
- package/dist/Space/Space.svelte +89 -0
- package/dist/Space/Space.svelte.d.ts +17 -0
- package/dist/Space/index.d.ts +4 -0
- package/dist/Space/index.js +3 -0
- package/dist/Space/types.d.ts +32 -0
- package/dist/Space/types.js +1 -0
- package/dist/Statistic/Countdown.svelte +108 -0
- package/dist/Statistic/Countdown.svelte.d.ts +14 -0
- package/dist/Statistic/Statistic.svelte +63 -0
- package/dist/Statistic/Statistic.svelte.d.ts +15 -0
- package/dist/Statistic/index.d.ts +5 -0
- package/dist/Statistic/index.js +4 -0
- package/dist/Statistic/types.d.ts +41 -0
- package/dist/Statistic/types.js +1 -0
- package/dist/Steps/Step.svelte +58 -0
- package/dist/Steps/Step.svelte.d.ts +14 -0
- package/dist/Steps/Steps.svelte +60 -0
- package/dist/Steps/Steps.svelte.d.ts +15 -0
- package/dist/Steps/StepsContext.d.ts +12 -0
- package/dist/Steps/StepsContext.js +1 -0
- package/dist/Steps/index.d.ts +5 -0
- package/dist/Steps/index.js +4 -0
- package/dist/Steps/types.d.ts +41 -0
- package/dist/Steps/types.js +1 -0
- package/dist/Switch/Switch.svelte +122 -0
- package/dist/Switch/Switch.svelte.d.ts +22 -0
- package/dist/Switch/index.d.ts +4 -0
- package/dist/Switch/index.js +3 -0
- package/dist/Switch/types.d.ts +37 -0
- package/dist/Switch/types.js +1 -0
- package/dist/Table/Table.svelte +700 -0
- package/dist/Table/Table.svelte.d.ts +11 -0
- package/dist/Table/index.d.ts +4 -0
- package/dist/Table/index.js +3 -0
- package/dist/Table/types.d.ts +180 -0
- package/dist/Table/types.js +1 -0
- package/dist/Tabs/TabPane.svelte +37 -0
- package/dist/Tabs/TabPane.svelte.d.ts +13 -0
- package/dist/Tabs/Tabs.svelte +251 -0
- package/dist/Tabs/Tabs.svelte.d.ts +13 -0
- package/dist/Tabs/TabsContext.d.ts +11 -0
- package/dist/Tabs/TabsContext.js +1 -0
- package/dist/Tabs/index.d.ts +3 -0
- package/dist/Tabs/index.js +2 -0
- package/dist/Tabs/types.d.ts +39 -0
- package/dist/Tabs/types.js +1 -0
- package/dist/Tag/Tag.svelte +39 -0
- package/dist/Tag/Tag.svelte.d.ts +13 -0
- package/dist/Tag/index.d.ts +4 -0
- package/dist/Tag/index.js +3 -0
- package/dist/Tag/types.d.ts +22 -0
- package/dist/Tag/types.js +1 -0
- package/dist/Textarea/Textarea.svelte +76 -0
- package/dist/Textarea/Textarea.svelte.d.ts +16 -0
- package/dist/Textarea/index.d.ts +4 -0
- package/dist/Textarea/index.js +3 -0
- package/dist/Textarea/types.d.ts +25 -0
- package/dist/Textarea/types.js +1 -0
- package/dist/TimePicker/TimePicker.svelte +364 -0
- package/dist/TimePicker/TimePicker.svelte.d.ts +14 -0
- package/dist/TimePicker/index.d.ts +3 -0
- package/dist/TimePicker/index.js +3 -0
- package/dist/TimePicker/types.d.ts +21 -0
- package/dist/TimePicker/types.js +1 -0
- package/dist/Timeline/Timeline.svelte +18 -0
- package/dist/Timeline/Timeline.svelte.d.ts +8 -0
- package/dist/Timeline/TimelineItem.svelte +67 -0
- package/dist/Timeline/TimelineItem.svelte.d.ts +18 -0
- package/dist/Timeline/index.d.ts +5 -0
- package/dist/Timeline/index.js +4 -0
- package/dist/Timeline/types.d.ts +39 -0
- package/dist/Timeline/types.js +1 -0
- package/dist/Tooltip/OverflowTooltip.svelte +81 -0
- package/dist/Tooltip/OverflowTooltip.svelte.d.ts +4 -0
- package/dist/Tooltip/Tooltip.svelte +77 -0
- package/dist/Tooltip/Tooltip.svelte.d.ts +16 -0
- package/dist/Tooltip/index.d.ts +6 -0
- package/dist/Tooltip/index.js +5 -0
- package/dist/Tooltip/types.d.ts +51 -0
- package/dist/Tooltip/types.js +1 -0
- package/dist/Transfer/Transfer.svelte +145 -0
- package/dist/Transfer/Transfer.svelte.d.ts +14 -0
- package/dist/Transfer/index.d.ts +4 -0
- package/dist/Transfer/index.js +3 -0
- package/dist/Transfer/types.d.ts +16 -0
- package/dist/Transfer/types.js +1 -0
- package/dist/Tree/Tree.svelte +148 -0
- package/dist/Tree/Tree.svelte.d.ts +17 -0
- package/dist/Tree/TreeNode.svelte +133 -0
- package/dist/Tree/TreeNode.svelte.d.ts +19 -0
- package/dist/Tree/index.d.ts +4 -0
- package/dist/Tree/index.js +3 -0
- package/dist/Tree/types.d.ts +65 -0
- package/dist/Tree/types.js +1 -0
- package/dist/TreeSelect/TreeSelect.svelte +716 -0
- package/dist/TreeSelect/TreeSelect.svelte.d.ts +4 -0
- package/dist/TreeSelect/index.d.ts +4 -0
- package/dist/TreeSelect/index.js +3 -0
- package/dist/TreeSelect/types.d.ts +98 -0
- package/dist/TreeSelect/types.js +1 -0
- package/dist/Upload/Upload.svelte +396 -0
- package/dist/Upload/Upload.svelte.d.ts +28 -0
- package/dist/Upload/index.d.ts +4 -0
- package/dist/Upload/index.js +3 -0
- package/dist/Upload/types.d.ts +67 -0
- package/dist/Upload/types.js +1 -0
- package/dist/Watermark/Watermark.svelte +174 -0
- package/dist/Watermark/Watermark.svelte.d.ts +20 -0
- package/dist/Watermark/index.d.ts +4 -0
- package/dist/Watermark/index.js +3 -0
- package/dist/Watermark/types.d.ts +32 -0
- package/dist/Watermark/types.js +1 -0
- package/dist/index.d.ts +140 -0
- package/dist/index.js +85 -0
- package/dist/utils/floating.d.ts +28 -0
- package/dist/utils/floating.js +140 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.js +34 -0
- package/dist/utils/portal.d.ts +9 -0
- package/dist/utils/portal.js +33 -0
- package/package.json +115 -0
- package/styles/index.css +1 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import type { Snippet } from 'svelte'
|
|
3
|
+
import { onMount } from 'svelte'
|
|
4
|
+
|
|
5
|
+
interface WatermarkProps {
|
|
6
|
+
content?: string | string[]
|
|
7
|
+
fontSize?: number
|
|
8
|
+
fontColor?: string
|
|
9
|
+
fontFamily?: string
|
|
10
|
+
fontWeight?: number | string
|
|
11
|
+
rotate?: number
|
|
12
|
+
width?: number
|
|
13
|
+
height?: number
|
|
14
|
+
gap?: [number, number]
|
|
15
|
+
offset?: [number, number]
|
|
16
|
+
zIndex?: number
|
|
17
|
+
image?: string
|
|
18
|
+
children?: Snippet
|
|
19
|
+
class?: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
let {
|
|
23
|
+
content = '',
|
|
24
|
+
fontSize = 14,
|
|
25
|
+
fontColor,
|
|
26
|
+
fontFamily = 'sans-serif',
|
|
27
|
+
fontWeight = 'normal',
|
|
28
|
+
rotate = -22,
|
|
29
|
+
width = 120,
|
|
30
|
+
height = 64,
|
|
31
|
+
gap = [100, 100],
|
|
32
|
+
offset = [0, 0],
|
|
33
|
+
zIndex = 9,
|
|
34
|
+
image,
|
|
35
|
+
children,
|
|
36
|
+
class: cls = '',
|
|
37
|
+
...attrs
|
|
38
|
+
}: WatermarkProps = $props()
|
|
39
|
+
|
|
40
|
+
let watermarkUrl = $state('')
|
|
41
|
+
let isDark = $state(false)
|
|
42
|
+
let rootEl = $state<HTMLDivElement | null>(null)
|
|
43
|
+
let generateSeq = 0
|
|
44
|
+
|
|
45
|
+
const computeIsDark = (): boolean => {
|
|
46
|
+
if (rootEl?.closest?.('.dark')) return true
|
|
47
|
+
return document.documentElement.classList.contains('dark') || document.body.classList.contains('dark')
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
const getCssDefaultFontColor = (): string | undefined => {
|
|
51
|
+
if (!rootEl) return undefined
|
|
52
|
+
const raw = getComputedStyle(rootEl).getPropertyValue('--lm-watermark-font-color').trim()
|
|
53
|
+
return raw || undefined
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
const getDefaultFontColor = (): string => {
|
|
57
|
+
return isDark ? 'rgba(255, 255, 255, 0.22)' : 'rgba(0, 0, 0, 0.15)'
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
const generateWatermark = (): void => {
|
|
61
|
+
const seq = ++generateSeq
|
|
62
|
+
const canvas = document.createElement('canvas')
|
|
63
|
+
const ctx = canvas.getContext('2d')
|
|
64
|
+
if (!ctx) return
|
|
65
|
+
|
|
66
|
+
const ratio = window.devicePixelRatio || 1
|
|
67
|
+
const logicalWidth = width + gap[0]
|
|
68
|
+
const logicalHeight = height + gap[1]
|
|
69
|
+
const canvasWidth = logicalWidth * ratio
|
|
70
|
+
const canvasHeight = logicalHeight * ratio
|
|
71
|
+
|
|
72
|
+
canvas.width = canvasWidth
|
|
73
|
+
canvas.height = canvasHeight
|
|
74
|
+
|
|
75
|
+
ctx.imageSmoothingEnabled = true
|
|
76
|
+
ctx.imageSmoothingQuality = 'high'
|
|
77
|
+
|
|
78
|
+
ctx.scale(ratio, ratio)
|
|
79
|
+
ctx.translate(logicalWidth / 2, logicalHeight / 2)
|
|
80
|
+
ctx.rotate((rotate * Math.PI) / 180)
|
|
81
|
+
|
|
82
|
+
if (image) {
|
|
83
|
+
const img = new Image()
|
|
84
|
+
img.crossOrigin = 'anonymous'
|
|
85
|
+
img.onload = () => {
|
|
86
|
+
if (seq !== generateSeq) return
|
|
87
|
+
ctx.drawImage(img, -width / 2, -height / 2, width, height)
|
|
88
|
+
watermarkUrl = canvas.toDataURL()
|
|
89
|
+
}
|
|
90
|
+
img.src = image
|
|
91
|
+
} else {
|
|
92
|
+
ctx.font = `${fontWeight} ${fontSize}px ${fontFamily}`
|
|
93
|
+
ctx.fillStyle = fontColor ?? getCssDefaultFontColor() ?? getDefaultFontColor()
|
|
94
|
+
ctx.textAlign = 'center'
|
|
95
|
+
ctx.textBaseline = 'middle'
|
|
96
|
+
|
|
97
|
+
const contents = Array.isArray(content) ? content : [content]
|
|
98
|
+
const lineHeight = fontSize * 1.5
|
|
99
|
+
const startY = -((contents.length - 1) * lineHeight) / 2
|
|
100
|
+
|
|
101
|
+
contents.forEach((text, index) => {
|
|
102
|
+
ctx.fillText(text, 0, startY + index * lineHeight)
|
|
103
|
+
})
|
|
104
|
+
|
|
105
|
+
watermarkUrl = canvas.toDataURL()
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
onMount(() => {
|
|
110
|
+
isDark = computeIsDark()
|
|
111
|
+
|
|
112
|
+
let scheduled = false
|
|
113
|
+
const scheduleRecompute = (): void => {
|
|
114
|
+
if (scheduled) return
|
|
115
|
+
scheduled = true
|
|
116
|
+
requestAnimationFrame(() => {
|
|
117
|
+
scheduled = false
|
|
118
|
+
isDark = computeIsDark()
|
|
119
|
+
})
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const observer = new MutationObserver(scheduleRecompute)
|
|
123
|
+
|
|
124
|
+
const observed = new Set<Element>()
|
|
125
|
+
const observeElement = (el: Element | null): void => {
|
|
126
|
+
if (!el || observed.has(el)) return
|
|
127
|
+
observed.add(el)
|
|
128
|
+
observer.observe(el, {
|
|
129
|
+
attributes: true,
|
|
130
|
+
attributeFilter: ['class'],
|
|
131
|
+
subtree: false,
|
|
132
|
+
})
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
observeElement(document.documentElement)
|
|
136
|
+
observeElement(document.body)
|
|
137
|
+
for (let el = rootEl?.parentElement; el; el = el.parentElement) {
|
|
138
|
+
observeElement(el)
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
generateWatermark()
|
|
142
|
+
|
|
143
|
+
return () => {
|
|
144
|
+
observer.disconnect()
|
|
145
|
+
}
|
|
146
|
+
})
|
|
147
|
+
|
|
148
|
+
$effect(() => {
|
|
149
|
+
content
|
|
150
|
+
fontSize
|
|
151
|
+
fontColor
|
|
152
|
+
fontFamily
|
|
153
|
+
fontWeight
|
|
154
|
+
rotate
|
|
155
|
+
width
|
|
156
|
+
height
|
|
157
|
+
gap
|
|
158
|
+
image
|
|
159
|
+
isDark
|
|
160
|
+
generateWatermark()
|
|
161
|
+
})
|
|
162
|
+
|
|
163
|
+
const classes = $derived(`lm-watermark${cls ? ` ${cls}` : ''}`)
|
|
164
|
+
const watermarkStyle = $derived(
|
|
165
|
+
`background-image:url(${watermarkUrl});background-size:${width + gap[0]}px ${height + gap[1]}px;background-position:${offset[0]}px ${offset[1]}px;z-index:${zIndex}`
|
|
166
|
+
)
|
|
167
|
+
</script>
|
|
168
|
+
|
|
169
|
+
<div class={classes} bind:this={rootEl} {...attrs}>
|
|
170
|
+
{#if children}
|
|
171
|
+
{@render children()}
|
|
172
|
+
{/if}
|
|
173
|
+
<div class="lm-watermark__mark" style={watermarkStyle}></div>
|
|
174
|
+
</div>
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
interface WatermarkProps {
|
|
3
|
+
content?: string | string[];
|
|
4
|
+
fontSize?: number;
|
|
5
|
+
fontColor?: string;
|
|
6
|
+
fontFamily?: string;
|
|
7
|
+
fontWeight?: number | string;
|
|
8
|
+
rotate?: number;
|
|
9
|
+
width?: number;
|
|
10
|
+
height?: number;
|
|
11
|
+
gap?: [number, number];
|
|
12
|
+
offset?: [number, number];
|
|
13
|
+
zIndex?: number;
|
|
14
|
+
image?: string;
|
|
15
|
+
children?: Snippet;
|
|
16
|
+
class?: string;
|
|
17
|
+
}
|
|
18
|
+
declare const Watermark: import("svelte").Component<WatermarkProps, {}, "">;
|
|
19
|
+
type Watermark = ReturnType<typeof Watermark>;
|
|
20
|
+
export default Watermark;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
/** Watermark 属性 */
|
|
3
|
+
export interface WatermarkProps {
|
|
4
|
+
/** 水印内容 */
|
|
5
|
+
content?: string | string[];
|
|
6
|
+
/** 字体大小 */
|
|
7
|
+
fontSize?: number;
|
|
8
|
+
/** 字体颜色 */
|
|
9
|
+
fontColor?: string;
|
|
10
|
+
/** 字体 */
|
|
11
|
+
fontFamily?: string;
|
|
12
|
+
/** 字体粗细 */
|
|
13
|
+
fontWeight?: number | string;
|
|
14
|
+
/** 旋转角度 */
|
|
15
|
+
rotate?: number;
|
|
16
|
+
/** 水印宽度 */
|
|
17
|
+
width?: number;
|
|
18
|
+
/** 水印高度 */
|
|
19
|
+
height?: number;
|
|
20
|
+
/** 水印间距 */
|
|
21
|
+
gap?: [number, number];
|
|
22
|
+
/** 水印偏移 */
|
|
23
|
+
offset?: [number, number];
|
|
24
|
+
/** 层级 */
|
|
25
|
+
zIndex?: number;
|
|
26
|
+
/** 图片地址 */
|
|
27
|
+
image?: string;
|
|
28
|
+
/** 子内容 */
|
|
29
|
+
children?: Snippet;
|
|
30
|
+
/** 自定义类名 */
|
|
31
|
+
class?: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
export { default as Affix } from './Affix/Affix.svelte';
|
|
2
|
+
export { default as Alert } from './Alert/Alert.svelte';
|
|
3
|
+
export { default as Autocomplete } from './Autocomplete/Autocomplete.svelte';
|
|
4
|
+
export { default as Avatar } from './Avatar/Avatar.svelte';
|
|
5
|
+
export { default as Backtop } from './Backtop/Backtop.svelte';
|
|
6
|
+
export { default as Badge } from './Badge/Badge.svelte';
|
|
7
|
+
export { default as Breadcrumb } from './Breadcrumb/Breadcrumb.svelte';
|
|
8
|
+
export { default as BreadcrumbItem } from './Breadcrumb/BreadcrumbItem.svelte';
|
|
9
|
+
export { default as Button } from './Button/Button.svelte';
|
|
10
|
+
export { default as Calendar } from './Calendar/Calendar.svelte';
|
|
11
|
+
export { default as Card } from './Card/Card.svelte';
|
|
12
|
+
export { default as Carousel } from './Carousel/Carousel.svelte';
|
|
13
|
+
export { default as CarouselItem } from './Carousel/CarouselItem.svelte';
|
|
14
|
+
export { default as Cascader } from './Cascader/Cascader.svelte';
|
|
15
|
+
export { default as Checkbox } from './Checkbox/Checkbox.svelte';
|
|
16
|
+
export { default as CheckboxGroup } from './Checkbox/CheckboxGroup.svelte';
|
|
17
|
+
export { default as Collapse } from './Collapse/Collapse.svelte';
|
|
18
|
+
export { default as CollapseItem } from './Collapse/CollapseItem.svelte';
|
|
19
|
+
export { default as ColorPicker } from './ColorPicker/ColorPicker.svelte';
|
|
20
|
+
export { Container, Header, Footer, Main, Aside } from './Container';
|
|
21
|
+
export { default as DatePicker } from './DatePicker/DatePicker.svelte';
|
|
22
|
+
export { default as DateTimePicker } from './DateTimePicker/DateTimePicker.svelte';
|
|
23
|
+
export { default as Descriptions } from './Descriptions/Descriptions.svelte';
|
|
24
|
+
export { default as DescriptionsItem } from './Descriptions/DescriptionsItem.svelte';
|
|
25
|
+
export { default as Dialog } from './Dialog/Dialog.svelte';
|
|
26
|
+
export { default as Divider } from './Divider/Divider.svelte';
|
|
27
|
+
export { default as Drawer } from './Drawer/Drawer.svelte';
|
|
28
|
+
export { default as Dropdown } from './Dropdown/Dropdown.svelte';
|
|
29
|
+
export { default as DropdownItem } from './Dropdown/DropdownItem.svelte';
|
|
30
|
+
export { default as DropdownMenu } from './Dropdown/DropdownMenu.svelte';
|
|
31
|
+
export { default as Empty } from './Empty/Empty.svelte';
|
|
32
|
+
export { default as Form } from './Form/Form.svelte';
|
|
33
|
+
export { default as FormItem } from './Form/FormItem.svelte';
|
|
34
|
+
export { default as Icon } from './Icon/Icon.svelte';
|
|
35
|
+
export { default as Image } from './Image/Image.svelte';
|
|
36
|
+
export { default as Input } from './Input/Input.svelte';
|
|
37
|
+
export { default as InputNumber } from './InputNumber/InputNumber.svelte';
|
|
38
|
+
export { default as InputTag } from './InputTag/InputTag.svelte';
|
|
39
|
+
export { default as Link } from './Link/Link.svelte';
|
|
40
|
+
export { default as Loading } from './Loading/Loading.svelte';
|
|
41
|
+
export { default as Menu } from './Menu/Menu.svelte';
|
|
42
|
+
export { default as Message } from './Message/Message.svelte';
|
|
43
|
+
export { default as MessageBox } from './MessageBox/MessageBox.svelte';
|
|
44
|
+
export { default as Notification } from './Notification/Notification.svelte';
|
|
45
|
+
export { default as Pagination } from './Pagination/Pagination.svelte';
|
|
46
|
+
export { default as PinInput } from './PinInput/PinInput.svelte';
|
|
47
|
+
export { default as Popconfirm } from './Popconfirm/Popconfirm.svelte';
|
|
48
|
+
export { default as Popover } from './Popover/Popover.svelte';
|
|
49
|
+
export { default as Progress } from './Progress/Progress.svelte';
|
|
50
|
+
export { default as Radio } from './Radio/Radio.svelte';
|
|
51
|
+
export { default as RadioGroup } from './Radio/RadioGroup.svelte';
|
|
52
|
+
export { default as Rating } from './Rating/Rating.svelte';
|
|
53
|
+
export { default as Result } from './Result/Result.svelte';
|
|
54
|
+
export { default as Segmented } from './Segmented/Segmented.svelte';
|
|
55
|
+
export { default as Select } from './Select/Select.svelte';
|
|
56
|
+
export { default as Option } from './Select/Option.svelte';
|
|
57
|
+
export { default as OptionGroup } from './Select/OptionGroup.svelte';
|
|
58
|
+
export { default as Skeleton } from './Skeleton/Skeleton.svelte';
|
|
59
|
+
export { default as SkeletonItem } from './Skeleton/SkeletonItem.svelte';
|
|
60
|
+
export { default as Slider } from './Slider/Slider.svelte';
|
|
61
|
+
export { default as Space } from './Space/Space.svelte';
|
|
62
|
+
export { default as Statistic } from './Statistic/Statistic.svelte';
|
|
63
|
+
export { default as Countdown } from './Statistic/Countdown.svelte';
|
|
64
|
+
export { default as Steps } from './Steps/Steps.svelte';
|
|
65
|
+
export { default as Step } from './Steps/Step.svelte';
|
|
66
|
+
export { default as Switch } from './Switch/Switch.svelte';
|
|
67
|
+
export { default as Table } from './Table/Table.svelte';
|
|
68
|
+
export { default as Tabs } from './Tabs/Tabs.svelte';
|
|
69
|
+
export { default as TabPane } from './Tabs/TabPane.svelte';
|
|
70
|
+
export { default as Tag } from './Tag/Tag.svelte';
|
|
71
|
+
export { default as Textarea } from './Textarea/Textarea.svelte';
|
|
72
|
+
export { default as TimePicker } from './TimePicker/TimePicker.svelte';
|
|
73
|
+
export { default as Timeline } from './Timeline/Timeline.svelte';
|
|
74
|
+
export { default as TimelineItem } from './Timeline/TimelineItem.svelte';
|
|
75
|
+
export { default as Tooltip } from './Tooltip/Tooltip.svelte';
|
|
76
|
+
export { default as Transfer } from './Transfer/Transfer.svelte';
|
|
77
|
+
export { default as Tree } from './Tree/Tree.svelte';
|
|
78
|
+
export { default as TreeSelect } from './TreeSelect/TreeSelect.svelte';
|
|
79
|
+
export { default as Upload } from './Upload/Upload.svelte';
|
|
80
|
+
export { default as Watermark } from './Watermark/Watermark.svelte';
|
|
81
|
+
export type * from './Affix/types';
|
|
82
|
+
export type * from './Alert/types';
|
|
83
|
+
export type * from './Avatar/types';
|
|
84
|
+
export type * from './Badge/types';
|
|
85
|
+
export type * from './Breadcrumb/types';
|
|
86
|
+
export type * from './Button/types';
|
|
87
|
+
export type * from './Card/types';
|
|
88
|
+
export type * from './Carousel/types';
|
|
89
|
+
export type * from './Cascader/types';
|
|
90
|
+
export type * from './Checkbox/types';
|
|
91
|
+
export type * from './Collapse/types';
|
|
92
|
+
export type * from './ColorPicker/types';
|
|
93
|
+
export type * from './Container/types';
|
|
94
|
+
export type * from './DatePicker/types';
|
|
95
|
+
export type * from './Descriptions/types';
|
|
96
|
+
export type * from './Dialog/types';
|
|
97
|
+
export type * from './Divider/types';
|
|
98
|
+
export type * from './Drawer/types';
|
|
99
|
+
export type * from './Dropdown/types';
|
|
100
|
+
export type * from './Empty/types';
|
|
101
|
+
export type * from './Form/types';
|
|
102
|
+
export type * from './Icon/types';
|
|
103
|
+
export type * from './Image/types';
|
|
104
|
+
export type * from './Input/types';
|
|
105
|
+
export type * from './InputNumber/types';
|
|
106
|
+
export type * from './InputTag/types';
|
|
107
|
+
export type * from './Link/types';
|
|
108
|
+
export type * from './Loading/types';
|
|
109
|
+
export type * from './Menu/types';
|
|
110
|
+
export type * from './Pagination/types';
|
|
111
|
+
export type * from './PinInput/types';
|
|
112
|
+
export type * from './Popconfirm/types';
|
|
113
|
+
export type * from './Popover/types';
|
|
114
|
+
export type * from './Progress/types';
|
|
115
|
+
export type * from './Radio/types';
|
|
116
|
+
export type * from './Rating/types';
|
|
117
|
+
export type * from './Result/types';
|
|
118
|
+
export type * from './Segmented/types';
|
|
119
|
+
export type * from './Select/types';
|
|
120
|
+
export type * from './Skeleton/types';
|
|
121
|
+
export type * from './Slider/types';
|
|
122
|
+
export type * from './Space/types';
|
|
123
|
+
export type * from './Statistic/types';
|
|
124
|
+
export type * from './Steps/types';
|
|
125
|
+
export type * from './Switch/types';
|
|
126
|
+
export type * from './Table/types';
|
|
127
|
+
export type * from './Tabs/types';
|
|
128
|
+
export type * from './Tag/types';
|
|
129
|
+
export type * from './Textarea/types';
|
|
130
|
+
export type * from './TimePicker/types';
|
|
131
|
+
export type * from './Timeline/types';
|
|
132
|
+
export type * from './Tooltip/types';
|
|
133
|
+
export type * from './Transfer/types';
|
|
134
|
+
export type * from './Tree/types';
|
|
135
|
+
export type * from './TreeSelect/types';
|
|
136
|
+
export type * from './Upload/types';
|
|
137
|
+
export type * from './Watermark/types';
|
|
138
|
+
export * from './Message/message';
|
|
139
|
+
export * from './Notification/notification';
|
|
140
|
+
export * from './MessageBox/messageBox';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
// Components
|
|
2
|
+
export { default as Affix } from './Affix/Affix.svelte';
|
|
3
|
+
export { default as Alert } from './Alert/Alert.svelte';
|
|
4
|
+
export { default as Autocomplete } from './Autocomplete/Autocomplete.svelte';
|
|
5
|
+
export { default as Avatar } from './Avatar/Avatar.svelte';
|
|
6
|
+
export { default as Backtop } from './Backtop/Backtop.svelte';
|
|
7
|
+
export { default as Badge } from './Badge/Badge.svelte';
|
|
8
|
+
export { default as Breadcrumb } from './Breadcrumb/Breadcrumb.svelte';
|
|
9
|
+
export { default as BreadcrumbItem } from './Breadcrumb/BreadcrumbItem.svelte';
|
|
10
|
+
export { default as Button } from './Button/Button.svelte';
|
|
11
|
+
export { default as Calendar } from './Calendar/Calendar.svelte';
|
|
12
|
+
export { default as Card } from './Card/Card.svelte';
|
|
13
|
+
export { default as Carousel } from './Carousel/Carousel.svelte';
|
|
14
|
+
export { default as CarouselItem } from './Carousel/CarouselItem.svelte';
|
|
15
|
+
export { default as Cascader } from './Cascader/Cascader.svelte';
|
|
16
|
+
export { default as Checkbox } from './Checkbox/Checkbox.svelte';
|
|
17
|
+
export { default as CheckboxGroup } from './Checkbox/CheckboxGroup.svelte';
|
|
18
|
+
export { default as Collapse } from './Collapse/Collapse.svelte';
|
|
19
|
+
export { default as CollapseItem } from './Collapse/CollapseItem.svelte';
|
|
20
|
+
export { default as ColorPicker } from './ColorPicker/ColorPicker.svelte';
|
|
21
|
+
export { Container, Header, Footer, Main, Aside } from './Container';
|
|
22
|
+
export { default as DatePicker } from './DatePicker/DatePicker.svelte';
|
|
23
|
+
export { default as DateTimePicker } from './DateTimePicker/DateTimePicker.svelte';
|
|
24
|
+
export { default as Descriptions } from './Descriptions/Descriptions.svelte';
|
|
25
|
+
export { default as DescriptionsItem } from './Descriptions/DescriptionsItem.svelte';
|
|
26
|
+
export { default as Dialog } from './Dialog/Dialog.svelte';
|
|
27
|
+
export { default as Divider } from './Divider/Divider.svelte';
|
|
28
|
+
export { default as Drawer } from './Drawer/Drawer.svelte';
|
|
29
|
+
export { default as Dropdown } from './Dropdown/Dropdown.svelte';
|
|
30
|
+
export { default as DropdownItem } from './Dropdown/DropdownItem.svelte';
|
|
31
|
+
export { default as DropdownMenu } from './Dropdown/DropdownMenu.svelte';
|
|
32
|
+
export { default as Empty } from './Empty/Empty.svelte';
|
|
33
|
+
export { default as Form } from './Form/Form.svelte';
|
|
34
|
+
export { default as FormItem } from './Form/FormItem.svelte';
|
|
35
|
+
export { default as Icon } from './Icon/Icon.svelte';
|
|
36
|
+
export { default as Image } from './Image/Image.svelte';
|
|
37
|
+
export { default as Input } from './Input/Input.svelte';
|
|
38
|
+
export { default as InputNumber } from './InputNumber/InputNumber.svelte';
|
|
39
|
+
export { default as InputTag } from './InputTag/InputTag.svelte';
|
|
40
|
+
export { default as Link } from './Link/Link.svelte';
|
|
41
|
+
export { default as Loading } from './Loading/Loading.svelte';
|
|
42
|
+
export { default as Menu } from './Menu/Menu.svelte';
|
|
43
|
+
export { default as Message } from './Message/Message.svelte';
|
|
44
|
+
export { default as MessageBox } from './MessageBox/MessageBox.svelte';
|
|
45
|
+
export { default as Notification } from './Notification/Notification.svelte';
|
|
46
|
+
export { default as Pagination } from './Pagination/Pagination.svelte';
|
|
47
|
+
export { default as PinInput } from './PinInput/PinInput.svelte';
|
|
48
|
+
export { default as Popconfirm } from './Popconfirm/Popconfirm.svelte';
|
|
49
|
+
export { default as Popover } from './Popover/Popover.svelte';
|
|
50
|
+
export { default as Progress } from './Progress/Progress.svelte';
|
|
51
|
+
export { default as Radio } from './Radio/Radio.svelte';
|
|
52
|
+
export { default as RadioGroup } from './Radio/RadioGroup.svelte';
|
|
53
|
+
export { default as Rating } from './Rating/Rating.svelte';
|
|
54
|
+
export { default as Result } from './Result/Result.svelte';
|
|
55
|
+
export { default as Segmented } from './Segmented/Segmented.svelte';
|
|
56
|
+
export { default as Select } from './Select/Select.svelte';
|
|
57
|
+
export { default as Option } from './Select/Option.svelte';
|
|
58
|
+
export { default as OptionGroup } from './Select/OptionGroup.svelte';
|
|
59
|
+
export { default as Skeleton } from './Skeleton/Skeleton.svelte';
|
|
60
|
+
export { default as SkeletonItem } from './Skeleton/SkeletonItem.svelte';
|
|
61
|
+
export { default as Slider } from './Slider/Slider.svelte';
|
|
62
|
+
export { default as Space } from './Space/Space.svelte';
|
|
63
|
+
export { default as Statistic } from './Statistic/Statistic.svelte';
|
|
64
|
+
export { default as Countdown } from './Statistic/Countdown.svelte';
|
|
65
|
+
export { default as Steps } from './Steps/Steps.svelte';
|
|
66
|
+
export { default as Step } from './Steps/Step.svelte';
|
|
67
|
+
export { default as Switch } from './Switch/Switch.svelte';
|
|
68
|
+
export { default as Table } from './Table/Table.svelte';
|
|
69
|
+
export { default as Tabs } from './Tabs/Tabs.svelte';
|
|
70
|
+
export { default as TabPane } from './Tabs/TabPane.svelte';
|
|
71
|
+
export { default as Tag } from './Tag/Tag.svelte';
|
|
72
|
+
export { default as Textarea } from './Textarea/Textarea.svelte';
|
|
73
|
+
export { default as TimePicker } from './TimePicker/TimePicker.svelte';
|
|
74
|
+
export { default as Timeline } from './Timeline/Timeline.svelte';
|
|
75
|
+
export { default as TimelineItem } from './Timeline/TimelineItem.svelte';
|
|
76
|
+
export { default as Tooltip } from './Tooltip/Tooltip.svelte';
|
|
77
|
+
export { default as Transfer } from './Transfer/Transfer.svelte';
|
|
78
|
+
export { default as Tree } from './Tree/Tree.svelte';
|
|
79
|
+
export { default as TreeSelect } from './TreeSelect/TreeSelect.svelte';
|
|
80
|
+
export { default as Upload } from './Upload/Upload.svelte';
|
|
81
|
+
export { default as Watermark } from './Watermark/Watermark.svelte';
|
|
82
|
+
// Utilities
|
|
83
|
+
export * from './Message/message';
|
|
84
|
+
export * from './Notification/notification';
|
|
85
|
+
export * from './MessageBox/messageBox';
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export type FloatingPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
|
|
2
|
+
export type TransformOrigin = "top left" | "top center" | "top right" | "center left" | "center" | "center right" | "bottom left" | "bottom center" | "bottom right";
|
|
3
|
+
export type FloatingRectLike = Pick<DOMRect, "top" | "left" | "right" | "bottom" | "width" | "height">;
|
|
4
|
+
export interface FloatingPositionOptions {
|
|
5
|
+
placement: FloatingPlacement;
|
|
6
|
+
/** Gap between reference and floating element. */
|
|
7
|
+
offset?: number;
|
|
8
|
+
/** Minimum distance to viewport edge. */
|
|
9
|
+
padding?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface FloatingSize {
|
|
12
|
+
width: number;
|
|
13
|
+
height: number;
|
|
14
|
+
}
|
|
15
|
+
export interface FloatingPositionResult {
|
|
16
|
+
x: number;
|
|
17
|
+
y: number;
|
|
18
|
+
placement: FloatingPlacement;
|
|
19
|
+
}
|
|
20
|
+
export declare const getOppositePlacement: (placement: FloatingPlacement) => FloatingPlacement;
|
|
21
|
+
export declare const getTransformOriginForPlacement: (placement: FloatingPlacement) => TransformOrigin;
|
|
22
|
+
/**
|
|
23
|
+
* Computes a fixed-position (viewport-relative) floating element position.
|
|
24
|
+
* It will:
|
|
25
|
+
* - flip on the main axis if the requested placement overflows
|
|
26
|
+
* - shift/clamp into the viewport on the cross axis
|
|
27
|
+
*/
|
|
28
|
+
export declare const computeFixedFloatingPosition: (referenceRect: FloatingRectLike, floatingSize: FloatingSize, options: FloatingPositionOptions) => FloatingPositionResult;
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
const clamp = (value, min, max) => Math.min(max, Math.max(min, value));
|
|
2
|
+
const getSide = (placement) => {
|
|
3
|
+
if (placement.startsWith("top"))
|
|
4
|
+
return "top";
|
|
5
|
+
if (placement.startsWith("bottom"))
|
|
6
|
+
return "bottom";
|
|
7
|
+
if (placement.startsWith("left"))
|
|
8
|
+
return "left";
|
|
9
|
+
return "right";
|
|
10
|
+
};
|
|
11
|
+
export const getOppositePlacement = (placement) => {
|
|
12
|
+
if (placement.startsWith("top"))
|
|
13
|
+
return placement.replace("top", "bottom");
|
|
14
|
+
if (placement.startsWith("bottom"))
|
|
15
|
+
return placement.replace("bottom", "top");
|
|
16
|
+
if (placement.startsWith("left"))
|
|
17
|
+
return placement.replace("left", "right");
|
|
18
|
+
return placement.replace("right", "left");
|
|
19
|
+
};
|
|
20
|
+
export const getTransformOriginForPlacement = (placement) => {
|
|
21
|
+
switch (placement) {
|
|
22
|
+
case "top":
|
|
23
|
+
return "bottom center";
|
|
24
|
+
case "top-start":
|
|
25
|
+
return "bottom left";
|
|
26
|
+
case "top-end":
|
|
27
|
+
return "bottom right";
|
|
28
|
+
case "bottom":
|
|
29
|
+
return "top center";
|
|
30
|
+
case "bottom-start":
|
|
31
|
+
return "top left";
|
|
32
|
+
case "bottom-end":
|
|
33
|
+
return "top right";
|
|
34
|
+
case "left":
|
|
35
|
+
return "center right";
|
|
36
|
+
case "left-start":
|
|
37
|
+
return "top right";
|
|
38
|
+
case "left-end":
|
|
39
|
+
return "bottom right";
|
|
40
|
+
case "right":
|
|
41
|
+
return "center left";
|
|
42
|
+
case "right-start":
|
|
43
|
+
return "top left";
|
|
44
|
+
case "right-end":
|
|
45
|
+
return "bottom left";
|
|
46
|
+
default:
|
|
47
|
+
return "center";
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
const computeCoords = (placement, referenceRect, floatingSize, offset) => {
|
|
51
|
+
const midX = referenceRect.left + referenceRect.width / 2;
|
|
52
|
+
const midY = referenceRect.top + referenceRect.height / 2;
|
|
53
|
+
switch (placement) {
|
|
54
|
+
case "top":
|
|
55
|
+
return {
|
|
56
|
+
x: midX - floatingSize.width / 2,
|
|
57
|
+
y: referenceRect.top - offset - floatingSize.height,
|
|
58
|
+
};
|
|
59
|
+
case "top-start":
|
|
60
|
+
return { x: referenceRect.left, y: referenceRect.top - offset - floatingSize.height };
|
|
61
|
+
case "top-end":
|
|
62
|
+
return { x: referenceRect.right - floatingSize.width, y: referenceRect.top - offset - floatingSize.height };
|
|
63
|
+
case "bottom":
|
|
64
|
+
return { x: midX - floatingSize.width / 2, y: referenceRect.bottom + offset };
|
|
65
|
+
case "bottom-start":
|
|
66
|
+
return { x: referenceRect.left, y: referenceRect.bottom + offset };
|
|
67
|
+
case "bottom-end":
|
|
68
|
+
return { x: referenceRect.right - floatingSize.width, y: referenceRect.bottom + offset };
|
|
69
|
+
case "left":
|
|
70
|
+
return {
|
|
71
|
+
x: referenceRect.left - offset - floatingSize.width,
|
|
72
|
+
y: midY - floatingSize.height / 2,
|
|
73
|
+
};
|
|
74
|
+
case "left-start":
|
|
75
|
+
return { x: referenceRect.left - offset - floatingSize.width, y: referenceRect.top };
|
|
76
|
+
case "left-end":
|
|
77
|
+
return { x: referenceRect.left - offset - floatingSize.width, y: referenceRect.bottom - floatingSize.height };
|
|
78
|
+
case "right":
|
|
79
|
+
return { x: referenceRect.right + offset, y: midY - floatingSize.height / 2 };
|
|
80
|
+
case "right-start":
|
|
81
|
+
return { x: referenceRect.right + offset, y: referenceRect.top };
|
|
82
|
+
case "right-end":
|
|
83
|
+
return { x: referenceRect.right + offset, y: referenceRect.bottom - floatingSize.height };
|
|
84
|
+
default:
|
|
85
|
+
return { x: referenceRect.right + offset, y: referenceRect.top };
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
const mainAxisOverflow = (placement, coords, floatingSize, padding, viewportWidth, viewportHeight) => {
|
|
89
|
+
const side = getSide(placement);
|
|
90
|
+
switch (side) {
|
|
91
|
+
case "top":
|
|
92
|
+
return Math.max(0, padding - coords.y);
|
|
93
|
+
case "bottom":
|
|
94
|
+
return Math.max(0, coords.y + floatingSize.height - (viewportHeight - padding));
|
|
95
|
+
case "left":
|
|
96
|
+
return Math.max(0, padding - coords.x);
|
|
97
|
+
case "right":
|
|
98
|
+
return Math.max(0, coords.x + floatingSize.width - (viewportWidth - padding));
|
|
99
|
+
default:
|
|
100
|
+
return 0;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const shiftIntoViewport = (placement, coords, floatingSize, padding, viewportWidth, viewportHeight) => {
|
|
104
|
+
const minX = padding;
|
|
105
|
+
const maxX = Math.max(padding, viewportWidth - padding - floatingSize.width);
|
|
106
|
+
const minY = padding;
|
|
107
|
+
const maxY = Math.max(padding, viewportHeight - padding - floatingSize.height);
|
|
108
|
+
const side = getSide(placement);
|
|
109
|
+
// Always clamp cross-axis; clamp main axis only if it overflows.
|
|
110
|
+
if (side === "top" || side === "bottom") {
|
|
111
|
+
const x = clamp(coords.x, minX, maxX);
|
|
112
|
+
const y = coords.y < minY ? minY : coords.y + floatingSize.height > viewportHeight - padding ? maxY : coords.y;
|
|
113
|
+
return { x, y };
|
|
114
|
+
}
|
|
115
|
+
const y = clamp(coords.y, minY, maxY);
|
|
116
|
+
const x = coords.x < minX ? minX : coords.x + floatingSize.width > viewportWidth - padding ? maxX : coords.x;
|
|
117
|
+
return { x, y };
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Computes a fixed-position (viewport-relative) floating element position.
|
|
121
|
+
* It will:
|
|
122
|
+
* - flip on the main axis if the requested placement overflows
|
|
123
|
+
* - shift/clamp into the viewport on the cross axis
|
|
124
|
+
*/
|
|
125
|
+
export const computeFixedFloatingPosition = (referenceRect, floatingSize, options) => {
|
|
126
|
+
const offset = options.offset ?? 12;
|
|
127
|
+
const padding = options.padding ?? 8;
|
|
128
|
+
const viewportWidth = window.innerWidth;
|
|
129
|
+
const viewportHeight = window.innerHeight;
|
|
130
|
+
const requested = options.placement;
|
|
131
|
+
const requestedCoords = computeCoords(requested, referenceRect, floatingSize, offset);
|
|
132
|
+
const opposite = getOppositePlacement(requested);
|
|
133
|
+
const oppositeCoords = computeCoords(opposite, referenceRect, floatingSize, offset);
|
|
134
|
+
const requestedOverflow = mainAxisOverflow(requested, requestedCoords, floatingSize, padding, viewportWidth, viewportHeight);
|
|
135
|
+
const oppositeOverflow = mainAxisOverflow(opposite, oppositeCoords, floatingSize, padding, viewportWidth, viewportHeight);
|
|
136
|
+
const chosenPlacement = requestedOverflow <= oppositeOverflow ? requested : opposite;
|
|
137
|
+
const chosenCoords = chosenPlacement === requested ? requestedCoords : oppositeCoords;
|
|
138
|
+
const shifted = shiftIntoViewport(chosenPlacement, chosenCoords, floatingSize, padding, viewportWidth, viewportHeight);
|
|
139
|
+
return { x: shifted.x, y: shifted.y, placement: chosenPlacement };
|
|
140
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { type FlyParams, type ScaleParams, type TransitionConfig } from 'svelte/transition';
|
|
2
|
+
export declare const createDropdownTransition: (reduceMotion: boolean) => (node: Element, params?: FlyParams) => TransitionConfig;
|
|
3
|
+
export declare const createCenteredDropdownTransition: (reduceMotion: boolean) => (node: Element, params?: ScaleParams) => TransitionConfig;
|