@lobehub/ui 5.51.2 → 5.53.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/eslint/index.mjs +100 -0
- package/es/eslint/index.mjs.map +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/node_modules/.pnpm/unist-util-visit@5.1.0/node_modules/unist-util-visit/lib/index.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,42 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Skeleton from "../Skeleton/index.mjs";
|
|
3
|
+
import { formatStatisticValue } from "./formatValue.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { memo } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import { cx } from "antd-style";
|
|
8
|
+
//#region src/base-ui/Statistic/Statistic.tsx
|
|
9
|
+
const Statistic = memo(({ className, classNames, formatter, loading = false, precision, prefix, ref, styles: customStyles, suffix, title, value, ...rest }) => {
|
|
10
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
11
|
+
className: cx(styles.root, className),
|
|
12
|
+
ref,
|
|
13
|
+
...rest,
|
|
14
|
+
children: [title != null && /* @__PURE__ */ jsx("div", {
|
|
15
|
+
className: cx(styles.title, classNames?.title),
|
|
16
|
+
style: customStyles?.title,
|
|
17
|
+
children: title
|
|
18
|
+
}), loading ? /* @__PURE__ */ jsx(Skeleton, {
|
|
19
|
+
height: 30,
|
|
20
|
+
width: 96
|
|
21
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
22
|
+
className: cx(styles.value, classNames?.value),
|
|
23
|
+
style: customStyles?.value,
|
|
24
|
+
children: [
|
|
25
|
+
prefix != null && /* @__PURE__ */ jsx("span", {
|
|
26
|
+
className: styles.affix,
|
|
27
|
+
children: prefix
|
|
28
|
+
}),
|
|
29
|
+
/* @__PURE__ */ jsx("span", { children: formatter ? formatter(value) : formatStatisticValue(value, precision) }),
|
|
30
|
+
suffix != null && /* @__PURE__ */ jsx("span", {
|
|
31
|
+
className: styles.affix,
|
|
32
|
+
children: suffix
|
|
33
|
+
})
|
|
34
|
+
]
|
|
35
|
+
})]
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
Statistic.displayName = "Statistic";
|
|
39
|
+
//#endregion
|
|
40
|
+
export { Statistic as default };
|
|
41
|
+
|
|
42
|
+
//# sourceMappingURL=Statistic.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Statistic.mjs","names":[],"sources":["../../../src/base-ui/Statistic/Statistic.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { memo } from 'react';\n\nimport Skeleton from '@/base-ui/Skeleton';\n\nimport { formatStatisticValue } from './formatValue';\nimport { styles } from './style';\nimport type { StatisticProps } from './type';\n\nconst Statistic = memo<StatisticProps>(\n ({\n className,\n classNames,\n formatter,\n loading = false,\n precision,\n prefix,\n ref,\n styles: customStyles,\n suffix,\n title,\n value,\n ...rest\n }) => {\n return (\n <div className={cx(styles.root, className)} ref={ref} {...rest}>\n {title != null && (\n <div className={cx(styles.title, classNames?.title)} style={customStyles?.title}>\n {title}\n </div>\n )}\n {loading ? (\n <Skeleton height={30} width={96} />\n ) : (\n <div className={cx(styles.value, classNames?.value)} style={customStyles?.value}>\n {prefix != null && <span className={styles.affix}>{prefix}</span>}\n <span>{formatter ? formatter(value) : formatStatisticValue(value, precision)}</span>\n {suffix != null && <span className={styles.affix}>{suffix}</span>}\n </div>\n )}\n </div>\n );\n },\n);\n\nStatistic.displayName = 'Statistic';\n\nexport default Statistic;\n"],"mappings":";;;;;;;;AAWA,MAAM,YAAY,MACf,EACC,WACA,YACA,WACA,UAAU,OACV,WACA,QACA,KACA,QAAQ,cACR,QACA,OACA,OACA,GAAG,WACC;CACJ,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,OAAO,MAAM,SAAS;EAAQ;EAAK,GAAI;EAA1D,UAAA,CACG,SAAS,QACR,oBAAC,OAAD;GAAK,WAAW,GAAG,OAAO,OAAO,YAAY,KAAK;GAAG,OAAO,cAAc;GACvE,UAAA;EACE,CAAA,GAEN,UACC,oBAAC,UAAD;GAAU,QAAQ;GAAI,OAAO;EAAK,CAAA,IAElC,qBAAC,OAAD;GAAK,WAAW,GAAG,OAAO,OAAO,YAAY,KAAK;GAAG,OAAO,cAAc;GAA1E,UAAA;IACG,UAAU,QAAQ,oBAAC,QAAD;KAAM,WAAW,OAAO;KAAQ,UAAA;IAAa,CAAA;IAChE,oBAAC,QAAD,EAAA,UAAO,YAAY,UAAU,KAAK,IAAI,qBAAqB,OAAO,SAAS,EAAQ,CAAA;IAClF,UAAU,QAAQ,oBAAC,QAAD;KAAM,WAAW,OAAO;KAAQ,UAAA;IAAa,CAAA;GAC7D;EAEJ,CAAA,CAAA;;AAET,CACF;AAEA,UAAU,cAAc"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/base-ui/Statistic/formatValue.ts
|
|
2
|
+
const grouping = new Intl.NumberFormat("en-US", { maximumFractionDigits: 0 });
|
|
3
|
+
const formatStatisticValue = (value, precision) => {
|
|
4
|
+
if (value === void 0 || value === null) return "";
|
|
5
|
+
if (typeof value === "string") {
|
|
6
|
+
if (!/^-?\d+(\.\d+)?$/.test(value)) return value;
|
|
7
|
+
return formatStatisticValue(Number(value), precision);
|
|
8
|
+
}
|
|
9
|
+
if (!Number.isFinite(value)) return String(value);
|
|
10
|
+
if (precision !== void 0) return new Intl.NumberFormat("en-US", {
|
|
11
|
+
maximumFractionDigits: precision,
|
|
12
|
+
minimumFractionDigits: precision
|
|
13
|
+
}).format(value);
|
|
14
|
+
const raw = String(value);
|
|
15
|
+
if (raw.includes("e")) return raw;
|
|
16
|
+
const [integer, decimal] = raw.split(".");
|
|
17
|
+
const grouped = grouping.format(Number(integer));
|
|
18
|
+
return decimal ? `${grouped}.${decimal}` : grouped;
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { formatStatisticValue };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=formatValue.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"formatValue.mjs","names":[],"sources":["../../../src/base-ui/Statistic/formatValue.ts"],"sourcesContent":["const grouping = new Intl.NumberFormat('en-US', { maximumFractionDigits: 0 });\n\nexport const formatStatisticValue = (\n value: number | string | undefined,\n precision?: number,\n): string => {\n if (value === undefined || value === null) return '';\n if (typeof value === 'string') {\n if (!/^-?\\d+(\\.\\d+)?$/.test(value)) return value;\n return formatStatisticValue(Number(value), precision);\n }\n if (!Number.isFinite(value)) return String(value);\n\n if (precision !== undefined) {\n return new Intl.NumberFormat('en-US', {\n maximumFractionDigits: precision,\n minimumFractionDigits: precision,\n }).format(value);\n }\n\n const raw = String(value);\n if (raw.includes('e')) return raw;\n\n const [integer, decimal] = raw.split('.');\n const grouped = grouping.format(Number(integer));\n\n return decimal ? `${grouped}.${decimal}` : grouped;\n};\n"],"mappings":";AAAA,MAAM,WAAW,IAAI,KAAK,aAAa,SAAS,EAAE,uBAAuB,EAAE,CAAC;AAE5E,MAAa,wBACX,OACA,cACW;CACX,IAAI,UAAU,KAAA,KAAa,UAAU,MAAM,OAAO;CAClD,IAAI,OAAO,UAAU,UAAU;EAC7B,IAAI,CAAC,kBAAkB,KAAK,KAAK,GAAG,OAAO;EAC3C,OAAO,qBAAqB,OAAO,KAAK,GAAG,SAAS;CACtD;CACA,IAAI,CAAC,OAAO,SAAS,KAAK,GAAG,OAAO,OAAO,KAAK;CAEhD,IAAI,cAAc,KAAA,GAChB,OAAO,IAAI,KAAK,aAAa,SAAS;EACpC,uBAAuB;EACvB,uBAAuB;CACzB,CAAC,CAAC,CAAC,OAAO,KAAK;CAGjB,MAAM,MAAM,OAAO,KAAK;CACxB,IAAI,IAAI,SAAS,GAAG,GAAG,OAAO;CAE9B,MAAM,CAAC,SAAS,WAAW,IAAI,MAAM,GAAG;CACxC,MAAM,UAAU,SAAS,OAAO,OAAO,OAAO,CAAC;CAE/C,OAAO,UAAU,GAAG,QAAQ,GAAG,YAAY;AAC7C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/base-ui/Statistic/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
4
|
+
affix: css`
|
|
5
|
+
font-size: 14px;
|
|
6
|
+
font-weight: 400;
|
|
7
|
+
color: ${cssVar.colorTextSecondary};
|
|
8
|
+
`,
|
|
9
|
+
root: css`
|
|
10
|
+
display: flex;
|
|
11
|
+
flex-direction: column;
|
|
12
|
+
gap: 4px;
|
|
13
|
+
`,
|
|
14
|
+
title: css`
|
|
15
|
+
font-size: 14px;
|
|
16
|
+
line-height: 1.5;
|
|
17
|
+
color: ${cssVar.colorTextDescription};
|
|
18
|
+
`,
|
|
19
|
+
value: css`
|
|
20
|
+
display: flex;
|
|
21
|
+
gap: 4px;
|
|
22
|
+
align-items: baseline;
|
|
23
|
+
|
|
24
|
+
font-size: 24px;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
font-variant-numeric: tabular-nums;
|
|
27
|
+
line-height: 1.25;
|
|
28
|
+
color: ${cssVar.colorText};
|
|
29
|
+
`
|
|
30
|
+
}));
|
|
31
|
+
//#endregion
|
|
32
|
+
export { styles };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/base-ui/Statistic/style.ts"],"sourcesContent":["import { createStaticStyles } from 'antd-style';\n\nexport const styles = createStaticStyles(({ css, cssVar }) => ({\n affix: css`\n font-size: 14px;\n font-weight: 400;\n color: ${cssVar.colorTextSecondary};\n `,\n root: css`\n display: flex;\n flex-direction: column;\n gap: 4px;\n `,\n title: css`\n font-size: 14px;\n line-height: 1.5;\n color: ${cssVar.colorTextDescription};\n `,\n value: css`\n display: flex;\n gap: 4px;\n align-items: baseline;\n\n font-size: 24px;\n font-weight: 600;\n font-variant-numeric: tabular-nums;\n line-height: 1.25;\n color: ${cssVar.colorText};\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,OAAO,GAAG;;;aAGC,OAAO,mBAAmB;;CAErC,MAAM,GAAG;;;;;CAKT,OAAO,GAAG;;;aAGC,OAAO,qBAAqB;;CAEvC,OAAO,GAAG;;;;;;;;;aASC,OAAO,UAAU;;AAE9B,EAAE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { CSSProperties, ComponentProps, ReactNode, Ref } from "react";
|
|
2
|
+
//#region src/base-ui/Statistic/type.d.ts
|
|
3
|
+
interface StatisticProps extends Omit<ComponentProps<'div'>, 'title' | 'prefix'> {
|
|
4
|
+
classNames?: {
|
|
5
|
+
title?: string;
|
|
6
|
+
value?: string;
|
|
7
|
+
};
|
|
8
|
+
formatter?: (value: number | string | undefined) => ReactNode;
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
precision?: number;
|
|
11
|
+
prefix?: ReactNode;
|
|
12
|
+
ref?: Ref<HTMLDivElement>;
|
|
13
|
+
styles?: {
|
|
14
|
+
title?: CSSProperties;
|
|
15
|
+
value?: CSSProperties;
|
|
16
|
+
};
|
|
17
|
+
suffix?: ReactNode;
|
|
18
|
+
title?: ReactNode;
|
|
19
|
+
value?: number | string;
|
|
20
|
+
}
|
|
21
|
+
//#endregion
|
|
22
|
+
export { StatisticProps };
|
|
23
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Icon from "../../Icon/Icon.mjs";
|
|
3
|
+
import { styles } from "./style.mjs";
|
|
4
|
+
import { memo } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { cx } from "antd-style";
|
|
7
|
+
import { Check } from "lucide-react";
|
|
8
|
+
//#region src/base-ui/Steps/Steps.tsx
|
|
9
|
+
const getStatus = (index, current, item) => {
|
|
10
|
+
if (item.status) return item.status;
|
|
11
|
+
if (current === void 0) return void 0;
|
|
12
|
+
if (index < current) return "finish";
|
|
13
|
+
if (index === current) return "process";
|
|
14
|
+
return "wait";
|
|
15
|
+
};
|
|
16
|
+
const renderIndicator = (item, index, status, isDot) => {
|
|
17
|
+
if (isDot) return null;
|
|
18
|
+
if (item.icon != null) return item.icon;
|
|
19
|
+
if (status === "finish") return /* @__PURE__ */ jsx(Icon, {
|
|
20
|
+
icon: Check,
|
|
21
|
+
size: 12
|
|
22
|
+
});
|
|
23
|
+
return index + 1;
|
|
24
|
+
};
|
|
25
|
+
const Steps = memo(({ className, classNames, current, items, orientation = "horizontal", ref, styles: customStyles, variant = "default", ...rest }) => {
|
|
26
|
+
const isDot = variant === "dot";
|
|
27
|
+
return /* @__PURE__ */ jsx("ol", {
|
|
28
|
+
ref,
|
|
29
|
+
className: cx(styles.root, orientation === "vertical" ? styles.vertical : styles.horizontal, isDot && styles.dot, className),
|
|
30
|
+
...rest,
|
|
31
|
+
children: items.map((item, index) => {
|
|
32
|
+
const status = getStatus(index, current, item);
|
|
33
|
+
const isLast = index === items.length - 1;
|
|
34
|
+
return /* @__PURE__ */ jsxs("li", {
|
|
35
|
+
"aria-current": current !== void 0 && index === current ? "step" : void 0,
|
|
36
|
+
className: cx(classNames?.item),
|
|
37
|
+
"data-status": status ?? "guide",
|
|
38
|
+
style: customStyles?.item,
|
|
39
|
+
children: [
|
|
40
|
+
/* @__PURE__ */ jsx("span", {
|
|
41
|
+
className: cx(styles.indicator, classNames?.indicator),
|
|
42
|
+
style: customStyles?.indicator,
|
|
43
|
+
children: renderIndicator(item, index, status, isDot)
|
|
44
|
+
}),
|
|
45
|
+
(item.title != null || item.description != null) && /* @__PURE__ */ jsxs("div", {
|
|
46
|
+
className: styles.body,
|
|
47
|
+
children: [item.title != null && /* @__PURE__ */ jsx("div", {
|
|
48
|
+
className: cx(styles.title, classNames?.title),
|
|
49
|
+
style: customStyles?.title,
|
|
50
|
+
children: item.title
|
|
51
|
+
}), item.description != null && /* @__PURE__ */ jsx("div", {
|
|
52
|
+
className: cx(styles.description, classNames?.description),
|
|
53
|
+
style: customStyles?.description,
|
|
54
|
+
children: item.description
|
|
55
|
+
})]
|
|
56
|
+
}),
|
|
57
|
+
!isLast && /* @__PURE__ */ jsx("span", {
|
|
58
|
+
"aria-hidden": "true",
|
|
59
|
+
className: styles.connector,
|
|
60
|
+
style: isDot ? {
|
|
61
|
+
insetBlockStart: 20,
|
|
62
|
+
insetInlineStart: 3
|
|
63
|
+
} : void 0
|
|
64
|
+
})
|
|
65
|
+
]
|
|
66
|
+
}, item.key ?? index);
|
|
67
|
+
})
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
Steps.displayName = "Steps";
|
|
71
|
+
//#endregion
|
|
72
|
+
export { Steps as default };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=Steps.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Steps.mjs","names":[],"sources":["../../../src/base-ui/Steps/Steps.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { Check } from 'lucide-react';\nimport { memo, type ReactNode } from 'react';\n\nimport Icon from '@/Icon';\n\nimport { styles } from './style';\nimport type { StepItem, StepsProps, StepStatus } from './type';\n\nconst getStatus = (\n index: number,\n current: number | undefined,\n item: StepItem,\n): StepStatus | undefined => {\n if (item.status) return item.status;\n if (current === undefined) return undefined;\n if (index < current) return 'finish';\n if (index === current) return 'process';\n return 'wait';\n};\n\nconst renderIndicator = (\n item: StepItem,\n index: number,\n status: StepStatus | undefined,\n isDot: boolean,\n): ReactNode => {\n if (isDot) return null;\n if (item.icon != null) return item.icon;\n if (status === 'finish') return <Icon icon={Check} size={12} />;\n return index + 1;\n};\n\nconst Steps = memo<StepsProps>(\n ({\n className,\n classNames,\n current,\n items,\n orientation = 'horizontal',\n ref,\n styles: customStyles,\n variant = 'default',\n ...rest\n }) => {\n const isDot = variant === 'dot';\n\n return (\n <ol\n ref={ref}\n className={cx(\n styles.root,\n orientation === 'vertical' ? styles.vertical : styles.horizontal,\n isDot && styles.dot,\n className,\n )}\n {...rest}\n >\n {items.map((item, index) => {\n const status = getStatus(index, current, item);\n const isLast = index === items.length - 1;\n\n return (\n <li\n aria-current={current !== undefined && index === current ? 'step' : undefined}\n className={cx(classNames?.item)}\n data-status={status ?? 'guide'}\n key={item.key ?? index}\n style={customStyles?.item}\n >\n <span\n className={cx(styles.indicator, classNames?.indicator)}\n style={customStyles?.indicator}\n >\n {renderIndicator(item, index, status, isDot)}\n </span>\n {(item.title != null || item.description != null) && (\n <div className={styles.body}>\n {item.title != null && (\n <div\n className={cx(styles.title, classNames?.title)}\n style={customStyles?.title}\n >\n {item.title}\n </div>\n )}\n {item.description != null && (\n <div\n className={cx(styles.description, classNames?.description)}\n style={customStyles?.description}\n >\n {item.description}\n </div>\n )}\n </div>\n )}\n {!isLast && (\n <span\n aria-hidden=\"true\"\n className={styles.connector}\n style={isDot ? { insetBlockStart: 20, insetInlineStart: 3 } : undefined}\n />\n )}\n </li>\n );\n })}\n </ol>\n );\n },\n);\n\nSteps.displayName = 'Steps';\n\nexport default Steps;\n"],"mappings":";;;;;;;;AAWA,MAAM,aACJ,OACA,SACA,SAC2B;CAC3B,IAAI,KAAK,QAAQ,OAAO,KAAK;CAC7B,IAAI,YAAY,KAAA,GAAW,OAAO,KAAA;CAClC,IAAI,QAAQ,SAAS,OAAO;CAC5B,IAAI,UAAU,SAAS,OAAO;CAC9B,OAAO;AACT;AAEA,MAAM,mBACJ,MACA,OACA,QACA,UACc;CACd,IAAI,OAAO,OAAO;CAClB,IAAI,KAAK,QAAQ,MAAM,OAAO,KAAK;CACnC,IAAI,WAAW,UAAU,OAAO,oBAAC,MAAD;EAAM,MAAM;EAAO,MAAM;CAAK,CAAA;CAC9D,OAAO,QAAQ;AACjB;AAEA,MAAM,QAAQ,MACX,EACC,WACA,YACA,SACA,OACA,cAAc,cACd,KACA,QAAQ,cACR,UAAU,WACV,GAAG,WACC;CACJ,MAAM,QAAQ,YAAY;CAE1B,OACE,oBAAC,MAAD;EACO;EACL,WAAW,GACT,OAAO,MACP,gBAAgB,aAAa,OAAO,WAAW,OAAO,YACtD,SAAS,OAAO,KAChB,SACF;EACA,GAAI;EAEH,UAAA,MAAM,KAAK,MAAM,UAAU;GAC1B,MAAM,SAAS,UAAU,OAAO,SAAS,IAAI;GAC7C,MAAM,SAAS,UAAU,MAAM,SAAS;GAExC,OACE,qBAAC,MAAD;IACE,gBAAc,YAAY,KAAA,KAAa,UAAU,UAAU,SAAS,KAAA;IACpE,WAAW,GAAG,YAAY,IAAI;IAC9B,eAAa,UAAU;IAEvB,OAAO,cAAc;IALvB,UAAA;KAOE,oBAAC,QAAD;MACE,WAAW,GAAG,OAAO,WAAW,YAAY,SAAS;MACrD,OAAO,cAAc;MAEpB,UAAA,gBAAgB,MAAM,OAAO,QAAQ,KAAK;KACvC,CAAA;MACJ,KAAK,SAAS,QAAQ,KAAK,eAAe,SAC1C,qBAAC,OAAD;MAAK,WAAW,OAAO;MAAvB,UAAA,CACG,KAAK,SAAS,QACb,oBAAC,OAAD;OACE,WAAW,GAAG,OAAO,OAAO,YAAY,KAAK;OAC7C,OAAO,cAAc;OAEpB,UAAA,KAAK;MACH,CAAA,GAEN,KAAK,eAAe,QACnB,oBAAC,OAAD;OACE,WAAW,GAAG,OAAO,aAAa,YAAY,WAAW;OACzD,OAAO,cAAc;OAEpB,UAAA,KAAK;MACH,CAAA,CAEJ;;KAEN,CAAC,UACA,oBAAC,QAAD;MACE,eAAY;MACZ,WAAW,OAAO;MAClB,OAAO,QAAQ;OAAE,iBAAiB;OAAI,kBAAkB;MAAE,IAAI,KAAA;KAC/D,CAAA;IAED;GApCG,GAAA,KAAK,OAAO,KAoCf;EAER,CAAC;CACC,CAAA;AAER,CACF;AAEA,MAAM,cAAc"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { createStaticStyles } from "antd-style";
|
|
2
|
+
//#region src/base-ui/Steps/style.ts
|
|
3
|
+
const styles = createStaticStyles(({ css, cssVar }) => ({
|
|
4
|
+
body: css`
|
|
5
|
+
display: flex;
|
|
6
|
+
flex-direction: column;
|
|
7
|
+
gap: 2px;
|
|
8
|
+
min-width: 0;
|
|
9
|
+
`,
|
|
10
|
+
connector: css`
|
|
11
|
+
flex: 1;
|
|
12
|
+
min-width: 16px;
|
|
13
|
+
height: 1px;
|
|
14
|
+
background: ${cssVar.colorBorderSecondary};
|
|
15
|
+
|
|
16
|
+
li[data-status='finish'] > & {
|
|
17
|
+
background: ${cssVar.colorPrimary};
|
|
18
|
+
}
|
|
19
|
+
`,
|
|
20
|
+
description: css`
|
|
21
|
+
font-size: 13px;
|
|
22
|
+
line-height: 1.5;
|
|
23
|
+
color: ${cssVar.colorTextSecondary};
|
|
24
|
+
`,
|
|
25
|
+
dot: css`
|
|
26
|
+
& > li > span:first-child {
|
|
27
|
+
width: 7px;
|
|
28
|
+
height: 7px;
|
|
29
|
+
margin-block-start: 8px;
|
|
30
|
+
border: 0;
|
|
31
|
+
|
|
32
|
+
background: ${cssVar.colorTextQuaternary};
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
& > li[data-status='process'] > span:first-child,
|
|
36
|
+
& > li[data-status='finish'] > span:first-child {
|
|
37
|
+
background: ${cssVar.colorPrimary};
|
|
38
|
+
}
|
|
39
|
+
`,
|
|
40
|
+
horizontal: css`
|
|
41
|
+
display: flex;
|
|
42
|
+
gap: 8px;
|
|
43
|
+
align-items: center;
|
|
44
|
+
|
|
45
|
+
& > li {
|
|
46
|
+
display: flex;
|
|
47
|
+
flex: 1;
|
|
48
|
+
gap: 8px;
|
|
49
|
+
align-items: center;
|
|
50
|
+
|
|
51
|
+
min-width: 0;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
& > li:last-child {
|
|
55
|
+
flex: none;
|
|
56
|
+
}
|
|
57
|
+
`,
|
|
58
|
+
indicator: css`
|
|
59
|
+
display: inline-flex;
|
|
60
|
+
flex: none;
|
|
61
|
+
align-items: center;
|
|
62
|
+
justify-content: center;
|
|
63
|
+
|
|
64
|
+
width: 22px;
|
|
65
|
+
height: 22px;
|
|
66
|
+
border: 1px solid ${cssVar.colorBorder};
|
|
67
|
+
border-radius: 50%;
|
|
68
|
+
|
|
69
|
+
font-size: 12px;
|
|
70
|
+
font-weight: 500;
|
|
71
|
+
font-variant-numeric: tabular-nums;
|
|
72
|
+
color: ${cssVar.colorTextDescription};
|
|
73
|
+
|
|
74
|
+
li[data-status='process'] > & {
|
|
75
|
+
border-color: ${cssVar.colorPrimary};
|
|
76
|
+
color: ${cssVar.colorBgContainer};
|
|
77
|
+
background: ${cssVar.colorPrimary};
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
li[data-status='finish'] > & {
|
|
81
|
+
border-color: ${cssVar.colorPrimary};
|
|
82
|
+
color: ${cssVar.colorPrimary};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
li[data-status='error'] > & {
|
|
86
|
+
border-color: ${cssVar.colorError};
|
|
87
|
+
color: ${cssVar.colorError};
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
li[data-status='guide'] > & {
|
|
91
|
+
color: ${cssVar.colorTextSecondary};
|
|
92
|
+
}
|
|
93
|
+
`,
|
|
94
|
+
root: css`
|
|
95
|
+
margin: 0;
|
|
96
|
+
padding: 0;
|
|
97
|
+
list-style: none;
|
|
98
|
+
`,
|
|
99
|
+
title: css`
|
|
100
|
+
font-size: 14px;
|
|
101
|
+
line-height: 22px;
|
|
102
|
+
color: ${cssVar.colorTextDescription};
|
|
103
|
+
white-space: nowrap;
|
|
104
|
+
|
|
105
|
+
li[data-status='process'] &,
|
|
106
|
+
li[data-status='finish'] &,
|
|
107
|
+
li[data-status='guide'] & {
|
|
108
|
+
color: ${cssVar.colorText};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
li[data-status='process'] & {
|
|
112
|
+
font-weight: 500;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
li[data-status='error'] & {
|
|
116
|
+
color: ${cssVar.colorError};
|
|
117
|
+
}
|
|
118
|
+
`,
|
|
119
|
+
vertical: css`
|
|
120
|
+
display: flex;
|
|
121
|
+
flex-direction: column;
|
|
122
|
+
|
|
123
|
+
& > li {
|
|
124
|
+
position: relative;
|
|
125
|
+
|
|
126
|
+
display: grid;
|
|
127
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
128
|
+
column-gap: 12px;
|
|
129
|
+
|
|
130
|
+
padding-block-end: 18px;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
& > li:last-child {
|
|
134
|
+
padding-block-end: 0;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
& > li > span[aria-hidden] {
|
|
138
|
+
position: absolute;
|
|
139
|
+
inset-block: 26px 4px;
|
|
140
|
+
inset-inline-start: 11px;
|
|
141
|
+
|
|
142
|
+
width: 1px;
|
|
143
|
+
min-width: 0;
|
|
144
|
+
height: auto;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
& > li > div > div:first-child {
|
|
148
|
+
white-space: normal;
|
|
149
|
+
}
|
|
150
|
+
`
|
|
151
|
+
}));
|
|
152
|
+
//#endregion
|
|
153
|
+
export { styles };
|
|
154
|
+
|
|
155
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/base-ui/Steps/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 gap: 2px;\n min-width: 0;\n `,\n connector: css`\n flex: 1;\n min-width: 16px;\n height: 1px;\n background: ${cssVar.colorBorderSecondary};\n\n li[data-status='finish'] > & {\n background: ${cssVar.colorPrimary};\n }\n `,\n description: css`\n font-size: 13px;\n line-height: 1.5;\n color: ${cssVar.colorTextSecondary};\n `,\n dot: css`\n & > li > span:first-child {\n width: 7px;\n height: 7px;\n margin-block-start: 8px;\n border: 0;\n\n background: ${cssVar.colorTextQuaternary};\n }\n\n & > li[data-status='process'] > span:first-child,\n & > li[data-status='finish'] > span:first-child {\n background: ${cssVar.colorPrimary};\n }\n `,\n horizontal: css`\n display: flex;\n gap: 8px;\n align-items: center;\n\n & > li {\n display: flex;\n flex: 1;\n gap: 8px;\n align-items: center;\n\n min-width: 0;\n }\n\n & > li:last-child {\n flex: none;\n }\n `,\n indicator: css`\n display: inline-flex;\n flex: none;\n align-items: center;\n justify-content: center;\n\n width: 22px;\n height: 22px;\n border: 1px solid ${cssVar.colorBorder};\n border-radius: 50%;\n\n font-size: 12px;\n font-weight: 500;\n font-variant-numeric: tabular-nums;\n color: ${cssVar.colorTextDescription};\n\n li[data-status='process'] > & {\n border-color: ${cssVar.colorPrimary};\n color: ${cssVar.colorBgContainer};\n background: ${cssVar.colorPrimary};\n }\n\n li[data-status='finish'] > & {\n border-color: ${cssVar.colorPrimary};\n color: ${cssVar.colorPrimary};\n }\n\n li[data-status='error'] > & {\n border-color: ${cssVar.colorError};\n color: ${cssVar.colorError};\n }\n\n li[data-status='guide'] > & {\n color: ${cssVar.colorTextSecondary};\n }\n `,\n root: css`\n margin: 0;\n padding: 0;\n list-style: none;\n `,\n title: css`\n font-size: 14px;\n line-height: 22px;\n color: ${cssVar.colorTextDescription};\n white-space: nowrap;\n\n li[data-status='process'] &,\n li[data-status='finish'] &,\n li[data-status='guide'] & {\n color: ${cssVar.colorText};\n }\n\n li[data-status='process'] & {\n font-weight: 500;\n }\n\n li[data-status='error'] & {\n color: ${cssVar.colorError};\n }\n `,\n vertical: css`\n display: flex;\n flex-direction: column;\n\n & > li {\n position: relative;\n\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n column-gap: 12px;\n\n padding-block-end: 18px;\n }\n\n & > li:last-child {\n padding-block-end: 0;\n }\n\n & > li > span[aria-hidden] {\n position: absolute;\n inset-block: 26px 4px;\n inset-inline-start: 11px;\n\n width: 1px;\n min-width: 0;\n height: auto;\n }\n\n & > li > div > div:first-child {\n white-space: normal;\n }\n `,\n}));\n"],"mappings":";;AAEA,MAAa,SAAS,oBAAoB,EAAE,KAAK,cAAc;CAC7D,MAAM,GAAG;;;;;;CAMT,WAAW,GAAG;;;;kBAIE,OAAO,qBAAqB;;;oBAG1B,OAAO,aAAa;;;CAGtC,aAAa,GAAG;;;aAGL,OAAO,mBAAmB;;CAErC,KAAK,GAAG;;;;;;;oBAOU,OAAO,oBAAoB;;;;;oBAK3B,OAAO,aAAa;;;CAGtC,YAAY,GAAG;;;;;;;;;;;;;;;;;;CAkBf,WAAW,GAAG;;;;;;;;wBAQQ,OAAO,YAAY;;;;;;aAM9B,OAAO,qBAAqB;;;sBAGnB,OAAO,aAAa;eAC3B,OAAO,iBAAiB;oBACnB,OAAO,aAAa;;;;sBAIlB,OAAO,aAAa;eAC3B,OAAO,aAAa;;;;sBAIb,OAAO,WAAW;eACzB,OAAO,WAAW;;;;eAIlB,OAAO,mBAAmB;;;CAGvC,MAAM,GAAG;;;;;CAKT,OAAO,GAAG;;;aAGC,OAAO,qBAAqB;;;;;;eAM1B,OAAO,UAAU;;;;;;;;eAQjB,OAAO,WAAW;;;CAG/B,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCf,EAAE"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { CSSProperties, ComponentProps, Key, ReactNode, Ref } from "react";
|
|
2
|
+
//#region src/base-ui/Steps/type.d.ts
|
|
3
|
+
type StepStatus = 'wait' | 'process' | 'finish' | 'error';
|
|
4
|
+
interface StepItem {
|
|
5
|
+
description?: ReactNode;
|
|
6
|
+
icon?: ReactNode;
|
|
7
|
+
key?: Key;
|
|
8
|
+
status?: StepStatus;
|
|
9
|
+
title?: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
interface StepsProps extends Omit<ComponentProps<'ol'>, 'children'> {
|
|
12
|
+
classNames?: {
|
|
13
|
+
description?: string;
|
|
14
|
+
indicator?: string;
|
|
15
|
+
item?: string;
|
|
16
|
+
title?: string;
|
|
17
|
+
};
|
|
18
|
+
current?: number;
|
|
19
|
+
items: StepItem[];
|
|
20
|
+
orientation?: 'horizontal' | 'vertical';
|
|
21
|
+
ref?: Ref<HTMLOListElement>;
|
|
22
|
+
styles?: {
|
|
23
|
+
description?: CSSProperties;
|
|
24
|
+
indicator?: CSSProperties;
|
|
25
|
+
item?: CSSProperties;
|
|
26
|
+
title?: CSSProperties;
|
|
27
|
+
};
|
|
28
|
+
variant?: 'default' | 'dot';
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { StepItem, StepStatus, StepsProps };
|
|
32
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import Icon from "../../Icon/Icon.mjs";
|
|
3
|
+
import DropdownMenu from "../DropdownMenu/DropdownMenu.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { memo } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import { cx } from "antd-style";
|
|
8
|
+
import { ListFilter } from "lucide-react";
|
|
9
|
+
//#region src/base-ui/Table/FilterMenu.tsx
|
|
10
|
+
const FilterMenu = memo(({ filters, label, onChange, value }) => {
|
|
11
|
+
const items = [
|
|
12
|
+
...filters.map((filter) => ({
|
|
13
|
+
checked: value.includes(filter.value),
|
|
14
|
+
closeOnClick: false,
|
|
15
|
+
key: String(filter.value),
|
|
16
|
+
label: filter.text,
|
|
17
|
+
onCheckedChange: (checked) => onChange(checked ? [...value, filter.value] : value.filter((item) => item !== filter.value)),
|
|
18
|
+
type: "checkbox"
|
|
19
|
+
})),
|
|
20
|
+
{ type: "divider" },
|
|
21
|
+
{
|
|
22
|
+
disabled: value.length === 0,
|
|
23
|
+
key: "__reset",
|
|
24
|
+
label: "Reset",
|
|
25
|
+
onClick: () => onChange([])
|
|
26
|
+
}
|
|
27
|
+
];
|
|
28
|
+
return /* @__PURE__ */ jsx(DropdownMenu, {
|
|
29
|
+
items,
|
|
30
|
+
children: /* @__PURE__ */ jsx("button", {
|
|
31
|
+
"aria-label": `Filter ${label}`,
|
|
32
|
+
className: cx(styles.filterButton, value.length > 0 && styles.filterActive),
|
|
33
|
+
type: "button",
|
|
34
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
35
|
+
icon: ListFilter,
|
|
36
|
+
size: 12
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
});
|
|
41
|
+
FilterMenu.displayName = "TableFilterMenu";
|
|
42
|
+
//#endregion
|
|
43
|
+
export { FilterMenu as default };
|
|
44
|
+
|
|
45
|
+
//# sourceMappingURL=FilterMenu.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterMenu.mjs","names":[],"sources":["../../../src/base-ui/Table/FilterMenu.tsx"],"sourcesContent":["'use client';\n\nimport { cx } from 'antd-style';\nimport { ListFilter } from 'lucide-react';\nimport { memo, type ReactNode } from 'react';\n\nimport DropdownMenu from '@/base-ui/DropdownMenu';\nimport type { DropdownItem } from '@/base-ui/DropdownMenu/type';\nimport Icon from '@/Icon';\n\nimport { styles } from './style';\nimport type { FilterValue } from './type';\n\ninterface FilterMenuProps {\n filters: { text: ReactNode; value: FilterValue }[];\n label: string;\n onChange: (next: FilterValue[]) => void;\n value: FilterValue[];\n}\n\nconst FilterMenu = memo<FilterMenuProps>(({ filters, label, onChange, value }) => {\n const items: DropdownItem[] = [\n ...filters.map((filter) => ({\n checked: value.includes(filter.value),\n closeOnClick: false,\n key: String(filter.value),\n label: filter.text,\n onCheckedChange: (checked: boolean) =>\n onChange(\n checked ? [...value, filter.value] : value.filter((item) => item !== filter.value),\n ),\n type: 'checkbox' as const,\n })),\n { type: 'divider' as const },\n { disabled: value.length === 0, key: '__reset', label: 'Reset', onClick: () => onChange([]) },\n ];\n\n return (\n <DropdownMenu items={items}>\n <button\n aria-label={`Filter ${label}`}\n className={cx(styles.filterButton, value.length > 0 && styles.filterActive)}\n type=\"button\"\n >\n <Icon icon={ListFilter} size={12} />\n </button>\n </DropdownMenu>\n );\n});\n\nFilterMenu.displayName = 'TableFilterMenu';\n\nexport default FilterMenu;\n"],"mappings":";;;;;;;;;AAoBA,MAAM,aAAa,MAAuB,EAAE,SAAS,OAAO,UAAU,YAAY;CAChF,MAAM,QAAwB;EAC5B,GAAG,QAAQ,KAAK,YAAY;GAC1B,SAAS,MAAM,SAAS,OAAO,KAAK;GACpC,cAAc;GACd,KAAK,OAAO,OAAO,KAAK;GACxB,OAAO,OAAO;GACd,kBAAkB,YAChB,SACE,UAAU,CAAC,GAAG,OAAO,OAAO,KAAK,IAAI,MAAM,QAAQ,SAAS,SAAS,OAAO,KAAK,CACnF;GACF,MAAM;EACR,EAAE;EACF,EAAE,MAAM,UAAmB;EAC3B;GAAE,UAAU,MAAM,WAAW;GAAG,KAAK;GAAW,OAAO;GAAS,eAAe,SAAS,CAAC,CAAC;EAAE;CAC9F;CAEA,OACE,oBAAC,cAAD;EAAqB;EACnB,UAAA,oBAAC,UAAD;GACE,cAAY,UAAU;GACtB,WAAW,GAAG,OAAO,cAAc,MAAM,SAAS,KAAK,OAAO,YAAY;GAC1E,MAAK;GAEL,UAAA,oBAAC,MAAD;IAAM,MAAM;IAAY,MAAM;GAAK,CAAA;EAC7B,CAAA;CACI,CAAA;AAElB,CAAC;AAED,WAAW,cAAc"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { TableProps } from "./type.mjs";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
import { RowData } from "@tanstack/react-table";
|
|
4
|
+
//#region src/base-ui/Table/Table.d.ts
|
|
5
|
+
declare const Table: (<T extends RowData>(props: TableProps<T>) => ReactNode) & {
|
|
6
|
+
displayName?: string;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { Table as default };
|
|
10
|
+
//# sourceMappingURL=Table.d.mts.map
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useEventCallback } from "../../hooks/useEventCallback.mjs";
|
|
3
|
+
import Pagination from "../Pagination/Pagination.mjs";
|
|
4
|
+
import Spin from "../Spin/Spin.mjs";
|
|
5
|
+
import { tableFeatureSet } from "./features.mjs";
|
|
6
|
+
import { styles } from "./style.mjs";
|
|
7
|
+
import FilterMenu from "./FilterMenu.mjs";
|
|
8
|
+
import { getFixedOffsets } from "./fixedOffsets.mjs";
|
|
9
|
+
import { toColumnDefs } from "./toColumnDefs.mjs";
|
|
10
|
+
import TableBody from "./TableBody.mjs";
|
|
11
|
+
import TableHead from "./TableHead.mjs";
|
|
12
|
+
import { useTableState } from "./useTableState.mjs";
|
|
13
|
+
import { memo, useEffect, useMemo } from "react";
|
|
14
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
+
import { cx } from "antd-style";
|
|
16
|
+
import { useTable } from "@tanstack/react-table";
|
|
17
|
+
//#region src/base-ui/Table/Table.tsx
|
|
18
|
+
const EMPTY_DATA = [];
|
|
19
|
+
const TableInner = (props) => {
|
|
20
|
+
const { bordered = false, className, classNames, columns, dataSource = EMPTY_DATA, emptyText, loading = false, onChange, onRow, pagination, ref, renderFilter, rowClassName, rowKey, scroll, size = "middle", style, styles: customStyles, tableLayout } = props;
|
|
21
|
+
const state = useTableState({
|
|
22
|
+
columns,
|
|
23
|
+
onChange,
|
|
24
|
+
pagination
|
|
25
|
+
});
|
|
26
|
+
const columnDefs = useMemo(() => toColumnDefs(columns), [columns]);
|
|
27
|
+
const fixedOffsets = useMemo(() => getFixedOffsets(columns), [columns]);
|
|
28
|
+
const table = useTable({
|
|
29
|
+
columns: columnDefs,
|
|
30
|
+
data: dataSource,
|
|
31
|
+
enableMultiSort: false,
|
|
32
|
+
enableSortingRemoval: true,
|
|
33
|
+
features: tableFeatureSet,
|
|
34
|
+
getRowId: (record) => String(typeof rowKey === "function" ? rowKey(record) : record[rowKey]),
|
|
35
|
+
manualSorting: state.manualSorting,
|
|
36
|
+
onColumnFiltersChange: state.onColumnFiltersChange,
|
|
37
|
+
onSortingChange: state.onSortingChange,
|
|
38
|
+
state: {
|
|
39
|
+
columnFilters: state.columnFilters,
|
|
40
|
+
sorting: state.sorting
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
const allRows = table.getRowModel().rows;
|
|
44
|
+
const { page } = state;
|
|
45
|
+
const clientPaginated = pagination !== false && state.config?.total === void 0;
|
|
46
|
+
const total = state.config?.total ?? allRows.length;
|
|
47
|
+
const pageCount = Math.max(1, Math.ceil(total / page.pageSize));
|
|
48
|
+
const pageIndex = Math.min(page.pageIndex, pageCount - 1);
|
|
49
|
+
const rows = clientPaginated ? allRows.slice(pageIndex * page.pageSize, (pageIndex + 1) * page.pageSize) : allRows;
|
|
50
|
+
const syncClampedPage = useEventCallback(() => state.clampPage(pageIndex));
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
if (clientPaginated && pageIndex !== page.pageIndex) syncClampedPage();
|
|
53
|
+
}, [
|
|
54
|
+
clientPaginated,
|
|
55
|
+
pageIndex,
|
|
56
|
+
page.pageIndex,
|
|
57
|
+
syncClampedPage
|
|
58
|
+
]);
|
|
59
|
+
const minWidth = scroll?.x === "max-content" ? "100%" : scroll?.x;
|
|
60
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
61
|
+
className: cx(styles.root, className),
|
|
62
|
+
ref,
|
|
63
|
+
style,
|
|
64
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
65
|
+
className: cx(styles.wrapper, bordered && styles.bordered, classNames?.wrapper),
|
|
66
|
+
"data-table-wrapper": "",
|
|
67
|
+
style: {
|
|
68
|
+
maxHeight: scroll?.y,
|
|
69
|
+
...customStyles?.wrapper
|
|
70
|
+
},
|
|
71
|
+
children: [/* @__PURE__ */ jsxs("table", {
|
|
72
|
+
className: cx(styles.table, size === "small" ? styles.small : styles.middle),
|
|
73
|
+
style: {
|
|
74
|
+
minWidth,
|
|
75
|
+
tableLayout,
|
|
76
|
+
width: scroll?.x === "max-content" ? "max-content" : "100%"
|
|
77
|
+
},
|
|
78
|
+
children: [/* @__PURE__ */ jsx(TableHead, {
|
|
79
|
+
classNames,
|
|
80
|
+
columnIds: state.columnIds,
|
|
81
|
+
columns,
|
|
82
|
+
fixedOffsets,
|
|
83
|
+
getColumn: (id) => table.getColumn(id),
|
|
84
|
+
styles: customStyles,
|
|
85
|
+
renderFilter: (column, id) => {
|
|
86
|
+
if (renderFilter) return renderFilter(column, id, table);
|
|
87
|
+
const tableColumn = table.getColumn(id);
|
|
88
|
+
const value = tableColumn?.getFilterValue() ?? [];
|
|
89
|
+
return /* @__PURE__ */ jsx(FilterMenu, {
|
|
90
|
+
filters: column.filters ?? [],
|
|
91
|
+
label: typeof column.title === "string" ? column.title : id,
|
|
92
|
+
value,
|
|
93
|
+
onChange: (next) => tableColumn?.setFilterValue(next.length > 0 ? next : void 0)
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
}), /* @__PURE__ */ jsx(TableBody, {
|
|
97
|
+
classNames,
|
|
98
|
+
columnIds: state.columnIds,
|
|
99
|
+
columns,
|
|
100
|
+
emptyText,
|
|
101
|
+
fixedOffsets,
|
|
102
|
+
loading,
|
|
103
|
+
rowClassName,
|
|
104
|
+
rows,
|
|
105
|
+
styles: customStyles,
|
|
106
|
+
onRow
|
|
107
|
+
})]
|
|
108
|
+
}), loading && rows.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
109
|
+
className: styles.loading,
|
|
110
|
+
"data-table-loading": "",
|
|
111
|
+
children: /* @__PURE__ */ jsx(Spin, {})
|
|
112
|
+
})]
|
|
113
|
+
}), pagination !== false && total > 0 && /* @__PURE__ */ jsx("div", {
|
|
114
|
+
className: styles.pagination,
|
|
115
|
+
children: /* @__PURE__ */ jsx(Pagination, {
|
|
116
|
+
current: pageIndex + 1,
|
|
117
|
+
pageSize: page.pageSize,
|
|
118
|
+
pageSizeOptions: state.config?.pageSizeOptions,
|
|
119
|
+
showSizeChanger: state.config?.showSizeChanger,
|
|
120
|
+
total,
|
|
121
|
+
onChange: (next, pageSize) => state.onPaginationChange({
|
|
122
|
+
pageIndex: next - 1,
|
|
123
|
+
pageSize
|
|
124
|
+
})
|
|
125
|
+
})
|
|
126
|
+
})]
|
|
127
|
+
});
|
|
128
|
+
};
|
|
129
|
+
const Table = memo(TableInner);
|
|
130
|
+
Table.displayName = "Table";
|
|
131
|
+
//#endregion
|
|
132
|
+
export { TableInner, Table as default };
|
|
133
|
+
|
|
134
|
+
//# sourceMappingURL=Table.mjs.map
|