@baishuyun/ai-design 2.0.37 → 2.1.0-alpha.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/.storybook/main.ts +31 -31
- package/.storybook/preview.ts +16 -16
- package/CHANGELOG.md +512 -492
- package/components.json +22 -22
- package/package.json +9 -6
- package/scripts/strip-layers.cjs +41 -41
- package/src/components/abs-fullscreen-gradient-bg.tsx +35 -35
- package/src/components/agent-helper/agent-category-select-menu/index.tsx +57 -57
- package/src/components/agent-helper/agent-entry-card/index.tsx +94 -94
- package/src/components/agent-helper/agent-helper-card/index.tsx +179 -179
- package/src/components/agent-helper/agent-helper-card-list/index.tsx +59 -59
- package/src/components/agent-helper/agent-helper-main-layout/index.tsx +60 -60
- package/src/components/agent-helper/agent-sort-select/index.tsx +89 -89
- package/src/components/agent-helper/agent-tag/index.tsx +29 -29
- package/src/components/agent-helper/app-select/index.tsx +559 -559
- package/src/components/agent-helper/condition-group/index.tsx +75 -75
- package/src/components/agent-helper/condition-input/index.tsx +233 -233
- package/src/components/agent-helper/condition-item/index.tsx +237 -237
- package/src/components/agent-helper/condition-quantifier-select/index.tsx +142 -142
- package/src/components/agent-helper/condition-trigger-description/index.tsx +49 -49
- package/src/components/agent-helper/date-picker/calendar-panel.tsx +164 -164
- package/src/components/agent-helper/date-picker/date-input.tsx +91 -91
- package/src/components/agent-helper/date-picker/date-picker.tsx +327 -327
- package/src/components/agent-helper/date-picker/footer-panel.tsx +44 -44
- package/src/components/agent-helper/date-picker/index.ts +3 -3
- package/src/components/agent-helper/date-picker/month-panel.tsx +82 -82
- package/src/components/agent-helper/date-picker/time-panel.tsx +146 -146
- package/src/components/agent-helper/date-picker/types.ts +37 -37
- package/src/components/agent-helper/date-picker/utils.ts +121 -121
- package/src/components/agent-helper/date-picker/year-panel.tsx +86 -86
- package/src/components/agent-helper/exec-log-filter/index.tsx +232 -232
- package/src/components/agent-helper/field-edit-preference-select/index.tsx +291 -291
- package/src/components/agent-helper/field-select/index.tsx +466 -466
- package/src/components/agent-helper/field-value-input/china-address-data.ts +4117 -4117
- package/src/components/agent-helper/field-value-input/display.tsx +71 -71
- package/src/components/agent-helper/field-value-input/icons.tsx +38 -38
- package/src/components/agent-helper/field-value-input/index.tsx +144 -144
- package/src/components/agent-helper/field-value-input/inputs.tsx +247 -247
- package/src/components/agent-helper/field-value-input/picker-inputs.tsx +1141 -1141
- package/src/components/agent-helper/flow-node-action-trigger-select/index.tsx +57 -57
- package/src/components/agent-helper/form-action-trigger-select/index.tsx +60 -60
- package/src/components/agent-helper/form-divider/index.tsx +44 -44
- package/src/components/agent-helper/form-select/index.tsx +732 -732
- package/src/components/agent-helper/monthdays-select/index.tsx +378 -378
- package/src/components/agent-helper/offset-preference-select/index.tsx +268 -268
- package/src/components/agent-helper/offset-type-select/index.tsx +66 -66
- package/src/components/agent-helper/offset-unit-select/index.tsx +54 -54
- package/src/components/agent-helper/placeholder-card/index.tsx +75 -75
- package/src/components/agent-helper/prompt-input/index.tsx +646 -640
- package/src/components/agent-helper/relational-operator-select/index.tsx +179 -179
- package/src/components/agent-helper/repeat-by-type-select/index.tsx +53 -53
- package/src/components/agent-helper/repeat-preference-select/index.tsx +162 -162
- package/src/components/agent-helper/repeat-preference-type-select/index.tsx +58 -58
- package/src/components/agent-helper/search-input/index.tsx +35 -35
- package/src/components/agent-helper/table/index.tsx +114 -114
- package/src/components/agent-helper/trigger-select/index.tsx +121 -121
- package/src/components/agent-helper/trigger-time-preference-select/index.tsx +189 -189
- package/src/components/agent-helper/trigger-time-source-type-select/index.tsx +53 -53
- package/src/components/agent-helper/weekdays-select/index.tsx +230 -230
- package/src/components/agent-scroll-selector.tsx +193 -193
- package/src/components/agent-select.tsx +154 -154
- package/src/components/attachment-part-group.tsx +35 -35
- package/src/components/attachment-part.tsx +296 -296
- package/src/components/attachments-previewer.tsx +272 -272
- package/src/components/base-button.tsx +49 -49
- package/src/components/border-animation.tsx +107 -107
- package/src/components/border-color-animation.tsx +66 -66
- package/src/components/bot-avatar-name.tsx +36 -36
- package/src/components/bot-icon.tsx +23 -23
- package/src/components/bs-entry-select/app-group-folder.tsx +61 -61
- package/src/components/bs-entry-select/bs-entry-select.tsx +296 -296
- package/src/components/bs-entry-select/build-tree.ts +265 -265
- package/src/components/bs-entry-select/entry-item.tsx +45 -45
- package/src/components/bs-entry-select/entry-popover.tsx +99 -99
- package/src/components/bs-entry-select/index.ts +7 -7
- package/src/components/bs-entry-select/other-app-section.tsx +96 -96
- package/src/components/bs-entry-select/scroll-slider.tsx +872 -872
- package/src/components/bs-entry-select/search-input.tsx +4 -4
- package/src/components/bs-entry-select/tree-item-node.tsx +84 -84
- package/src/components/bs-entry-select/types.ts +46 -46
- package/src/components/bs-icons.tsx +1362 -1362
- package/src/components/card-field.tsx +23 -23
- package/src/components/card.tsx +36 -36
- package/src/components/chat-area-header.tsx +65 -65
- package/src/components/check-card.tsx +77 -77
- package/src/components/circle-checker.tsx +66 -66
- package/src/components/collapsible-txt-msg.tsx +75 -75
- package/src/components/collapsible.tsx +9 -9
- package/src/components/confirm-dialog.tsx +139 -139
- package/src/components/date-range-picker.tsx +91 -91
- package/src/components/fake-bot-msg.tsx +51 -51
- package/src/components/field-checker-list-msg.tsx +146 -146
- package/src/components/field-checker.tsx +185 -185
- package/src/components/field-icon.tsx +13 -13
- package/src/components/field-value-checker.tsx +116 -116
- package/src/components/fields-design-info-table.tsx +160 -160
- package/src/components/fields-generating-indicator.tsx +95 -95
- package/src/components/fields-portal.tsx +18 -18
- package/src/components/fields-previewer.tsx +216 -216
- package/src/components/font-icon.tsx +65 -65
- package/src/components/form-info-editor.tsx +263 -263
- package/src/components/formula-tag.tsx +32 -32
- package/src/components/generate-animation.tsx +56 -56
- package/src/components/icon-btn.tsx +43 -43
- package/src/components/icon-card.tsx +67 -67
- package/src/components/icons/calendar-icon.tsx +5 -5
- package/src/components/icons/clear-all-icon.tsx +5 -5
- package/src/components/icons/empty-agent-icon.tsx +93 -93
- package/src/components/icons/empty-table-icon.tsx +104 -104
- package/src/components/icons/grids-icon.tsx +5 -5
- package/src/components/img-part.tsx +27 -27
- package/src/components/legacy-slot.tsx +110 -110
- package/src/components/line-checker.tsx +168 -168
- package/src/components/linear-gradient-border-btn.tsx +48 -48
- package/src/components/linear-gradient-color-bg-animation.tsx +103 -103
- package/src/components/memoized-markdown.tsx +32 -32
- package/src/components/message-content.tsx +21 -21
- package/src/components/number-part.tsx +46 -46
- package/src/components/office-container.tsx +289 -265
- package/src/components/option-item.tsx +27 -27
- package/src/components/output-config-editor.tsx +478 -478
- package/src/components/previewer-header.tsx +270 -270
- package/src/components/primary-confirm-btn.tsx +58 -58
- package/src/components/primary-entry-btn.tsx +48 -48
- package/src/components/radio-card.tsx +63 -63
- package/src/components/scroll-to-bottom-btn.tsx +28 -28
- package/src/components/split-line.tsx +9 -9
- package/src/components/square-checker.tsx +87 -87
- package/src/components/subform-fields-value-checker.tsx +184 -184
- package/src/components/tab-radio-group.tsx +83 -83
- package/src/components/tooltip.tsx +53 -53
- package/src/components/ui/button.tsx +51 -51
- package/src/components/ui/calendar.tsx +57 -57
- package/src/components/ui/dialog.tsx +104 -104
- package/src/components/ui/drawer.tsx +279 -279
- package/src/components/ui/form.tsx +202 -202
- package/src/components/ui/icons.tsx +1267 -1267
- package/src/components/ui/input.tsx +28 -28
- package/src/components/ui/label.tsx +30 -30
- package/src/components/ui/popover.tsx +85 -85
- package/src/components/ui/select.tsx +236 -236
- package/src/components/ui/spinner.tsx +17 -17
- package/src/components/ui/switch.tsx +33 -33
- package/src/components/ui/tabs.tsx +62 -62
- package/src/components/ui/textarea.tsx +28 -28
- package/src/components/ui/tooltip.tsx +53 -53
- package/src/components/user-txt-msg-bubble.tsx +47 -47
- package/src/components/warning-msg.tsx +27 -27
- package/src/const/ui.ts +119 -119
- package/src/css.d.ts +4 -4
- package/src/hooks/use-column-appear.ts +78 -78
- package/src/hooks/use-portal-container.ts +27 -27
- package/src/hooks/use-resizable-width.ts +129 -129
- package/src/hooks/use-select-popover-position.ts +74 -74
- package/src/hooks/use-shadow.ts +127 -127
- package/src/index.ts +226 -226
- package/src/lib/utils.ts +138 -138
- package/src/stories/AbsFullscreenGradientBg.stories.tsx +36 -36
- package/src/stories/AgentCategorySelectMenu.stories.tsx +33 -33
- package/src/stories/AgentEntryCard.stories.tsx +90 -90
- package/src/stories/AgentHelperCard.stories.tsx +105 -105
- package/src/stories/AgentHelperCardList.stories.tsx +120 -120
- package/src/stories/AgentHelperMainLayout.stories.tsx +71 -71
- package/src/stories/AgentScrollSelector.stories.tsx +95 -95
- package/src/stories/AgentSelect.stories.tsx +134 -134
- package/src/stories/AgentTag.stories.tsx +44 -44
- package/src/stories/AppSelect.stories.tsx +250 -250
- package/src/stories/AttachmentPart.stories.tsx +122 -122
- package/src/stories/AttachmentPartGroup.stories.tsx +152 -152
- package/src/stories/AttachmentsPreviewer.stories.tsx +306 -306
- package/src/stories/BaseButton.stories.tsx +33 -33
- package/src/stories/BorderAnimation.stories.tsx +116 -116
- package/src/stories/BorderColorAnimation.stories.tsx +63 -63
- package/src/stories/BotAvatarAndName.stories.ts +24 -24
- package/src/stories/BotIcon.stories.ts +22 -22
- package/src/stories/BsConditionInput.stories.tsx +460 -460
- package/src/stories/BsEntrySelect.stories.tsx +343 -343
- package/src/stories/BsTooltip.stories.tsx +32 -32
- package/src/stories/Card.stories.tsx +28 -28
- package/src/stories/CardField.stories.tsx +87 -87
- package/src/stories/ChatAreaHeader.stories.ts +26 -26
- package/src/stories/CheckCard.stories.tsx +114 -114
- package/src/stories/CircleChecker.stories.tsx +89 -89
- package/src/stories/CollapsibleTextMsg.stories.ts +44 -44
- package/src/stories/ConditionGroup.stories.tsx +216 -216
- package/src/stories/ConditionInput.stories.tsx +502 -502
- package/src/stories/ConditionItem.stories.tsx +163 -163
- package/src/stories/ConditonQuantifierSelect.stories.tsx +54 -54
- package/src/stories/ConditonTriggerDescription.stories.tsx +61 -61
- package/src/stories/ConfirmDialog.stories.tsx +123 -123
- package/src/stories/DataTable.stories.tsx +191 -191
- package/src/stories/DatePicker.stories.tsx +174 -174
- package/src/stories/ExecLogFilter.stories.tsx +145 -145
- package/src/stories/FakeBotMsg.stories.tsx +36 -36
- package/src/stories/FieldEditPreferenceSelect.stories.tsx +161 -161
- package/src/stories/FieldSelect.stories.tsx +228 -228
- package/src/stories/FieldValueInput.stories.tsx +442 -442
- package/src/stories/FlowNodeActionTriggerSelect.stories.tsx +80 -80
- package/src/stories/Form.stories.tsx +302 -302
- package/src/stories/FormActionTriggerSelect.stories.tsx +80 -80
- package/src/stories/FormDivider.stories.tsx +31 -31
- package/src/stories/FormInfoEditor.stories.tsx +173 -173
- package/src/stories/FormSelect.stories.tsx +222 -222
- package/src/stories/FormulaTag.stories.tsx +68 -68
- package/src/stories/GenerateAnimation.stories.ts +20 -20
- package/src/stories/IconBtn.stories.tsx +32 -32
- package/src/stories/IconCard.stories.tsx +35 -35
- package/src/stories/IconLib.tsx +45 -45
- package/src/stories/Icons.stories.ts +22 -22
- package/src/stories/ImgMsgPart.stories.tsx +42 -42
- package/src/stories/Input.stories.tsx +102 -102
- package/src/stories/Label.stories.tsx +66 -66
- package/src/stories/LegacySlot.stories.tsx +56 -56
- package/src/stories/LineChecker.stories.tsx +133 -133
- package/src/stories/LinearGradientBorderBtn.stories.tsx +86 -86
- package/src/stories/LinearGradientColorBgAnimation.stories.tsx +60 -60
- package/src/stories/MemoizedMarkdown.stories.tsx +102 -102
- package/src/stories/MessageContent.stories.tsx +36 -36
- package/src/stories/MonthdaysSelect.stories.tsx +78 -78
- package/src/stories/NumbersMsgPart.stories.tsx +42 -42
- package/src/stories/OfficeContainer.stories.tsx +287 -287
- package/src/stories/OffsetPreferenceSelect.stories.tsx +118 -118
- package/src/stories/OffsetTypeSelect.stories.tsx +75 -75
- package/src/stories/OffsetUnitSelect.stories.tsx +61 -61
- package/src/stories/OptionItem.stories.tsx +77 -77
- package/src/stories/OutputConfigEditor.stories.tsx +96 -96
- package/src/stories/PlaceholderCard.stories.tsx +35 -35
- package/src/stories/PreviewerHeader.stories.tsx +91 -91
- package/src/stories/PrimaryConfirmBtn.stories.tsx +60 -60
- package/src/stories/PrimaryEntryBtn.stories.tsx +74 -74
- package/src/stories/PromptInput.stories.tsx +228 -228
- package/src/stories/RadioCard.stories.tsx +103 -103
- package/src/stories/RelationalOperatorSelect.stories.tsx +61 -61
- package/src/stories/RepeatByTypeSelect.stories.tsx +58 -58
- package/src/stories/RepeatPreferenceSelect.stories.tsx +107 -107
- package/src/stories/RepeatPreferenceTypeSelect.stories.tsx +58 -58
- package/src/stories/ScrollToBottom.stories.tsx +24 -24
- package/src/stories/SearchInput.stories.tsx +50 -50
- package/src/stories/Select.stories.tsx +128 -128
- package/src/stories/SplitLine.stories.tsx +40 -40
- package/src/stories/SquareChecker.stories.tsx +96 -96
- package/src/stories/TabRadioGroup.stories.tsx +84 -84
- package/src/stories/Textarea.stories.tsx +67 -67
- package/src/stories/TriggerSelect.stories.tsx +48 -48
- package/src/stories/TriggerTimePreferenceSelect.stories.tsx +106 -106
- package/src/stories/TriggerTimeSourceTypeSelect.stories.tsx +68 -68
- package/src/stories/UserTextMsgBubble.stories.ts +24 -24
- package/src/stories/WarningMessage.stories.tsx +23 -23
- package/src/stories/WeekdaysSelect.stories.tsx +66 -66
- package/src/stories/assets/demo.css +539 -539
- package/src/stories/assets/demo_index.html +7988 -7988
- package/src/stories/assets/iconfont.css +1377 -1377
- package/src/stories/assets/iconfont.json +2382 -2382
- package/src/stories/assets/iconfont.svg +697 -697
- package/src/stories/collapsible.stories.tsx +47 -47
- package/src/stories/drawer.stories.tsx +196 -196
- package/src/stories/field-checker-list-msg.stories.tsx +95 -95
- package/src/stories/field-checker.stories.tsx +117 -117
- package/src/stories/field-icon.stories.tsx +70 -70
- package/src/stories/field-value-checker.stories.tsx +113 -113
- package/src/stories/fields-design-info-table.stories.tsx +203 -203
- package/src/stories/fields-generating.stories.tsx +41 -41
- package/src/stories/fields-previewer.stories.tsx +77 -77
- package/src/stories/subform-fields-value-checker.stories.tsx +98 -98
- package/src/style.css +226 -226
- package/src/types.ts +8 -8
- package/style.css +3652 -3652
- package/tsconfig.json +13 -13
- package/vite.config.ts +44 -44
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
import { IconBtn } from '../components/icon-btn';
|
|
4
|
-
import { DockIcon } from '../components/bs-icons';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'Example/Button/IconBtn',
|
|
8
|
-
component: IconBtn,
|
|
9
|
-
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
10
|
-
tags: ['autodocs'],
|
|
11
|
-
parameters: {
|
|
12
|
-
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
13
|
-
layout: 'centered',
|
|
14
|
-
},
|
|
15
|
-
args: {},
|
|
16
|
-
} satisfies Meta<typeof IconBtn>;
|
|
17
|
-
|
|
18
|
-
export default meta;
|
|
19
|
-
type Story = StoryObj<typeof meta>;
|
|
20
|
-
|
|
21
|
-
export const Base: Story = {
|
|
22
|
-
args: {
|
|
23
|
-
icon: <DockIcon />,
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export const Rounded: Story = {
|
|
28
|
-
args: {
|
|
29
|
-
icon: <DockIcon />,
|
|
30
|
-
rounded: true,
|
|
31
|
-
},
|
|
32
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
import { IconBtn } from '../components/icon-btn';
|
|
4
|
+
import { DockIcon } from '../components/bs-icons';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'Example/Button/IconBtn',
|
|
8
|
+
component: IconBtn,
|
|
9
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
10
|
+
tags: ['autodocs'],
|
|
11
|
+
parameters: {
|
|
12
|
+
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
13
|
+
layout: 'centered',
|
|
14
|
+
},
|
|
15
|
+
args: {},
|
|
16
|
+
} satisfies Meta<typeof IconBtn>;
|
|
17
|
+
|
|
18
|
+
export default meta;
|
|
19
|
+
type Story = StoryObj<typeof meta>;
|
|
20
|
+
|
|
21
|
+
export const Base: Story = {
|
|
22
|
+
args: {
|
|
23
|
+
icon: <DockIcon />,
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const Rounded: Story = {
|
|
28
|
+
args: {
|
|
29
|
+
icon: <DockIcon />,
|
|
30
|
+
rounded: true,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { IconCard } from '../components/icon-card';
|
|
3
|
-
import { MultilineTextIcon } from '..';
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'AI Office/IconCard',
|
|
7
|
-
component: IconCard,
|
|
8
|
-
tags: ['autodocs'],
|
|
9
|
-
parameters: { layout: 'centered' },
|
|
10
|
-
args: {},
|
|
11
|
-
} satisfies Meta<typeof IconCard>;
|
|
12
|
-
|
|
13
|
-
export default meta;
|
|
14
|
-
type Story = StoryObj<typeof meta>;
|
|
15
|
-
|
|
16
|
-
export const Default: Story = {
|
|
17
|
-
args: {
|
|
18
|
-
icon: <MultilineTextIcon />,
|
|
19
|
-
iconBgColor: 'rgba(77, 96, 159, 0.1)',
|
|
20
|
-
title: '表单字段触发',
|
|
21
|
-
description: '表单中数据发生变化时,触发自动化操作',
|
|
22
|
-
onClick: () => {},
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export const Selected: Story = {
|
|
27
|
-
args: {
|
|
28
|
-
icon: <MultilineTextIcon />,
|
|
29
|
-
iconBgColor: 'rgba(77, 96, 159, 0.1)',
|
|
30
|
-
title: '表单字段触发',
|
|
31
|
-
description: '表单中数据发生变化时,触发自动化操作',
|
|
32
|
-
selected: true,
|
|
33
|
-
onClick: () => {},
|
|
34
|
-
},
|
|
35
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { IconCard } from '../components/icon-card';
|
|
3
|
+
import { MultilineTextIcon } from '..';
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'AI Office/IconCard',
|
|
7
|
+
component: IconCard,
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
parameters: { layout: 'centered' },
|
|
10
|
+
args: {},
|
|
11
|
+
} satisfies Meta<typeof IconCard>;
|
|
12
|
+
|
|
13
|
+
export default meta;
|
|
14
|
+
type Story = StoryObj<typeof meta>;
|
|
15
|
+
|
|
16
|
+
export const Default: Story = {
|
|
17
|
+
args: {
|
|
18
|
+
icon: <MultilineTextIcon />,
|
|
19
|
+
iconBgColor: 'rgba(77, 96, 159, 0.1)',
|
|
20
|
+
title: '表单字段触发',
|
|
21
|
+
description: '表单中数据发生变化时,触发自动化操作',
|
|
22
|
+
onClick: () => {},
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const Selected: Story = {
|
|
27
|
+
args: {
|
|
28
|
+
icon: <MultilineTextIcon />,
|
|
29
|
+
iconBgColor: 'rgba(77, 96, 159, 0.1)',
|
|
30
|
+
title: '表单字段触发',
|
|
31
|
+
description: '表单中数据发生变化时,触发自动化操作',
|
|
32
|
+
selected: true,
|
|
33
|
+
onClick: () => {},
|
|
34
|
+
},
|
|
35
|
+
};
|
package/src/stories/IconLib.tsx
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
import * as Icons from '../components/bs-icons';
|
|
2
|
-
|
|
3
|
-
import { IconBtn } from '../components/icon-btn';
|
|
4
|
-
import { copyTextToClipboard } from '../lib/utils';
|
|
5
|
-
|
|
6
|
-
// 在 Icon.stories.jsx 中添加
|
|
7
|
-
export const IconLibrary = () => {
|
|
8
|
-
// 定义所有图标列表
|
|
9
|
-
const icons = Object.entries(Icons).map(([name, IconComp]) => ({
|
|
10
|
-
name,
|
|
11
|
-
icon: IconComp,
|
|
12
|
-
}));
|
|
13
|
-
|
|
14
|
-
return (
|
|
15
|
-
<div
|
|
16
|
-
style={{
|
|
17
|
-
display: 'grid',
|
|
18
|
-
gridTemplateColumns: 'repeat(20, 20px)',
|
|
19
|
-
gridTemplateRows: 'repeat(20, 20px)',
|
|
20
|
-
gap: '10px',
|
|
21
|
-
padding: '10px',
|
|
22
|
-
}}
|
|
23
|
-
>
|
|
24
|
-
{icons.map((item) => {
|
|
25
|
-
const Icon = item.icon;
|
|
26
|
-
return (
|
|
27
|
-
<IconBtn
|
|
28
|
-
icon={<Icon />}
|
|
29
|
-
onClick={async () => {
|
|
30
|
-
await copyTextToClipboard(`<${item.name} />`);
|
|
31
|
-
}}
|
|
32
|
-
/>
|
|
33
|
-
);
|
|
34
|
-
})}
|
|
35
|
-
</div>
|
|
36
|
-
);
|
|
37
|
-
};
|
|
38
|
-
IconLibrary.storyName = '图标库';
|
|
39
|
-
IconLibrary.parameters = {
|
|
40
|
-
docs: {
|
|
41
|
-
description: {
|
|
42
|
-
story: '展示所有可用的 SVG 图标,方便查阅和使用',
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
};
|
|
1
|
+
import * as Icons from '../components/bs-icons';
|
|
2
|
+
|
|
3
|
+
import { IconBtn } from '../components/icon-btn';
|
|
4
|
+
import { copyTextToClipboard } from '../lib/utils';
|
|
5
|
+
|
|
6
|
+
// 在 Icon.stories.jsx 中添加
|
|
7
|
+
export const IconLibrary = () => {
|
|
8
|
+
// 定义所有图标列表
|
|
9
|
+
const icons = Object.entries(Icons).map(([name, IconComp]) => ({
|
|
10
|
+
name,
|
|
11
|
+
icon: IconComp,
|
|
12
|
+
}));
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<div
|
|
16
|
+
style={{
|
|
17
|
+
display: 'grid',
|
|
18
|
+
gridTemplateColumns: 'repeat(20, 20px)',
|
|
19
|
+
gridTemplateRows: 'repeat(20, 20px)',
|
|
20
|
+
gap: '10px',
|
|
21
|
+
padding: '10px',
|
|
22
|
+
}}
|
|
23
|
+
>
|
|
24
|
+
{icons.map((item) => {
|
|
25
|
+
const Icon = item.icon;
|
|
26
|
+
return (
|
|
27
|
+
<IconBtn
|
|
28
|
+
icon={<Icon />}
|
|
29
|
+
onClick={async () => {
|
|
30
|
+
await copyTextToClipboard(`<${item.name} />`);
|
|
31
|
+
}}
|
|
32
|
+
/>
|
|
33
|
+
);
|
|
34
|
+
})}
|
|
35
|
+
</div>
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
IconLibrary.storyName = '图标库';
|
|
39
|
+
IconLibrary.parameters = {
|
|
40
|
+
docs: {
|
|
41
|
+
description: {
|
|
42
|
+
story: '展示所有可用的 SVG 图标,方便查阅和使用',
|
|
43
|
+
},
|
|
44
|
+
},
|
|
45
|
+
};
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
import { IconLibrary } from './IconLib';
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'Example/Icons/BsIcon Library',
|
|
7
|
-
component: IconLibrary,
|
|
8
|
-
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: {
|
|
11
|
-
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
12
|
-
layout: 'centered',
|
|
13
|
-
},
|
|
14
|
-
args: {},
|
|
15
|
-
} satisfies Meta<typeof IconLibrary>;
|
|
16
|
-
|
|
17
|
-
export default meta;
|
|
18
|
-
type Story = StoryObj<typeof meta>;
|
|
19
|
-
|
|
20
|
-
export const Base: Story = {
|
|
21
|
-
args: {},
|
|
22
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
import { IconLibrary } from './IconLib';
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Example/Icons/BsIcon Library',
|
|
7
|
+
component: IconLibrary,
|
|
8
|
+
// This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: {
|
|
11
|
+
// More on how to position stories at: https://storybook.js.org/docs/configure/story-layout
|
|
12
|
+
layout: 'centered',
|
|
13
|
+
},
|
|
14
|
+
args: {},
|
|
15
|
+
} satisfies Meta<typeof IconLibrary>;
|
|
16
|
+
|
|
17
|
+
export default meta;
|
|
18
|
+
type Story = StoryObj<typeof meta>;
|
|
19
|
+
|
|
20
|
+
export const Base: Story = {
|
|
21
|
+
args: {},
|
|
22
|
+
};
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
import { ImgMsgPart } from '../components/img-part';
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'Example/Chat/ImgMsgPart',
|
|
7
|
-
component: ImgMsgPart,
|
|
8
|
-
tags: ['autodocs'],
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: 'centered',
|
|
11
|
-
},
|
|
12
|
-
args: {
|
|
13
|
-
url: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400',
|
|
14
|
-
alt: 'Mountain landscape',
|
|
15
|
-
},
|
|
16
|
-
} satisfies Meta<typeof ImgMsgPart>;
|
|
17
|
-
|
|
18
|
-
export default meta;
|
|
19
|
-
|
|
20
|
-
type Story = StoryObj<typeof meta>;
|
|
21
|
-
|
|
22
|
-
export const Default: Story = {
|
|
23
|
-
args: {},
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
export const Large: Story = {
|
|
27
|
-
args: {
|
|
28
|
-
size: 200,
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const Small: Story = {
|
|
33
|
-
args: {
|
|
34
|
-
size: 64,
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const WithCustomClassName: Story = {
|
|
39
|
-
args: {
|
|
40
|
-
className: 'shadow-lg',
|
|
41
|
-
},
|
|
42
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
import { ImgMsgPart } from '../components/img-part';
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Example/Chat/ImgMsgPart',
|
|
7
|
+
component: ImgMsgPart,
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: 'centered',
|
|
11
|
+
},
|
|
12
|
+
args: {
|
|
13
|
+
url: 'https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=400',
|
|
14
|
+
alt: 'Mountain landscape',
|
|
15
|
+
},
|
|
16
|
+
} satisfies Meta<typeof ImgMsgPart>;
|
|
17
|
+
|
|
18
|
+
export default meta;
|
|
19
|
+
|
|
20
|
+
type Story = StoryObj<typeof meta>;
|
|
21
|
+
|
|
22
|
+
export const Default: Story = {
|
|
23
|
+
args: {},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
export const Large: Story = {
|
|
27
|
+
args: {
|
|
28
|
+
size: 200,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const Small: Story = {
|
|
33
|
+
args: {
|
|
34
|
+
size: 64,
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const WithCustomClassName: Story = {
|
|
39
|
+
args: {
|
|
40
|
+
className: 'shadow-lg',
|
|
41
|
+
},
|
|
42
|
+
};
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
import { Input } from '../components/ui/input';
|
|
4
|
-
import { Label } from '../components/ui/label';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'AI Office/Input',
|
|
8
|
-
component: Input,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: { layout: 'centered' },
|
|
11
|
-
args: {},
|
|
12
|
-
} satisfies Meta<typeof Input>;
|
|
13
|
-
|
|
14
|
-
export default meta;
|
|
15
|
-
type Story = StoryObj<typeof meta>;
|
|
16
|
-
|
|
17
|
-
export const Default: Story = {
|
|
18
|
-
args: {
|
|
19
|
-
placeholder: '请输入内容',
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const WithValue: Story = {
|
|
24
|
-
args: {
|
|
25
|
-
defaultValue: '示例文本',
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const WithPlaceholder: Story = {
|
|
30
|
-
args: {
|
|
31
|
-
placeholder: '请输入名称',
|
|
32
|
-
},
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export const Disabled: Story = {
|
|
36
|
-
args: {
|
|
37
|
-
defaultValue: '不可编辑',
|
|
38
|
-
disabled: true,
|
|
39
|
-
},
|
|
40
|
-
};
|
|
41
|
-
|
|
42
|
-
export const Password: Story = {
|
|
43
|
-
args: {
|
|
44
|
-
type: 'password',
|
|
45
|
-
placeholder: '请输入密码',
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Number: Story = {
|
|
50
|
-
args: {
|
|
51
|
-
type: 'number',
|
|
52
|
-
placeholder: '请输入数字',
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const File: Story = {
|
|
57
|
-
args: {
|
|
58
|
-
type: 'file',
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export const WithLabel: Story = {
|
|
63
|
-
args: {
|
|
64
|
-
id: 'name-input',
|
|
65
|
-
placeholder: '请输入名称',
|
|
66
|
-
},
|
|
67
|
-
render: (args) => (
|
|
68
|
-
<div className="flex flex-col gap-[6px]">
|
|
69
|
-
<Label htmlFor={args.id}>名称</Label>
|
|
70
|
-
<Input {...args} />
|
|
71
|
-
</div>
|
|
72
|
-
),
|
|
73
|
-
};
|
|
74
|
-
|
|
75
|
-
export const WithRequiredLabel: Story = {
|
|
76
|
-
args: {
|
|
77
|
-
id: 'name-required',
|
|
78
|
-
placeholder: '请输入名称',
|
|
79
|
-
},
|
|
80
|
-
render: (args) => (
|
|
81
|
-
<div className="flex flex-col gap-[6px]">
|
|
82
|
-
<Label htmlFor={args.id} required>
|
|
83
|
-
名称
|
|
84
|
-
</Label>
|
|
85
|
-
<Input {...args} />
|
|
86
|
-
</div>
|
|
87
|
-
),
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
export const DisabledWithLabel: Story = {
|
|
91
|
-
args: {
|
|
92
|
-
id: 'name-disabled',
|
|
93
|
-
defaultValue: '不可编辑的值',
|
|
94
|
-
disabled: true,
|
|
95
|
-
},
|
|
96
|
-
render: (args) => (
|
|
97
|
-
<div className="flex flex-col gap-[6px]">
|
|
98
|
-
<Label htmlFor={args.id}>名称</Label>
|
|
99
|
-
<Input {...args} />
|
|
100
|
-
</div>
|
|
101
|
-
),
|
|
102
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
import { Input } from '../components/ui/input';
|
|
4
|
+
import { Label } from '../components/ui/label';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'AI Office/Input',
|
|
8
|
+
component: Input,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: { layout: 'centered' },
|
|
11
|
+
args: {},
|
|
12
|
+
} satisfies Meta<typeof Input>;
|
|
13
|
+
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof meta>;
|
|
16
|
+
|
|
17
|
+
export const Default: Story = {
|
|
18
|
+
args: {
|
|
19
|
+
placeholder: '请输入内容',
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const WithValue: Story = {
|
|
24
|
+
args: {
|
|
25
|
+
defaultValue: '示例文本',
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const WithPlaceholder: Story = {
|
|
30
|
+
args: {
|
|
31
|
+
placeholder: '请输入名称',
|
|
32
|
+
},
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
export const Disabled: Story = {
|
|
36
|
+
args: {
|
|
37
|
+
defaultValue: '不可编辑',
|
|
38
|
+
disabled: true,
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export const Password: Story = {
|
|
43
|
+
args: {
|
|
44
|
+
type: 'password',
|
|
45
|
+
placeholder: '请输入密码',
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const Number: Story = {
|
|
50
|
+
args: {
|
|
51
|
+
type: 'number',
|
|
52
|
+
placeholder: '请输入数字',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const File: Story = {
|
|
57
|
+
args: {
|
|
58
|
+
type: 'file',
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const WithLabel: Story = {
|
|
63
|
+
args: {
|
|
64
|
+
id: 'name-input',
|
|
65
|
+
placeholder: '请输入名称',
|
|
66
|
+
},
|
|
67
|
+
render: (args) => (
|
|
68
|
+
<div className="flex flex-col gap-[6px]">
|
|
69
|
+
<Label htmlFor={args.id}>名称</Label>
|
|
70
|
+
<Input {...args} />
|
|
71
|
+
</div>
|
|
72
|
+
),
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
export const WithRequiredLabel: Story = {
|
|
76
|
+
args: {
|
|
77
|
+
id: 'name-required',
|
|
78
|
+
placeholder: '请输入名称',
|
|
79
|
+
},
|
|
80
|
+
render: (args) => (
|
|
81
|
+
<div className="flex flex-col gap-[6px]">
|
|
82
|
+
<Label htmlFor={args.id} required>
|
|
83
|
+
名称
|
|
84
|
+
</Label>
|
|
85
|
+
<Input {...args} />
|
|
86
|
+
</div>
|
|
87
|
+
),
|
|
88
|
+
};
|
|
89
|
+
|
|
90
|
+
export const DisabledWithLabel: Story = {
|
|
91
|
+
args: {
|
|
92
|
+
id: 'name-disabled',
|
|
93
|
+
defaultValue: '不可编辑的值',
|
|
94
|
+
disabled: true,
|
|
95
|
+
},
|
|
96
|
+
render: (args) => (
|
|
97
|
+
<div className="flex flex-col gap-[6px]">
|
|
98
|
+
<Label htmlFor={args.id}>名称</Label>
|
|
99
|
+
<Input {...args} />
|
|
100
|
+
</div>
|
|
101
|
+
),
|
|
102
|
+
};
|