@lobehub/ui 5.51.2 → 5.52.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es/Accordion/Accordion.mjs +1 -1
- package/es/Accordion/Accordion.mjs.map +1 -1
- package/es/ActionIconGroup/type.d.mts +2 -1
- package/es/Alert/Alert.mjs +1 -1
- package/es/AutoComplete/Select.mjs +1 -1
- package/es/Avatar/Avatar.mjs +2 -2
- package/es/Burger/Burger.mjs +2 -2
- package/es/Burger/Burger.mjs.map +1 -1
- package/es/Button/Button.mjs +1 -1
- package/es/CodeDiff/DiffPanel.mjs +1 -1
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/Collapse/Collapse.mjs +1 -1
- package/es/ColorSwatches/ColorSwatches.mjs +21 -21
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ColorSwatches/style.mjs +3 -12
- package/es/ColorSwatches/style.mjs.map +1 -1
- package/es/DatePicker/DatePicker.mjs +1 -1
- package/es/DraggablePanel/DraggablePanel.mjs +1 -1
- package/es/Drawer/Drawer.mjs +1 -1
- package/es/EditableText/ControlInput.d.mts +2 -2
- package/es/EditableText/ControlInput.mjs +1 -1
- package/es/EditableText/ControlInput.mjs.map +1 -1
- package/es/EditableText/EditableText.mjs +1 -0
- package/es/EditableText/EditableText.mjs.map +1 -1
- package/es/EditableText/type.d.mts +5 -1
- package/es/EmojiPicker/AvatarUploader.mjs +76 -71
- package/es/EmojiPicker/AvatarUploader.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs +12 -6
- package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
- package/es/EmojiPicker/style.mjs +32 -9
- package/es/EmojiPicker/style.mjs.map +1 -1
- package/es/EmojiPicker/type.d.mts +2 -1
- package/es/Form/Form.mjs +1 -1
- package/es/Form/components/FormDivider.mjs +1 -1
- package/es/Form/components/FormItem.mjs +1 -1
- package/es/Form/components/FormSubmitFooter.mjs +1 -1
- package/es/Form/components/FormTitle.mjs +1 -1
- package/es/GroupAvatar/GroupAvatar.mjs +1 -1
- package/es/GroupAvatar/GroupAvatar.mjs.map +1 -1
- package/es/GroupAvatar/type.d.mts +2 -1
- package/es/Highlighter/Highlighter.mjs +1 -1
- package/es/Highlighter/Highlighter.mjs.map +1 -1
- package/es/Highlighter/LangSelect.mjs +23 -13
- package/es/Highlighter/LangSelect.mjs.map +1 -1
- package/es/Highlighter/style.mjs +1 -1
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/HtmlPreview/HtmlPreview.mjs +28 -1
- package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
- package/es/Image/viewer/ImageViewer.mjs +1 -1
- package/es/Image/viewer/ImageViewer.mjs.map +1 -1
- package/es/Image/viewer/Toolbar.mjs +1 -1
- package/es/Input/Input.mjs +1 -1
- package/es/Input/InputNumber.mjs +1 -1
- package/es/Input/InputOPT.mjs +1 -1
- package/es/Input/InputPassword.mjs +1 -1
- package/es/Input/TextArea.mjs +1 -1
- package/es/Menu/Menu.mjs +1 -1
- package/es/Menu/index.d.mts +2 -1
- package/es/Menu/index.mjs +1 -1
- package/es/Menu/itemInterface.d.mts +71 -0
- package/es/Menu/type.d.mts +8 -8
- package/es/Mermaid/Mermaid.mjs +1 -1
- package/es/Mermaid/Mermaid.mjs.map +1 -1
- package/es/Modal/Modal.mjs +1 -1
- package/es/SearchBar/SearchBar.mjs +1 -1
- package/es/SearchBar/SearchBar.mjs.map +1 -1
- package/es/SearchBar/type.d.mts +2 -2
- package/es/Segmented/Segmented.mjs +1 -1
- package/es/Select/Select.mjs +1 -1
- package/es/SliderWithInput/SliderWithInput.mjs +1 -1
- package/es/Tabs/Tabs.mjs +1 -1
- package/es/Tag/Tag.mjs +1 -1
- package/es/ThemeProvider/ConfigProvider.mjs +1 -1
- package/es/ThemeProvider/ThemeProvider.mjs +1 -1
- package/es/ThemeSwitch/ThemeSwitch.mjs +1 -1
- package/es/Toc/Toc.mjs +1 -1
- package/es/Toc/TocMobile.mjs +1 -1
- package/es/awesome/AgentSkillCard/AgentSkillCard.mjs +1 -1
- package/es/awesome/Hero/Hero.mjs +1 -1
- package/es/awesome/LandingSection/LandingSection.mjs +1 -1
- package/es/base-ui/Anchor/Anchor.d.mts +6 -0
- package/es/base-ui/Anchor/Anchor.mjs +141 -0
- package/es/base-ui/Anchor/Anchor.mjs.map +1 -0
- package/es/base-ui/Anchor/index.d.mts +3 -0
- package/es/base-ui/Anchor/style.mjs +80 -0
- package/es/base-ui/Anchor/style.mjs.map +1 -0
- package/es/base-ui/Anchor/type.d.mts +20 -0
- package/es/base-ui/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/base-ui/Avatar/Avatar.mjs +1 -1
- package/es/base-ui/Breadcrumb/Breadcrumb.d.mts +6 -0
- package/es/base-ui/Breadcrumb/Breadcrumb.mjs +58 -0
- package/es/base-ui/Breadcrumb/Breadcrumb.mjs.map +1 -0
- package/es/base-ui/Breadcrumb/index.d.mts +3 -0
- package/es/base-ui/Breadcrumb/style.mjs +65 -0
- package/es/base-ui/Breadcrumb/style.mjs.map +1 -0
- package/es/base-ui/Breadcrumb/type.d.mts +24 -0
- package/es/base-ui/Burger/Burger.d.mts +6 -0
- package/es/base-ui/Burger/Burger.mjs +69 -0
- package/es/base-ui/Burger/Burger.mjs.map +1 -0
- package/es/base-ui/Burger/index.d.mts +3 -0
- package/es/base-ui/Burger/style.mjs +63 -0
- package/es/base-ui/Burger/style.mjs.map +1 -0
- package/es/base-ui/Burger/type.d.mts +23 -0
- package/es/base-ui/Carousel/Carousel.d.mts +6 -0
- package/es/base-ui/Carousel/Carousel.mjs +157 -0
- package/es/base-ui/Carousel/Carousel.mjs.map +1 -0
- package/es/base-ui/Carousel/index.d.mts +3 -0
- package/es/base-ui/Carousel/style.mjs +88 -0
- package/es/base-ui/Carousel/style.mjs.map +1 -0
- package/es/base-ui/Carousel/type.d.mts +23 -0
- package/es/base-ui/ColorPicker/ColorPicker.d.mts +6 -0
- package/es/base-ui/ColorPicker/ColorPicker.mjs +227 -0
- package/es/base-ui/ColorPicker/ColorPicker.mjs.map +1 -0
- package/es/base-ui/ColorPicker/SaturationArea.mjs +64 -0
- package/es/base-ui/ColorPicker/SaturationArea.mjs.map +1 -0
- package/es/base-ui/ColorPicker/color.mjs +28 -0
- package/es/base-ui/ColorPicker/color.mjs.map +1 -0
- package/es/base-ui/ColorPicker/index.d.mts +3 -0
- package/es/base-ui/ColorPicker/style.mjs +180 -0
- package/es/base-ui/ColorPicker/style.mjs.map +1 -0
- package/es/base-ui/ColorPicker/type.d.mts +20 -0
- package/es/base-ui/ContextMenu/ContextMenuHost.mjs.map +1 -1
- package/es/base-ui/ContextMenu/renderItems.d.mts +0 -1
- package/es/base-ui/ContextMenu/renderItems.mjs.map +1 -1
- package/es/base-ui/DatePicker/CalendarPanel.mjs +188 -0
- package/es/base-ui/DatePicker/CalendarPanel.mjs.map +1 -0
- package/es/base-ui/DatePicker/DatePicker.d.mts +6 -0
- package/es/base-ui/DatePicker/DatePicker.mjs +88 -0
- package/es/base-ui/DatePicker/DatePicker.mjs.map +1 -0
- package/es/base-ui/DatePicker/DateRangePicker.d.mts +6 -0
- package/es/base-ui/DatePicker/DateRangePicker.mjs +128 -0
- package/es/base-ui/DatePicker/DateRangePicker.mjs.map +1 -0
- package/es/base-ui/DatePicker/PickerShell.mjs +43 -0
- package/es/base-ui/DatePicker/PickerShell.mjs.map +1 -0
- package/es/base-ui/DatePicker/calendar.d.mts +5 -0
- package/es/base-ui/DatePicker/calendar.mjs +46 -0
- package/es/base-ui/DatePicker/calendar.mjs.map +1 -0
- package/es/base-ui/DatePicker/index.d.mts +5 -0
- package/es/base-ui/DatePicker/style.mjs +193 -0
- package/es/base-ui/DatePicker/style.mjs.map +1 -0
- package/es/base-ui/DatePicker/type.d.mts +35 -0
- package/es/base-ui/Descriptions/Descriptions.d.mts +6 -0
- package/es/base-ui/Descriptions/Descriptions.mjs +62 -0
- package/es/base-ui/Descriptions/Descriptions.mjs.map +1 -0
- package/es/base-ui/Descriptions/index.d.mts +3 -0
- package/es/base-ui/Descriptions/style.mjs +64 -0
- package/es/base-ui/Descriptions/style.mjs.map +1 -0
- package/es/base-ui/Descriptions/type.d.mts +28 -0
- package/es/base-ui/Divider/Divider.d.mts +6 -0
- package/es/base-ui/Divider/Divider.mjs +30 -0
- package/es/base-ui/Divider/Divider.mjs.map +1 -0
- package/es/base-ui/Divider/index.d.mts +3 -0
- package/es/base-ui/Divider/style.mjs +59 -0
- package/es/base-ui/Divider/style.mjs.map +1 -0
- package/es/base-ui/Divider/type.d.mts +12 -0
- package/es/base-ui/Drawer/atoms.mjs.map +1 -1
- package/es/base-ui/DropdownMenu/atoms.mjs +1 -1
- package/es/base-ui/DropdownMenu/atoms.mjs.map +1 -1
- package/es/base-ui/DropdownMenu/renderItems.d.mts +0 -1
- package/es/base-ui/DropdownMenu/renderItems.mjs.map +1 -1
- package/es/base-ui/Form/components/FormTitle.mjs +1 -1
- package/es/base-ui/Form/components/FormTitle.mjs.map +1 -1
- package/es/base-ui/Form/type.d.mts +2 -2
- package/es/base-ui/Input/ClearButton.mjs +32 -0
- package/es/base-ui/Input/ClearButton.mjs.map +1 -0
- package/es/base-ui/Input/Input.mjs +30 -4
- package/es/base-ui/Input/Input.mjs.map +1 -1
- package/es/base-ui/Input/InputNumber.mjs +43 -22
- package/es/base-ui/Input/InputNumber.mjs.map +1 -1
- package/es/base-ui/Input/TextArea.mjs +50 -13
- package/es/base-ui/Input/TextArea.mjs.map +1 -1
- package/es/base-ui/Input/clearNativeValue.mjs +12 -0
- package/es/base-ui/Input/clearNativeValue.mjs.map +1 -0
- package/es/base-ui/Input/pressEnter.mjs +6 -0
- package/es/base-ui/Input/pressEnter.mjs.map +1 -0
- package/es/base-ui/Input/style.d.mts +5 -1
- package/es/base-ui/Input/style.mjs +67 -4
- package/es/base-ui/Input/style.mjs.map +1 -1
- package/es/base-ui/Input/type.d.mts +13 -2
- package/es/base-ui/List/List.d.mts +6 -0
- package/es/base-ui/List/List.mjs +50 -0
- package/es/base-ui/List/List.mjs.map +1 -0
- package/es/base-ui/List/ListRow.mjs +74 -0
- package/es/base-ui/List/ListRow.mjs.map +1 -0
- package/es/base-ui/List/index.d.mts +3 -0
- package/es/base-ui/List/style.mjs +146 -0
- package/es/base-ui/List/style.mjs.map +1 -0
- package/es/base-ui/List/type.d.mts +48 -0
- package/es/base-ui/Modal/atoms.mjs.map +1 -1
- package/es/base-ui/Modal/imperative.mjs +1 -1
- package/es/base-ui/Modal/imperative.mjs.map +1 -1
- package/es/base-ui/Modal/type.d.mts +1 -0
- package/es/base-ui/Popover/PopoverPortal.mjs.map +1 -1
- package/es/base-ui/Progress/Progress.mjs +16 -14
- package/es/base-ui/Progress/Progress.mjs.map +1 -1
- package/es/base-ui/Progress/style.mjs +16 -25
- package/es/base-ui/Progress/style.mjs.map +1 -1
- package/es/base-ui/QRCode/QRCode.d.mts +6 -0
- package/es/base-ui/QRCode/QRCode.mjs +105 -0
- package/es/base-ui/QRCode/QRCode.mjs.map +1 -0
- package/es/base-ui/QRCode/index.d.mts +3 -0
- package/es/base-ui/QRCode/qrPath.mjs +16 -0
- package/es/base-ui/QRCode/qrPath.mjs.map +1 -0
- package/es/base-ui/QRCode/style.mjs +52 -0
- package/es/base-ui/QRCode/style.mjs.map +1 -0
- package/es/base-ui/QRCode/type.d.mts +19 -0
- package/es/base-ui/Rate/Rate.d.mts +6 -0
- package/es/base-ui/Rate/Rate.mjs +111 -0
- package/es/base-ui/Rate/Rate.mjs.map +1 -0
- package/es/base-ui/Rate/index.d.mts +3 -0
- package/es/base-ui/Rate/style.mjs +81 -0
- package/es/base-ui/Rate/style.mjs.map +1 -0
- package/es/base-ui/Rate/type.d.mts +19 -0
- package/es/base-ui/Select/atoms.mjs.map +1 -1
- package/es/base-ui/Select/hooks.mjs.map +1 -1
- package/es/base-ui/Statistic/Statistic.d.mts +6 -0
- package/es/base-ui/Statistic/Statistic.mjs +42 -0
- package/es/base-ui/Statistic/Statistic.mjs.map +1 -0
- package/es/base-ui/Statistic/formatValue.d.mts +5 -0
- package/es/base-ui/Statistic/formatValue.mjs +23 -0
- package/es/base-ui/Statistic/formatValue.mjs.map +1 -0
- package/es/base-ui/Statistic/index.d.mts +4 -0
- package/es/base-ui/Statistic/style.mjs +34 -0
- package/es/base-ui/Statistic/style.mjs.map +1 -0
- package/es/base-ui/Statistic/type.d.mts +23 -0
- package/es/base-ui/Steps/Steps.d.mts +6 -0
- package/es/base-ui/Steps/Steps.mjs +74 -0
- package/es/base-ui/Steps/Steps.mjs.map +1 -0
- package/es/base-ui/Steps/index.d.mts +3 -0
- package/es/base-ui/Steps/style.mjs +155 -0
- package/es/base-ui/Steps/style.mjs.map +1 -0
- package/es/base-ui/Steps/type.d.mts +32 -0
- package/es/base-ui/Table/FilterMenu.mjs +45 -0
- package/es/base-ui/Table/FilterMenu.mjs.map +1 -0
- package/es/base-ui/Table/Table.d.mts +10 -0
- package/es/base-ui/Table/Table.mjs +134 -0
- package/es/base-ui/Table/Table.mjs.map +1 -0
- package/es/base-ui/Table/TableBody.mjs +59 -0
- package/es/base-ui/Table/TableBody.mjs.map +1 -0
- package/es/base-ui/Table/TableHead.mjs +50 -0
- package/es/base-ui/Table/TableHead.mjs.map +1 -0
- package/es/base-ui/Table/features.mjs +12 -0
- package/es/base-ui/Table/features.mjs.map +1 -0
- package/es/base-ui/Table/fixedOffsets.mjs +29 -0
- package/es/base-ui/Table/fixedOffsets.mjs.map +1 -0
- package/es/base-ui/Table/index.d.mts +3 -0
- package/es/base-ui/Table/style.mjs +168 -0
- package/es/base-ui/Table/style.mjs.map +1 -0
- package/es/base-ui/Table/toColumnDefs.mjs +26 -0
- package/es/base-ui/Table/toColumnDefs.mjs.map +1 -0
- package/es/base-ui/Table/type.d.mts +68 -0
- package/es/base-ui/Table/useTableState.mjs +99 -0
- package/es/base-ui/Table/useTableState.mjs.map +1 -0
- package/es/base-ui/Toast/imperative.mjs.map +1 -1
- package/es/base-ui/Tooltip/TooltipGroup.mjs.map +1 -1
- package/es/base-ui/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/base-ui/index.d.mts +66 -21
- package/es/base-ui/index.mjs +42 -26
- package/es/base-ui/panelStyles.mjs +95 -0
- package/es/base-ui/panelStyles.mjs.map +1 -0
- package/es/chat/ChatList/components/HistoryDivider.mjs +9 -6
- package/es/chat/ChatList/components/HistoryDivider.mjs.map +1 -1
- package/es/chat/MessageModal/MessageModal.mjs +1 -1
- package/es/chat/TokenTag/TokenTag.mjs +1 -1
- package/es/color/CssVar/VarRow.mjs +1 -1
- package/es/color/CssVar/index.mjs +1 -1
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
- package/es/i18n/resources/en/burger.d.mts +8 -0
- package/es/i18n/resources/en/burger.mjs +9 -0
- package/es/i18n/resources/en/burger.mjs.map +1 -0
- package/es/i18n/resources/en/colorPicker.d.mts +12 -0
- package/es/i18n/resources/en/colorPicker.mjs +13 -0
- package/es/i18n/resources/en/colorPicker.mjs.map +1 -0
- package/es/i18n/resources/en/common.d.mts +1 -0
- package/es/i18n/resources/en/common.mjs +1 -0
- package/es/i18n/resources/en/common.mjs.map +1 -1
- package/es/i18n/resources/en/datePicker.d.mts +13 -0
- package/es/i18n/resources/en/datePicker.mjs +14 -0
- package/es/i18n/resources/en/datePicker.mjs.map +1 -0
- package/es/i18n/resources/en/index.d.mts +15 -11
- package/es/i18n/resources/en/index.mjs +9 -1
- package/es/i18n/resources/en/index.mjs.map +1 -1
- package/es/i18n/resources/en/qrCode.d.mts +9 -0
- package/es/i18n/resources/en/qrCode.mjs +10 -0
- package/es/i18n/resources/en/qrCode.mjs.map +1 -0
- package/es/i18n/resources/zhCn/burger.d.mts +8 -0
- package/es/i18n/resources/zhCn/burger.mjs +9 -0
- package/es/i18n/resources/zhCn/burger.mjs.map +1 -0
- package/es/i18n/resources/zhCn/colorPicker.d.mts +12 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs +13 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -0
- package/es/i18n/resources/zhCn/common.d.mts +1 -0
- package/es/i18n/resources/zhCn/common.mjs +1 -0
- package/es/i18n/resources/zhCn/common.mjs.map +1 -1
- package/es/i18n/resources/zhCn/datePicker.d.mts +13 -0
- package/es/i18n/resources/zhCn/datePicker.mjs +14 -0
- package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -0
- package/es/i18n/resources/zhCn/index.d.mts +15 -11
- package/es/i18n/resources/zhCn/index.mjs +9 -1
- package/es/i18n/resources/zhCn/index.mjs.map +1 -1
- package/es/i18n/resources/zhCn/qrCode.d.mts +9 -0
- package/es/i18n/resources/zhCn/qrCode.mjs +10 -0
- package/es/i18n/resources/zhCn/qrCode.mjs.map +1 -0
- package/es/i18n/types.d.mts +14 -10
- package/es/index.d.mts +12 -11
- package/es/index.mjs +23 -23
- package/es/mdx/Cards/Card.d.mts +2 -2
- package/es/mdx/Cards/Card.mjs +1 -1
- package/es/mdx/Cards/Card.mjs.map +1 -1
- package/es/mdx/Mdx/index.mjs +1 -1
- package/es/mdx/Mdx/index.mjs.map +1 -1
- package/es/mdx/Tabs/index.d.mts +2 -2
- package/es/mdx/Tabs/index.mjs +7 -2
- package/es/mdx/Tabs/index.mjs.map +1 -1
- package/es/mdx/Tabs/style.mjs +33 -1
- package/es/mdx/Tabs/style.mjs.map +1 -1
- package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs +1 -1
- package/es/mdx/mdxComponents/Citation/PopoverPanel.mjs.map +1 -1
- package/es/static-css/baseline.mjs +1 -4
- package/es/static-css/baseline.mjs.map +1 -1
- package/es/static-css/buildAntdStaticCss.mjs +1 -1
- package/package.json +3 -1
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/base-ui/Breadcrumb/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
4
|
+
button: css`
|
|
5
|
+
cursor: pointer;
|
|
6
|
+
|
|
7
|
+
padding: 0;
|
|
8
|
+
border: 0;
|
|
9
|
+
|
|
10
|
+
font: inherit;
|
|
11
|
+
color: inherit;
|
|
12
|
+
|
|
13
|
+
background: none;
|
|
14
|
+
`,
|
|
15
|
+
item: css`
|
|
16
|
+
display: flex;
|
|
17
|
+
gap: 4px;
|
|
18
|
+
align-items: center;
|
|
19
|
+
color: ${cssVar.colorTextDescription};
|
|
20
|
+
|
|
21
|
+
& a {
|
|
22
|
+
color: inherit;
|
|
23
|
+
text-decoration: none;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
&[aria-current='page'] {
|
|
27
|
+
font-weight: 500;
|
|
28
|
+
color: ${cssVar.colorText};
|
|
29
|
+
}
|
|
30
|
+
`,
|
|
31
|
+
link: css`
|
|
32
|
+
border-radius: 4px;
|
|
33
|
+
color: inherit;
|
|
34
|
+
text-decoration: none;
|
|
35
|
+
`,
|
|
36
|
+
list: css`
|
|
37
|
+
display: flex;
|
|
38
|
+
flex-wrap: wrap;
|
|
39
|
+
gap: 4px;
|
|
40
|
+
align-items: center;
|
|
41
|
+
|
|
42
|
+
margin: 0;
|
|
43
|
+
padding: 0;
|
|
44
|
+
|
|
45
|
+
list-style: none;
|
|
46
|
+
`,
|
|
47
|
+
root: css`
|
|
48
|
+
font-size: 14px;
|
|
49
|
+
line-height: 1.5;
|
|
50
|
+
|
|
51
|
+
& a:hover,
|
|
52
|
+
& button:hover {
|
|
53
|
+
color: ${cssVar.colorText};
|
|
54
|
+
}
|
|
55
|
+
`,
|
|
56
|
+
separator: css`
|
|
57
|
+
display: inline-flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
color: ${cssVar.colorTextQuaternary};
|
|
60
|
+
`
|
|
61
|
+
}));
|
|
62
|
+
//#endregion
|
|
63
|
+
export { styles };
|
|
64
|
+
|
|
65
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/base-ui/Breadcrumb/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n button: css`\n cursor: pointer;\n\n padding: 0;\n border: 0;\n\n font: inherit;\n color: inherit;\n\n background: none;\n `,\n item: css`\n display: flex;\n gap: 4px;\n align-items: center;\n color: ${cssVar.colorTextDescription};\n\n & a {\n color: inherit;\n text-decoration: none;\n }\n\n &[aria-current='page'] {\n font-weight: 500;\n color: ${cssVar.colorText};\n }\n `,\n link: css`\n border-radius: 4px;\n color: inherit;\n text-decoration: none;\n `,\n list: css`\n display: flex;\n flex-wrap: wrap;\n gap: 4px;\n align-items: center;\n\n margin: 0;\n padding: 0;\n\n list-style: none;\n `,\n root: css`\n font-size: 14px;\n line-height: 1.5;\n\n & a:hover,\n & button:hover {\n color: ${cssVar.colorText};\n }\n `,\n separator: css`\n display: inline-flex;\n align-items: center;\n color: ${cssVar.colorTextQuaternary};\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,QAAQ,GAAG;;;;;;;;;;;CAWX,MAAM,GAAG;;;;aAIE,OAAO,qBAAqB;;;;;;;;;eAS1B,OAAO,UAAU;;;CAG9B,MAAM,GAAG;;;;;CAKT,MAAM,GAAG;;;;;;;;;;;CAWT,MAAM,GAAG;;;;;;eAMI,OAAO,UAAU;;;CAG9B,WAAW,GAAG;;;aAGH,OAAO,oBAAoB;;AAExC,EAAE"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { CSSProperties, ComponentProps, Key, MouseEventHandler, ReactNode, Ref } from "react";
|
|
2
|
+
//#region src/base-ui/Breadcrumb/type.d.ts
|
|
3
|
+
interface BreadcrumbItem {
|
|
4
|
+
href?: string;
|
|
5
|
+
key?: Key;
|
|
6
|
+
onClick?: MouseEventHandler<HTMLElement>;
|
|
7
|
+
title: ReactNode;
|
|
8
|
+
}
|
|
9
|
+
interface BreadcrumbProps extends Omit<ComponentProps<'nav'>, 'children'> {
|
|
10
|
+
classNames?: {
|
|
11
|
+
item?: string;
|
|
12
|
+
separator?: string;
|
|
13
|
+
};
|
|
14
|
+
items: BreadcrumbItem[];
|
|
15
|
+
ref?: Ref<HTMLElement>;
|
|
16
|
+
separator?: ReactNode;
|
|
17
|
+
styles?: {
|
|
18
|
+
item?: CSSProperties;
|
|
19
|
+
separator?: CSSProperties;
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
//#endregion
|
|
23
|
+
export { BreadcrumbItem, BreadcrumbProps };
|
|
24
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import ActionIcon from "../ActionIcon/ActionIcon.mjs";
|
|
3
|
+
import { useTranslation } from "../../i18n/useTranslation.mjs";
|
|
4
|
+
import Drawer from "../Drawer/Drawer.mjs";
|
|
5
|
+
import List from "../List/List.mjs";
|
|
6
|
+
import burger_default from "../../i18n/resources/en/burger.mjs";
|
|
7
|
+
import { styles } from "./style.mjs";
|
|
8
|
+
import { memo } from "react";
|
|
9
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Menu, X } from "lucide-react";
|
|
11
|
+
//#region src/base-ui/Burger/Burger.tsx
|
|
12
|
+
const withoutIcons = (items) => items.flatMap((item) => item.type === "divider" ? [] : [{
|
|
13
|
+
...item,
|
|
14
|
+
icon: void 0
|
|
15
|
+
}]);
|
|
16
|
+
const Burger = memo(({ activeKey, className, footer, fullscreen = false, headerHeight = 64, items, onOpenChange, onSelect, opened, size, style, variant }) => {
|
|
17
|
+
const { t } = useTranslation(burger_default);
|
|
18
|
+
const close = () => onOpenChange(false);
|
|
19
|
+
const toggle = /* @__PURE__ */ jsx(ActionIcon, {
|
|
20
|
+
"aria-expanded": opened,
|
|
21
|
+
"aria-label": opened ? t("burger.close") : t("burger.open"),
|
|
22
|
+
className,
|
|
23
|
+
icon: opened ? X : Menu,
|
|
24
|
+
size,
|
|
25
|
+
style,
|
|
26
|
+
variant,
|
|
27
|
+
onClick: () => onOpenChange(!opened)
|
|
28
|
+
});
|
|
29
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [toggle, /* @__PURE__ */ jsxs(Drawer, {
|
|
30
|
+
noHeader: true,
|
|
31
|
+
classNames: { bodyContent: styles.body },
|
|
32
|
+
height: fullscreen ? "100dvh" : `calc(100dvh - ${headerHeight}px)`,
|
|
33
|
+
open: opened,
|
|
34
|
+
placement: "top",
|
|
35
|
+
styles: fullscreen ? void 0 : { popup: { insetBlockStart: headerHeight } },
|
|
36
|
+
onClose: close,
|
|
37
|
+
children: [
|
|
38
|
+
fullscreen && /* @__PURE__ */ jsx("div", {
|
|
39
|
+
className: styles.fullHeader,
|
|
40
|
+
style: { height: headerHeight },
|
|
41
|
+
children: /* @__PURE__ */ jsx(ActionIcon, {
|
|
42
|
+
"aria-label": t("burger.close"),
|
|
43
|
+
icon: X,
|
|
44
|
+
size,
|
|
45
|
+
onClick: close
|
|
46
|
+
})
|
|
47
|
+
}),
|
|
48
|
+
/* @__PURE__ */ jsx(List, {
|
|
49
|
+
selectable: true,
|
|
50
|
+
activeKey: activeKey ?? null,
|
|
51
|
+
classNames: { item: fullscreen ? styles.largeRow : styles.row },
|
|
52
|
+
items: fullscreen ? withoutIcons(items) : items,
|
|
53
|
+
onClick: ({ key }) => {
|
|
54
|
+
onSelect?.(key);
|
|
55
|
+
close();
|
|
56
|
+
}
|
|
57
|
+
}),
|
|
58
|
+
fullscreen && footer && /* @__PURE__ */ jsx("div", {
|
|
59
|
+
className: styles.footer,
|
|
60
|
+
children: footer
|
|
61
|
+
})
|
|
62
|
+
]
|
|
63
|
+
})] });
|
|
64
|
+
});
|
|
65
|
+
Burger.displayName = "Burger";
|
|
66
|
+
//#endregion
|
|
67
|
+
export { Burger as default };
|
|
68
|
+
|
|
69
|
+
//# sourceMappingURL=Burger.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Burger.mjs","names":["burgerMessages"],"sources":["../../../src/base-ui/Burger/Burger.tsx"],"sourcesContent":["'use client';\n\nimport { Menu, X } from 'lucide-react';\nimport { memo } from 'react';\n\nimport ActionIcon from '@/base-ui/ActionIcon';\nimport { Drawer } from '@/base-ui/Drawer';\nimport List, { type ListItem } from '@/base-ui/List';\nimport burgerMessages from '@/i18n/resources/en/burger';\nimport { useTranslation } from '@/i18n/useTranslation';\n\nimport { styles } from './style';\nimport type { BurgerProps } from './type';\n\nconst withoutIcons = (items: ListItem[]): ListItem[] =>\n items.flatMap((item) => (item.type === 'divider' ? [] : [{ ...item, icon: undefined }]));\n\nconst Burger = memo<BurgerProps>(\n ({\n activeKey,\n className,\n footer,\n fullscreen = false,\n headerHeight = 64,\n items,\n onOpenChange,\n onSelect,\n opened,\n size,\n style,\n variant,\n }) => {\n const { t } = useTranslation(burgerMessages);\n const close = () => onOpenChange(false);\n\n const toggle = (\n <ActionIcon\n aria-expanded={opened}\n aria-label={opened ? t('burger.close') : t('burger.open')}\n className={className}\n icon={opened ? X : Menu}\n size={size}\n style={style}\n variant={variant}\n onClick={() => onOpenChange(!opened)}\n />\n );\n\n return (\n <>\n {toggle}\n <Drawer\n noHeader\n classNames={{ bodyContent: styles.body }}\n height={fullscreen ? '100dvh' : `calc(100dvh - ${headerHeight}px)`}\n open={opened}\n placement=\"top\"\n styles={fullscreen ? undefined : { popup: { insetBlockStart: headerHeight } }}\n onClose={close}\n >\n {fullscreen && (\n <div className={styles.fullHeader} style={{ height: headerHeight }}>\n <ActionIcon aria-label={t('burger.close')} icon={X} size={size} onClick={close} />\n </div>\n )}\n <List\n selectable\n activeKey={activeKey ?? null}\n classNames={{ item: fullscreen ? styles.largeRow : styles.row }}\n items={fullscreen ? withoutIcons(items) : items}\n onClick={({ key }) => {\n onSelect?.(key);\n close();\n }}\n />\n {fullscreen && footer && <div className={styles.footer}>{footer}</div>}\n </Drawer>\n </>\n );\n },\n);\n\nBurger.displayName = 'Burger';\n\nexport default Burger;\n"],"mappings":";;;;;;;;;;;AAcA,MAAM,gBAAgB,UACpB,MAAM,SAAS,SAAU,KAAK,SAAS,YAAY,CAAC,IAAI,CAAC;CAAE,GAAG;CAAM,MAAM,KAAA;AAAU,CAAC,CAAE;AAEzF,MAAM,SAAS,MACZ,EACC,WACA,WACA,QACA,aAAa,OACb,eAAe,IACf,OACA,cACA,UACA,QACA,MACA,OACA,cACI;CACJ,MAAM,EAAE,MAAM,eAAeA,cAAc;CAC3C,MAAM,cAAc,aAAa,KAAK;CAEtC,MAAM,SACJ,oBAAC,YAAD;EACE,iBAAe;EACf,cAAY,SAAS,EAAE,cAAc,IAAI,EAAE,aAAa;EAC7C;EACX,MAAM,SAAS,IAAI;EACb;EACC;EACE;EACT,eAAe,aAAa,CAAC,MAAM;CACpC,CAAA;CAGH,OACE,qBAAA,YAAA,EAAA,UAAA,CACG,QACD,qBAAC,QAAD;EACE,UAAA;EACA,YAAY,EAAE,aAAa,OAAO,KAAK;EACvC,QAAQ,aAAa,WAAW,iBAAiB,aAAa;EAC9D,MAAM;EACN,WAAU;EACV,QAAQ,aAAa,KAAA,IAAY,EAAE,OAAO,EAAE,iBAAiB,aAAa,EAAE;EAC5E,SAAS;EAPX,UAAA;GASG,cACC,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAY,OAAO,EAAE,QAAQ,aAAa;IAC/D,UAAA,oBAAC,YAAD;KAAY,cAAY,EAAE,cAAc;KAAG,MAAM;KAAS;KAAM,SAAS;IAAQ,CAAA;GAC9E,CAAA;GAEP,oBAAC,MAAD;IACE,YAAA;IACA,WAAW,aAAa;IACxB,YAAY,EAAE,MAAM,aAAa,OAAO,WAAW,OAAO,IAAI;IAC9D,OAAO,aAAa,aAAa,KAAK,IAAI;IAC1C,UAAU,EAAE,UAAU;KACpB,WAAW,GAAG;KACd,MAAM;IACR;GACD,CAAA;GACA,cAAc,UAAU,oBAAC,OAAD;IAAK,WAAW,OAAO;IAAS,UAAA;GAAY,CAAA;EAC/D;CACR,CAAA,CAAA,EAAA,CAAA;AAEN,CACF;AAEA,OAAO,cAAc"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/base-ui/Burger/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
4
|
+
body: css`
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
padding-block: 8px;
|
|
8
|
+
padding-inline: 12px;
|
|
9
|
+
`,
|
|
10
|
+
footer: css`
|
|
11
|
+
display: flex;
|
|
12
|
+
gap: 8px;
|
|
13
|
+
margin-block-start: auto;
|
|
14
|
+
padding: 20px;
|
|
15
|
+
`,
|
|
16
|
+
fullHeader: css`
|
|
17
|
+
display: flex;
|
|
18
|
+
flex: none;
|
|
19
|
+
align-items: center;
|
|
20
|
+
justify-content: flex-end;
|
|
21
|
+
|
|
22
|
+
padding-inline: 12px;
|
|
23
|
+
`,
|
|
24
|
+
largeRow: css`
|
|
25
|
+
min-height: 48px;
|
|
26
|
+
padding-inline: 8px;
|
|
27
|
+
border-radius: 12px;
|
|
28
|
+
|
|
29
|
+
font-size: 32px;
|
|
30
|
+
font-weight: 600;
|
|
31
|
+
line-height: 1.15;
|
|
32
|
+
color: ${cssVar.colorTextQuaternary};
|
|
33
|
+
letter-spacing: -0.02em;
|
|
34
|
+
|
|
35
|
+
background: none;
|
|
36
|
+
|
|
37
|
+
&[aria-current='true'],
|
|
38
|
+
&[aria-current='true']:hover {
|
|
39
|
+
color: ${cssVar.colorText};
|
|
40
|
+
background: none;
|
|
41
|
+
}
|
|
42
|
+
`,
|
|
43
|
+
row: css`
|
|
44
|
+
gap: 14px;
|
|
45
|
+
|
|
46
|
+
min-height: 52px;
|
|
47
|
+
padding-inline: 16px;
|
|
48
|
+
border-radius: 999px;
|
|
49
|
+
|
|
50
|
+
font-size: 17px;
|
|
51
|
+
|
|
52
|
+
&[aria-current='true'],
|
|
53
|
+
&[aria-current='true']:hover {
|
|
54
|
+
font-weight: 600;
|
|
55
|
+
color: ${cssVar.colorBgContainer};
|
|
56
|
+
background: ${cssVar.colorText};
|
|
57
|
+
}
|
|
58
|
+
`
|
|
59
|
+
}));
|
|
60
|
+
//#endregion
|
|
61
|
+
export { styles };
|
|
62
|
+
|
|
63
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/base-ui/Burger/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n body: css`\n display: flex;\n flex-direction: column;\n padding-block: 8px;\n padding-inline: 12px;\n `,\n footer: css`\n display: flex;\n gap: 8px;\n margin-block-start: auto;\n padding: 20px;\n `,\n fullHeader: css`\n display: flex;\n flex: none;\n align-items: center;\n justify-content: flex-end;\n\n padding-inline: 12px;\n `,\n largeRow: css`\n min-height: 48px;\n padding-inline: 8px;\n border-radius: 12px;\n\n font-size: 32px;\n font-weight: 600;\n line-height: 1.15;\n color: ${cssVar.colorTextQuaternary};\n letter-spacing: -0.02em;\n\n background: none;\n\n &[aria-current='true'],\n &[aria-current='true']:hover {\n color: ${cssVar.colorText};\n background: none;\n }\n `,\n row: css`\n gap: 14px;\n\n min-height: 52px;\n padding-inline: 16px;\n border-radius: 999px;\n\n font-size: 17px;\n\n &[aria-current='true'],\n &[aria-current='true']:hover {\n font-weight: 600;\n color: ${cssVar.colorBgContainer};\n background: ${cssVar.colorText};\n }\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,MAAM,GAAG;;;;;;CAMT,QAAQ,GAAG;;;;;;CAMX,YAAY,GAAG;;;;;;;;CAQf,UAAU,GAAG;;;;;;;;aAQF,OAAO,oBAAoB;;;;;;;eAOzB,OAAO,UAAU;;;;CAI9B,KAAK,GAAG;;;;;;;;;;;;eAYK,OAAO,iBAAiB;oBACnB,OAAO,UAAU;;;AAGrC,EAAE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ActionIconProps } from "../ActionIcon/type.mjs";
|
|
2
|
+
import "../ActionIcon/index.mjs";
|
|
3
|
+
import { ListItem } from "../List/type.mjs";
|
|
4
|
+
import "../List/index.mjs";
|
|
5
|
+
import { CSSProperties, Key, ReactNode } from "react";
|
|
6
|
+
//#region src/base-ui/Burger/type.d.ts
|
|
7
|
+
interface BurgerProps {
|
|
8
|
+
activeKey?: Key | null;
|
|
9
|
+
className?: string;
|
|
10
|
+
footer?: ReactNode;
|
|
11
|
+
fullscreen?: boolean;
|
|
12
|
+
headerHeight?: number;
|
|
13
|
+
items: ListItem[];
|
|
14
|
+
onOpenChange: (opened: boolean) => void;
|
|
15
|
+
onSelect?: (key: Key) => void;
|
|
16
|
+
opened: boolean;
|
|
17
|
+
size?: ActionIconProps['size'];
|
|
18
|
+
style?: CSSProperties;
|
|
19
|
+
variant?: ActionIconProps['variant'];
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { BurgerProps };
|
|
23
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import ActionIcon from "../ActionIcon/ActionIcon.mjs";
|
|
3
|
+
import { useEventCallback } from "../../hooks/useEventCallback.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { Children, isValidElement, memo, useEffect, useImperativeHandle, useLayoutEffect, useRef, useState } from "react";
|
|
6
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { cx } from "antd-style";
|
|
8
|
+
import useMergeState from "use-merge-value";
|
|
9
|
+
import { ChevronLeft, ChevronRight } from "lucide-react";
|
|
10
|
+
//#region src/base-ui/Carousel/Carousel.tsx
|
|
11
|
+
const DEFAULT_INTERVAL = 5e3;
|
|
12
|
+
const SWIPE_THRESHOLD = 40;
|
|
13
|
+
const ARROW_SIZE = {
|
|
14
|
+
blockSize: 28,
|
|
15
|
+
borderRadius: "50%",
|
|
16
|
+
size: 16
|
|
17
|
+
};
|
|
18
|
+
const Carousel = memo(({ adaptiveHeight = false, arrows = false, autoplay = false, children, className, defaultIndex = 0, dots = true, index, loop = true, onIndexChange, onPointerEnter, onPointerLeave, pauseOnHover = true, ref, ...rest }) => {
|
|
19
|
+
const slides = Children.toArray(children);
|
|
20
|
+
const count = slides.length;
|
|
21
|
+
const keys = slides.map((slide, slideIndex) => isValidElement(slide) && slide.key !== null ? slide.key : slideIndex);
|
|
22
|
+
const [mergedIndex, setMergedIndex] = useMergeState(defaultIndex, {
|
|
23
|
+
onChange: onIndexChange,
|
|
24
|
+
value: index
|
|
25
|
+
});
|
|
26
|
+
const current = Math.min(Math.max(mergedIndex, 0), Math.max(count - 1, 0));
|
|
27
|
+
const [hovered, setHovered] = useState(false);
|
|
28
|
+
const [height, setHeight] = useState();
|
|
29
|
+
const slidesRef = useRef([]);
|
|
30
|
+
const swipeStartXRef = useRef(null);
|
|
31
|
+
const goTo = useEventCallback((target) => {
|
|
32
|
+
if (count === 0) return;
|
|
33
|
+
const next = loop ? (target % count + count) % count : Math.min(Math.max(target, 0), count - 1);
|
|
34
|
+
if (next !== current) setMergedIndex(next);
|
|
35
|
+
});
|
|
36
|
+
const next = useEventCallback(() => goTo(current + 1));
|
|
37
|
+
const prev = useEventCallback(() => goTo(current - 1));
|
|
38
|
+
useImperativeHandle(ref, () => ({
|
|
39
|
+
goTo,
|
|
40
|
+
next,
|
|
41
|
+
prev
|
|
42
|
+
}), [
|
|
43
|
+
goTo,
|
|
44
|
+
next,
|
|
45
|
+
prev
|
|
46
|
+
]);
|
|
47
|
+
const interval = autoplay === true ? DEFAULT_INTERVAL : autoplay || 0;
|
|
48
|
+
const paused = pauseOnHover && hovered;
|
|
49
|
+
const atEnd = !loop && current >= count - 1;
|
|
50
|
+
useEffect(() => {
|
|
51
|
+
if (!interval || paused || count < 2 || atEnd) return;
|
|
52
|
+
const timer = setTimeout(next, interval);
|
|
53
|
+
return () => clearTimeout(timer);
|
|
54
|
+
}, [
|
|
55
|
+
interval,
|
|
56
|
+
paused,
|
|
57
|
+
count,
|
|
58
|
+
atEnd,
|
|
59
|
+
current,
|
|
60
|
+
next
|
|
61
|
+
]);
|
|
62
|
+
useLayoutEffect(() => {
|
|
63
|
+
const slide = slidesRef.current[current];
|
|
64
|
+
if (!adaptiveHeight || !slide) return;
|
|
65
|
+
setHeight(slide.offsetHeight);
|
|
66
|
+
if (typeof ResizeObserver === "undefined") return;
|
|
67
|
+
const observer = new ResizeObserver(() => setHeight(slide.offsetHeight));
|
|
68
|
+
observer.observe(slide);
|
|
69
|
+
return () => observer.disconnect();
|
|
70
|
+
}, [
|
|
71
|
+
adaptiveHeight,
|
|
72
|
+
current,
|
|
73
|
+
count
|
|
74
|
+
]);
|
|
75
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
76
|
+
"aria-roledescription": "carousel",
|
|
77
|
+
className: cx(styles.root, className),
|
|
78
|
+
role: "region",
|
|
79
|
+
onPointerEnter: (event) => {
|
|
80
|
+
onPointerEnter?.(event);
|
|
81
|
+
setHovered(true);
|
|
82
|
+
},
|
|
83
|
+
onPointerLeave: (event) => {
|
|
84
|
+
onPointerLeave?.(event);
|
|
85
|
+
setHovered(false);
|
|
86
|
+
},
|
|
87
|
+
...rest,
|
|
88
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
89
|
+
className: styles.viewport,
|
|
90
|
+
style: adaptiveHeight && height !== void 0 ? { height } : void 0,
|
|
91
|
+
onPointerCancel: () => {
|
|
92
|
+
swipeStartXRef.current = null;
|
|
93
|
+
},
|
|
94
|
+
onPointerDown: (event) => {
|
|
95
|
+
if (event.pointerType !== "mouse") swipeStartXRef.current = event.clientX;
|
|
96
|
+
},
|
|
97
|
+
onPointerUp: (event) => {
|
|
98
|
+
if (swipeStartXRef.current === null) return;
|
|
99
|
+
const delta = event.clientX - swipeStartXRef.current;
|
|
100
|
+
swipeStartXRef.current = null;
|
|
101
|
+
if (Math.abs(delta) < SWIPE_THRESHOLD) return;
|
|
102
|
+
if (delta < 0) next();
|
|
103
|
+
else prev();
|
|
104
|
+
},
|
|
105
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
106
|
+
"aria-live": interval && !paused ? "off" : "polite",
|
|
107
|
+
className: cx(styles.track, adaptiveHeight && styles.trackAdaptive),
|
|
108
|
+
style: { transform: `translateX(-${current * 100}%)` },
|
|
109
|
+
children: slides.map((slide, slideIndex) => {
|
|
110
|
+
const active = slideIndex === current;
|
|
111
|
+
return /* @__PURE__ */ jsx("div", {
|
|
112
|
+
"aria-hidden": !active || void 0,
|
|
113
|
+
"aria-label": `${slideIndex + 1} of ${count}`,
|
|
114
|
+
"aria-roledescription": "slide",
|
|
115
|
+
className: styles.slide,
|
|
116
|
+
inert: !active,
|
|
117
|
+
role: "group",
|
|
118
|
+
ref: (node) => {
|
|
119
|
+
slidesRef.current[slideIndex] = node;
|
|
120
|
+
},
|
|
121
|
+
children: slide
|
|
122
|
+
}, keys[slideIndex]);
|
|
123
|
+
})
|
|
124
|
+
}), arrows && count > 1 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(ActionIcon, {
|
|
125
|
+
"aria-label": "Previous slide",
|
|
126
|
+
className: styles.arrow,
|
|
127
|
+
disabled: !loop && current === 0,
|
|
128
|
+
icon: ChevronLeft,
|
|
129
|
+
size: ARROW_SIZE,
|
|
130
|
+
style: { insetInlineStart: 8 },
|
|
131
|
+
onClick: prev
|
|
132
|
+
}), /* @__PURE__ */ jsx(ActionIcon, {
|
|
133
|
+
"aria-label": "Next slide",
|
|
134
|
+
className: styles.arrow,
|
|
135
|
+
disabled: atEnd,
|
|
136
|
+
icon: ChevronRight,
|
|
137
|
+
size: ARROW_SIZE,
|
|
138
|
+
style: { insetInlineEnd: 8 },
|
|
139
|
+
onClick: next
|
|
140
|
+
})] })]
|
|
141
|
+
}), dots && count > 1 && /* @__PURE__ */ jsx("div", {
|
|
142
|
+
className: styles.dots,
|
|
143
|
+
children: slides.map((_, dotIndex) => /* @__PURE__ */ jsx("button", {
|
|
144
|
+
"aria-current": dotIndex === current || void 0,
|
|
145
|
+
"aria-label": `Go to slide ${dotIndex + 1}`,
|
|
146
|
+
className: styles.dot,
|
|
147
|
+
type: "button",
|
|
148
|
+
onClick: () => goTo(dotIndex)
|
|
149
|
+
}, keys[dotIndex]))
|
|
150
|
+
})]
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
Carousel.displayName = "Carousel";
|
|
154
|
+
//#endregion
|
|
155
|
+
export { Carousel as default };
|
|
156
|
+
|
|
157
|
+
//# sourceMappingURL=Carousel.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Carousel.mjs","names":["useControlledState"],"sources":["../../../src/base-ui/Carousel/Carousel.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport {\n Children,\n isValidElement,\n memo,\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport ActionIcon from '@/base-ui/ActionIcon';\nimport { useEventCallback } from '@/hooks/useEventCallback';\n\nimport { styles } from './style';\nimport type { CarouselProps } from './type';\n\nconst DEFAULT_INTERVAL = 5000;\nconst SWIPE_THRESHOLD = 40;\nconst ARROW_SIZE = { blockSize: 28, borderRadius: '50%', size: 16 };\n\nconst Carousel = memo<CarouselProps>(\n ({\n adaptiveHeight = false,\n arrows = false,\n autoplay = false,\n children,\n className,\n defaultIndex = 0,\n dots = true,\n index,\n loop = true,\n onIndexChange,\n onPointerEnter,\n onPointerLeave,\n pauseOnHover = true,\n ref,\n ...rest\n }) => {\n const slides = Children.toArray(children);\n const count = slides.length;\n const keys = slides.map((slide, slideIndex) =>\n isValidElement(slide) && slide.key !== null ? slide.key : slideIndex,\n );\n const [mergedIndex, setMergedIndex] = useControlledState(defaultIndex, {\n onChange: onIndexChange,\n value: index,\n });\n const current = Math.min(Math.max(mergedIndex, 0), Math.max(count - 1, 0));\n\n const [hovered, setHovered] = useState(false);\n const [height, setHeight] = useState<number>();\n const slidesRef = useRef<(HTMLDivElement | null)[]>([]);\n const swipeStartXRef = useRef<number | null>(null);\n\n const goTo = useEventCallback((target: number) => {\n if (count === 0) return;\n const next = loop\n ? ((target % count) + count) % count\n : Math.min(Math.max(target, 0), count - 1);\n if (next !== current) setMergedIndex(next);\n });\n const next = useEventCallback(() => goTo(current + 1));\n const prev = useEventCallback(() => goTo(current - 1));\n\n useImperativeHandle(ref, () => ({ goTo, next, prev }), [goTo, next, prev]);\n\n const interval = autoplay === true ? DEFAULT_INTERVAL : autoplay || 0;\n const paused = pauseOnHover && hovered;\n const atEnd = !loop && current >= count - 1;\n\n useEffect(() => {\n if (!interval || paused || count < 2 || atEnd) return;\n const timer = setTimeout(next, interval);\n return () => clearTimeout(timer);\n }, [interval, paused, count, atEnd, current, next]);\n\n useLayoutEffect(() => {\n const slide = slidesRef.current[current];\n if (!adaptiveHeight || !slide) return;\n setHeight(slide.offsetHeight);\n if (typeof ResizeObserver === 'undefined') return;\n const observer = new ResizeObserver(() => setHeight(slide.offsetHeight));\n observer.observe(slide);\n return () => observer.disconnect();\n }, [adaptiveHeight, current, count]);\n\n return (\n <div\n aria-roledescription=\"carousel\"\n className={cx(styles.root, className)}\n role=\"region\"\n onPointerEnter={(event) => {\n onPointerEnter?.(event);\n setHovered(true);\n }}\n onPointerLeave={(event) => {\n onPointerLeave?.(event);\n setHovered(false);\n }}\n {...rest}\n >\n <div\n className={styles.viewport}\n style={adaptiveHeight && height !== undefined ? { height } : undefined}\n onPointerCancel={() => {\n swipeStartXRef.current = null;\n }}\n onPointerDown={(event) => {\n if (event.pointerType !== 'mouse') swipeStartXRef.current = event.clientX;\n }}\n onPointerUp={(event) => {\n if (swipeStartXRef.current === null) return;\n const delta = event.clientX - swipeStartXRef.current;\n swipeStartXRef.current = null;\n if (Math.abs(delta) < SWIPE_THRESHOLD) return;\n if (delta < 0) next();\n else prev();\n }}\n >\n <div\n aria-live={interval && !paused ? 'off' : 'polite'}\n className={cx(styles.track, adaptiveHeight && styles.trackAdaptive)}\n style={{ transform: `translateX(-${current * 100}%)` }}\n >\n {slides.map((slide, slideIndex) => {\n const active = slideIndex === current;\n return (\n <div\n aria-hidden={!active || undefined}\n aria-label={`${slideIndex + 1} of ${count}`}\n aria-roledescription=\"slide\"\n className={styles.slide}\n inert={!active}\n key={keys[slideIndex]}\n role=\"group\"\n ref={(node) => {\n slidesRef.current[slideIndex] = node;\n }}\n >\n {slide}\n </div>\n );\n })}\n </div>\n {arrows && count > 1 && (\n <>\n <ActionIcon\n aria-label=\"Previous slide\"\n className={styles.arrow}\n disabled={!loop && current === 0}\n icon={ChevronLeft}\n size={ARROW_SIZE}\n style={{ insetInlineStart: 8 }}\n onClick={prev}\n />\n <ActionIcon\n aria-label=\"Next slide\"\n className={styles.arrow}\n disabled={atEnd}\n icon={ChevronRight}\n size={ARROW_SIZE}\n style={{ insetInlineEnd: 8 }}\n onClick={next}\n />\n </>\n )}\n </div>\n {dots && count > 1 && (\n <div className={styles.dots}>\n {slides.map((_, dotIndex) => (\n <button\n aria-current={dotIndex === current || undefined}\n aria-label={`Go to slide ${dotIndex + 1}`}\n className={styles.dot}\n key={keys[dotIndex]}\n type=\"button\"\n onClick={() => goTo(dotIndex)}\n />\n ))}\n </div>\n )}\n </div>\n );\n },\n);\n\nCarousel.displayName = 'Carousel';\n\nexport default Carousel;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/base-ui/Carousel/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
4
|
+
arrow: css`
|
|
5
|
+
position: absolute;
|
|
6
|
+
z-index: 1;
|
|
7
|
+
inset-block-start: 50%;
|
|
8
|
+
transform: translateY(-50%);
|
|
9
|
+
|
|
10
|
+
color: ${cssVar.colorText};
|
|
11
|
+
|
|
12
|
+
background: ${cssVar.colorBgContainer};
|
|
13
|
+
box-shadow: 0 1px 4px rgb(0 0 0 / 12%);
|
|
14
|
+
`,
|
|
15
|
+
dot: css`
|
|
16
|
+
cursor: pointer;
|
|
17
|
+
|
|
18
|
+
width: 6px;
|
|
19
|
+
height: 6px;
|
|
20
|
+
padding: 0;
|
|
21
|
+
border: 0;
|
|
22
|
+
border-radius: 999px;
|
|
23
|
+
|
|
24
|
+
background: ${cssVar.colorFill};
|
|
25
|
+
|
|
26
|
+
transition:
|
|
27
|
+
width 0.2s ease,
|
|
28
|
+
background 0.2s ease;
|
|
29
|
+
|
|
30
|
+
&:hover {
|
|
31
|
+
background: ${cssVar.colorTextQuaternary};
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&[aria-current='true'] {
|
|
35
|
+
width: 18px;
|
|
36
|
+
background: ${cssVar.colorText};
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
&:focus-visible {
|
|
40
|
+
outline: 2px solid ${cssVar.colorText};
|
|
41
|
+
outline-offset: 2px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@media (prefers-reduced-motion: reduce) {
|
|
45
|
+
transition: none;
|
|
46
|
+
}
|
|
47
|
+
`,
|
|
48
|
+
dots: css`
|
|
49
|
+
display: flex;
|
|
50
|
+
gap: 6px;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: center;
|
|
53
|
+
|
|
54
|
+
padding-block: 10px;
|
|
55
|
+
`,
|
|
56
|
+
root: css`
|
|
57
|
+
position: relative;
|
|
58
|
+
`,
|
|
59
|
+
slide: css`
|
|
60
|
+
flex: 0 0 100%;
|
|
61
|
+
min-width: 0;
|
|
62
|
+
`,
|
|
63
|
+
track: css`
|
|
64
|
+
display: flex;
|
|
65
|
+
transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
|
|
66
|
+
|
|
67
|
+
@media (prefers-reduced-motion: reduce) {
|
|
68
|
+
transition: none;
|
|
69
|
+
}
|
|
70
|
+
`,
|
|
71
|
+
trackAdaptive: css`
|
|
72
|
+
align-items: flex-start;
|
|
73
|
+
`,
|
|
74
|
+
viewport: css`
|
|
75
|
+
touch-action: pan-y;
|
|
76
|
+
position: relative;
|
|
77
|
+
overflow: hidden;
|
|
78
|
+
transition: height 0.3s ease;
|
|
79
|
+
|
|
80
|
+
@media (prefers-reduced-motion: reduce) {
|
|
81
|
+
transition: none;
|
|
82
|
+
}
|
|
83
|
+
`
|
|
84
|
+
}));
|
|
85
|
+
//#endregion
|
|
86
|
+
export { styles };
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/base-ui/Carousel/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n arrow: css`\n position: absolute;\n z-index: 1;\n inset-block-start: 50%;\n transform: translateY(-50%);\n\n color: ${cssVar.colorText};\n\n background: ${cssVar.colorBgContainer};\n box-shadow: 0 1px 4px rgb(0 0 0 / 12%);\n `,\n dot: css`\n cursor: pointer;\n\n width: 6px;\n height: 6px;\n padding: 0;\n border: 0;\n border-radius: 999px;\n\n background: ${cssVar.colorFill};\n\n transition:\n width 0.2s ease,\n background 0.2s ease;\n\n &:hover {\n background: ${cssVar.colorTextQuaternary};\n }\n\n &[aria-current='true'] {\n width: 18px;\n background: ${cssVar.colorText};\n }\n\n &:focus-visible {\n outline: 2px solid ${cssVar.colorText};\n outline-offset: 2px;\n }\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n `,\n dots: css`\n display: flex;\n gap: 6px;\n align-items: center;\n justify-content: center;\n\n padding-block: 10px;\n `,\n root: css`\n position: relative;\n `,\n slide: css`\n flex: 0 0 100%;\n min-width: 0;\n `,\n track: css`\n display: flex;\n transition: transform 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n `,\n trackAdaptive: css`\n align-items: flex-start;\n `,\n viewport: css`\n touch-action: pan-y;\n position: relative;\n overflow: hidden;\n transition: height 0.3s ease;\n\n @media (prefers-reduced-motion: reduce) {\n transition: none;\n }\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,OAAO,GAAG;;;;;;aAMC,OAAO,UAAU;;kBAEZ,OAAO,iBAAiB;;;CAGxC,KAAK,GAAG;;;;;;;;;kBASQ,OAAO,UAAU;;;;;;;oBAOf,OAAO,oBAAoB;;;;;oBAK3B,OAAO,UAAU;;;;2BAIV,OAAO,UAAU;;;;;;;;CAQ1C,MAAM,GAAG;;;;;;;;CAQT,MAAM,GAAG;;;CAGT,OAAO,GAAG;;;;CAIV,OAAO,GAAG;;;;;;;;CAQV,eAAe,GAAG;;;CAGlB,UAAU,GAAG;;;;;;;;;;AAUf,EAAE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ComponentProps, ReactNode, Ref } from "react";
|
|
2
|
+
//#region src/base-ui/Carousel/type.d.ts
|
|
3
|
+
interface CarouselRef {
|
|
4
|
+
goTo: (index: number) => void;
|
|
5
|
+
next: () => void;
|
|
6
|
+
prev: () => void;
|
|
7
|
+
}
|
|
8
|
+
interface CarouselProps extends Omit<ComponentProps<'div'>, 'children' | 'ref'> {
|
|
9
|
+
adaptiveHeight?: boolean;
|
|
10
|
+
arrows?: boolean;
|
|
11
|
+
autoplay?: boolean | number;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
defaultIndex?: number;
|
|
14
|
+
dots?: boolean;
|
|
15
|
+
index?: number;
|
|
16
|
+
loop?: boolean;
|
|
17
|
+
onIndexChange?: (index: number) => void;
|
|
18
|
+
pauseOnHover?: boolean;
|
|
19
|
+
ref?: Ref<CarouselRef>;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { CarouselProps, CarouselRef };
|
|
23
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ColorPickerProps } from "./type.mjs";
|
|
2
|
+
//#region src/base-ui/ColorPicker/ColorPicker.d.ts
|
|
3
|
+
declare const ColorPicker: import("react").NamedExoticComponent<ColorPickerProps>;
|
|
4
|
+
//#endregion
|
|
5
|
+
export { ColorPicker as default };
|
|
6
|
+
//# sourceMappingURL=ColorPicker.d.mts.map
|