@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,60 +1,60 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
-
|
|
3
|
-
import { LinearGradientColorBgAnimation } from "../components/linear-gradient-color-bg-animation";
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: "Example/Animation/LinearGradientColorBgAnimation",
|
|
7
|
-
component: LinearGradientColorBgAnimation,
|
|
8
|
-
tags: ["autodocs"],
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: "centered",
|
|
11
|
-
},
|
|
12
|
-
args: {},
|
|
13
|
-
} satisfies Meta<typeof LinearGradientColorBgAnimation>;
|
|
14
|
-
|
|
15
|
-
export default meta;
|
|
16
|
-
type Story = StoryObj<typeof meta>;
|
|
17
|
-
|
|
18
|
-
export const Default: Story = {
|
|
19
|
-
args: {
|
|
20
|
-
width: '976px',
|
|
21
|
-
height: '52px',
|
|
22
|
-
},
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export const WithContent: Story = {
|
|
26
|
-
args: {
|
|
27
|
-
width: '100vw',
|
|
28
|
-
height: '400px',
|
|
29
|
-
},
|
|
30
|
-
render: (args) => (
|
|
31
|
-
<LinearGradientColorBgAnimation {...args}>
|
|
32
|
-
<div style={{
|
|
33
|
-
display: 'flex',
|
|
34
|
-
alignItems: 'center',
|
|
35
|
-
justifyContent: 'center',
|
|
36
|
-
height: '100%',
|
|
37
|
-
color: '#333',
|
|
38
|
-
}}>
|
|
39
|
-
<div style={{ textAlign: 'center' }}>
|
|
40
|
-
<h1 style={{ margin: '0 0 16px 0', fontSize: '48px' }}>Flowing Gradient</h1>
|
|
41
|
-
<p style={{ margin: 0, fontSize: '20px' }}>Natural animated background</p>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
</LinearGradientColorBgAnimation>
|
|
45
|
-
),
|
|
46
|
-
};
|
|
47
|
-
|
|
48
|
-
export const FixedSize: Story = {
|
|
49
|
-
args: {
|
|
50
|
-
width: '800px',
|
|
51
|
-
height: '300px',
|
|
52
|
-
},
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export const TallSize: Story = {
|
|
56
|
-
args: {
|
|
57
|
-
width: '600px',
|
|
58
|
-
height: '600px',
|
|
59
|
-
},
|
|
60
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
|
|
3
|
+
import { LinearGradientColorBgAnimation } from "../components/linear-gradient-color-bg-animation";
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: "Example/Animation/LinearGradientColorBgAnimation",
|
|
7
|
+
component: LinearGradientColorBgAnimation,
|
|
8
|
+
tags: ["autodocs"],
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: "centered",
|
|
11
|
+
},
|
|
12
|
+
args: {},
|
|
13
|
+
} satisfies Meta<typeof LinearGradientColorBgAnimation>;
|
|
14
|
+
|
|
15
|
+
export default meta;
|
|
16
|
+
type Story = StoryObj<typeof meta>;
|
|
17
|
+
|
|
18
|
+
export const Default: Story = {
|
|
19
|
+
args: {
|
|
20
|
+
width: '976px',
|
|
21
|
+
height: '52px',
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const WithContent: Story = {
|
|
26
|
+
args: {
|
|
27
|
+
width: '100vw',
|
|
28
|
+
height: '400px',
|
|
29
|
+
},
|
|
30
|
+
render: (args) => (
|
|
31
|
+
<LinearGradientColorBgAnimation {...args}>
|
|
32
|
+
<div style={{
|
|
33
|
+
display: 'flex',
|
|
34
|
+
alignItems: 'center',
|
|
35
|
+
justifyContent: 'center',
|
|
36
|
+
height: '100%',
|
|
37
|
+
color: '#333',
|
|
38
|
+
}}>
|
|
39
|
+
<div style={{ textAlign: 'center' }}>
|
|
40
|
+
<h1 style={{ margin: '0 0 16px 0', fontSize: '48px' }}>Flowing Gradient</h1>
|
|
41
|
+
<p style={{ margin: 0, fontSize: '20px' }}>Natural animated background</p>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
</LinearGradientColorBgAnimation>
|
|
45
|
+
),
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
export const FixedSize: Story = {
|
|
49
|
+
args: {
|
|
50
|
+
width: '800px',
|
|
51
|
+
height: '300px',
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const TallSize: Story = {
|
|
56
|
+
args: {
|
|
57
|
+
width: '600px',
|
|
58
|
+
height: '600px',
|
|
59
|
+
},
|
|
60
|
+
};
|
|
@@ -1,102 +1,102 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
-
|
|
3
|
-
import { MemoizedMarkdown } from "../components/memoized-markdown";
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: "Example/Chat/MemoizedMarkdown",
|
|
7
|
-
component: MemoizedMarkdown,
|
|
8
|
-
tags: ["autodocs"],
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: "centered",
|
|
11
|
-
},
|
|
12
|
-
args: {
|
|
13
|
-
id: "story-demo",
|
|
14
|
-
},
|
|
15
|
-
} satisfies Meta<typeof MemoizedMarkdown>;
|
|
16
|
-
|
|
17
|
-
export default meta;
|
|
18
|
-
type Story = StoryObj<typeof meta>;
|
|
19
|
-
|
|
20
|
-
export const PlainText: Story = {
|
|
21
|
-
args: {
|
|
22
|
-
id: "plain-text",
|
|
23
|
-
content: "这是一段普通的文本内容,支持 **加粗** 和 *斜体* 等 Markdown 格式。",
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
export const CodeBlock: Story = {
|
|
28
|
-
args: {
|
|
29
|
-
id: "code-block",
|
|
30
|
-
content: `
|
|
31
|
-
\`\`\`typescript
|
|
32
|
-
interface User {
|
|
33
|
-
name: string;
|
|
34
|
-
age: number;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
function greet(user: User): string {
|
|
38
|
-
return \`Hello, \${user.name}!\`;
|
|
39
|
-
}
|
|
40
|
-
\`\`\`
|
|
41
|
-
`.trim(),
|
|
42
|
-
},
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export const WithTable: Story = {
|
|
46
|
-
args: {
|
|
47
|
-
id: "with-table",
|
|
48
|
-
content: `
|
|
49
|
-
| 字段名 | 类型 | 必填 | 说明 |
|
|
50
|
-
|--------|------|------|------|
|
|
51
|
-
| name | string | 是 | 用户名称 |
|
|
52
|
-
| age | number | 否 | 用户年龄 |
|
|
53
|
-
| email | string | 是 | 电子邮箱 |
|
|
54
|
-
`.trim(),
|
|
55
|
-
},
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
export const LongContent: Story = {
|
|
59
|
-
args: {
|
|
60
|
-
id: "long-content",
|
|
61
|
-
content: `
|
|
62
|
-
## 表单分析
|
|
63
|
-
|
|
64
|
-
根据供应商管理逻辑设计表单,先填写供应商基础信息(ID、名称、联系人等),再通过子表单填写关联的产品信息。
|
|
65
|
-
|
|
66
|
-
### 核心字段
|
|
67
|
-
|
|
68
|
-
- **供应商ID**:唯一标识,必填
|
|
69
|
-
- **供应商名称**:企业全称,必填
|
|
70
|
-
- **联系人**:主要对接人,必填
|
|
71
|
-
- **联系电话**:手机或座机,必填
|
|
72
|
-
|
|
73
|
-
### 产品信息(子表单)
|
|
74
|
-
|
|
75
|
-
| 字段名 | 类型 | 说明 |
|
|
76
|
-
|--------|------|------|
|
|
77
|
-
| 产品名称 | string | 产品名称 |
|
|
78
|
-
| 型号 | string | 产品型号 |
|
|
79
|
-
| 单价 | number | 单位价格 |
|
|
80
|
-
|
|
81
|
-
> 核心字段均设为必填确保信息完整。试试下面建议吧!
|
|
82
|
-
`.trim(),
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
|
|
86
|
-
export const JSONCodeBlock: Story = {
|
|
87
|
-
args: {
|
|
88
|
-
id: "json-block",
|
|
89
|
-
content: `
|
|
90
|
-
\`\`\`json
|
|
91
|
-
{
|
|
92
|
-
"formName": "供应商信息表",
|
|
93
|
-
"version": "1.0.0",
|
|
94
|
-
"fields": [
|
|
95
|
-
{ "name": "supplierId", "type": "string", "required": true },
|
|
96
|
-
{ "name": "supplierName", "type": "string", "required": true }
|
|
97
|
-
]
|
|
98
|
-
}
|
|
99
|
-
\`\`\`
|
|
100
|
-
`.trim(),
|
|
101
|
-
},
|
|
102
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
|
|
3
|
+
import { MemoizedMarkdown } from "../components/memoized-markdown";
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: "Example/Chat/MemoizedMarkdown",
|
|
7
|
+
component: MemoizedMarkdown,
|
|
8
|
+
tags: ["autodocs"],
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: "centered",
|
|
11
|
+
},
|
|
12
|
+
args: {
|
|
13
|
+
id: "story-demo",
|
|
14
|
+
},
|
|
15
|
+
} satisfies Meta<typeof MemoizedMarkdown>;
|
|
16
|
+
|
|
17
|
+
export default meta;
|
|
18
|
+
type Story = StoryObj<typeof meta>;
|
|
19
|
+
|
|
20
|
+
export const PlainText: Story = {
|
|
21
|
+
args: {
|
|
22
|
+
id: "plain-text",
|
|
23
|
+
content: "这是一段普通的文本内容,支持 **加粗** 和 *斜体* 等 Markdown 格式。",
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
export const CodeBlock: Story = {
|
|
28
|
+
args: {
|
|
29
|
+
id: "code-block",
|
|
30
|
+
content: `
|
|
31
|
+
\`\`\`typescript
|
|
32
|
+
interface User {
|
|
33
|
+
name: string;
|
|
34
|
+
age: number;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
function greet(user: User): string {
|
|
38
|
+
return \`Hello, \${user.name}!\`;
|
|
39
|
+
}
|
|
40
|
+
\`\`\`
|
|
41
|
+
`.trim(),
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export const WithTable: Story = {
|
|
46
|
+
args: {
|
|
47
|
+
id: "with-table",
|
|
48
|
+
content: `
|
|
49
|
+
| 字段名 | 类型 | 必填 | 说明 |
|
|
50
|
+
|--------|------|------|------|
|
|
51
|
+
| name | string | 是 | 用户名称 |
|
|
52
|
+
| age | number | 否 | 用户年龄 |
|
|
53
|
+
| email | string | 是 | 电子邮箱 |
|
|
54
|
+
`.trim(),
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export const LongContent: Story = {
|
|
59
|
+
args: {
|
|
60
|
+
id: "long-content",
|
|
61
|
+
content: `
|
|
62
|
+
## 表单分析
|
|
63
|
+
|
|
64
|
+
根据供应商管理逻辑设计表单,先填写供应商基础信息(ID、名称、联系人等),再通过子表单填写关联的产品信息。
|
|
65
|
+
|
|
66
|
+
### 核心字段
|
|
67
|
+
|
|
68
|
+
- **供应商ID**:唯一标识,必填
|
|
69
|
+
- **供应商名称**:企业全称,必填
|
|
70
|
+
- **联系人**:主要对接人,必填
|
|
71
|
+
- **联系电话**:手机或座机,必填
|
|
72
|
+
|
|
73
|
+
### 产品信息(子表单)
|
|
74
|
+
|
|
75
|
+
| 字段名 | 类型 | 说明 |
|
|
76
|
+
|--------|------|------|
|
|
77
|
+
| 产品名称 | string | 产品名称 |
|
|
78
|
+
| 型号 | string | 产品型号 |
|
|
79
|
+
| 单价 | number | 单位价格 |
|
|
80
|
+
|
|
81
|
+
> 核心字段均设为必填确保信息完整。试试下面建议吧!
|
|
82
|
+
`.trim(),
|
|
83
|
+
},
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
export const JSONCodeBlock: Story = {
|
|
87
|
+
args: {
|
|
88
|
+
id: "json-block",
|
|
89
|
+
content: `
|
|
90
|
+
\`\`\`json
|
|
91
|
+
{
|
|
92
|
+
"formName": "供应商信息表",
|
|
93
|
+
"version": "1.0.0",
|
|
94
|
+
"fields": [
|
|
95
|
+
{ "name": "supplierId", "type": "string", "required": true },
|
|
96
|
+
{ "name": "supplierName", "type": "string", "required": true }
|
|
97
|
+
]
|
|
98
|
+
}
|
|
99
|
+
\`\`\`
|
|
100
|
+
`.trim(),
|
|
101
|
+
},
|
|
102
|
+
};
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
-
|
|
3
|
-
import { MessageContent } from "../components/message-content";
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: "Example/Chat/MessageContent",
|
|
7
|
-
component: MessageContent,
|
|
8
|
-
tags: ["autodocs"],
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: "centered",
|
|
11
|
-
},
|
|
12
|
-
args: {},
|
|
13
|
-
} satisfies Meta<typeof MessageContent>;
|
|
14
|
-
|
|
15
|
-
export default meta;
|
|
16
|
-
type Story = StoryObj<typeof meta>;
|
|
17
|
-
|
|
18
|
-
export const Default: Story = {
|
|
19
|
-
args: {
|
|
20
|
-
children: "这是一条来自 AI 助手的消息内容",
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
export const WithLongContent: Story = {
|
|
25
|
-
args: {
|
|
26
|
-
children:
|
|
27
|
-
"这是一条比较长的消息内容,用于测试组件在长文本场景下的显示效果。AI 助手可能会返回较长的文本内容,需要确保排版正确。",
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export const WithCustomClassName: Story = {
|
|
32
|
-
args: {
|
|
33
|
-
children: "自定义样式的消息内容",
|
|
34
|
-
className: "bg-blue-50 px-3 py-2 rounded-lg",
|
|
35
|
-
},
|
|
36
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react-vite";
|
|
2
|
+
|
|
3
|
+
import { MessageContent } from "../components/message-content";
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: "Example/Chat/MessageContent",
|
|
7
|
+
component: MessageContent,
|
|
8
|
+
tags: ["autodocs"],
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: "centered",
|
|
11
|
+
},
|
|
12
|
+
args: {},
|
|
13
|
+
} satisfies Meta<typeof MessageContent>;
|
|
14
|
+
|
|
15
|
+
export default meta;
|
|
16
|
+
type Story = StoryObj<typeof meta>;
|
|
17
|
+
|
|
18
|
+
export const Default: Story = {
|
|
19
|
+
args: {
|
|
20
|
+
children: "这是一条来自 AI 助手的消息内容",
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export const WithLongContent: Story = {
|
|
25
|
+
args: {
|
|
26
|
+
children:
|
|
27
|
+
"这是一条比较长的消息内容,用于测试组件在长文本场景下的显示效果。AI 助手可能会返回较长的文本内容,需要确保排版正确。",
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const WithCustomClassName: Story = {
|
|
32
|
+
args: {
|
|
33
|
+
children: "自定义样式的消息内容",
|
|
34
|
+
className: "bg-blue-50 px-3 py-2 rounded-lg",
|
|
35
|
+
},
|
|
36
|
+
};
|
|
@@ -1,78 +1,78 @@
|
|
|
1
|
-
import { useState } from 'react';
|
|
2
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
3
|
-
import { MonthdaysSelect, MonthdaysOptions } from '../components/agent-helper/monthdays-select';
|
|
4
|
-
import type { repeatByMonthDetail } from '@baishuyun/types';
|
|
5
|
-
|
|
6
|
-
const meta: Meta<typeof MonthdaysSelect> = {
|
|
7
|
-
title: 'Agent Helper/MonthdaysSelect',
|
|
8
|
-
component: MonthdaysSelect,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: { layout: 'padded' },
|
|
11
|
-
decorators: [
|
|
12
|
-
(Story) => (
|
|
13
|
-
<div style={{ padding: 20, maxWidth: 400 }}>
|
|
14
|
-
<Story />
|
|
15
|
-
</div>
|
|
16
|
-
),
|
|
17
|
-
],
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export default meta;
|
|
21
|
-
type Story = StoryObj<typeof meta>;
|
|
22
|
-
|
|
23
|
-
export const Default: Story = {};
|
|
24
|
-
|
|
25
|
-
export const WithSpecificDays: Story = {
|
|
26
|
-
args: {
|
|
27
|
-
value: [1, 15, 28],
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export const WithLastDay: Story = {
|
|
32
|
-
args: {
|
|
33
|
-
value: ['last'],
|
|
34
|
-
},
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
export const WithMixedSelection: Story = {
|
|
38
|
-
args: {
|
|
39
|
-
value: [1, 5, 15, 20, 'last'],
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const AllDaysSelected: Story = {
|
|
44
|
-
args: {
|
|
45
|
-
value: MonthdaysOptions.map((o) => o.value),
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Disabled: Story = {
|
|
50
|
-
args: {
|
|
51
|
-
value: [1, 15],
|
|
52
|
-
disabled: true,
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const CustomPlaceholder: Story = {
|
|
57
|
-
args: {
|
|
58
|
-
placeholder: '选择每月重复的日期',
|
|
59
|
-
},
|
|
60
|
-
};
|
|
61
|
-
|
|
62
|
-
export const Interactive: Story = {
|
|
63
|
-
render: (args) => {
|
|
64
|
-
const [val, setVal] = useState<repeatByMonthDetail[]>([]);
|
|
65
|
-
|
|
66
|
-
return (
|
|
67
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
|
|
68
|
-
<MonthdaysSelect {...args} value={val} onChange={setVal} />
|
|
69
|
-
<div style={{ padding: 12, background: '#F5F7FA', borderRadius: 8, fontSize: 14 }}>
|
|
70
|
-
<strong>当前值:</strong>
|
|
71
|
-
<span style={{ marginLeft: 8 }}>
|
|
72
|
-
{val.length > 0 ? val.join(', ') : '(未选择)'}
|
|
73
|
-
</span>
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
);
|
|
77
|
-
},
|
|
78
|
-
};
|
|
1
|
+
import { useState } from 'react';
|
|
2
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
3
|
+
import { MonthdaysSelect, MonthdaysOptions } from '../components/agent-helper/monthdays-select';
|
|
4
|
+
import type { repeatByMonthDetail } from '@baishuyun/types';
|
|
5
|
+
|
|
6
|
+
const meta: Meta<typeof MonthdaysSelect> = {
|
|
7
|
+
title: 'Agent Helper/MonthdaysSelect',
|
|
8
|
+
component: MonthdaysSelect,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: { layout: 'padded' },
|
|
11
|
+
decorators: [
|
|
12
|
+
(Story) => (
|
|
13
|
+
<div style={{ padding: 20, maxWidth: 400 }}>
|
|
14
|
+
<Story />
|
|
15
|
+
</div>
|
|
16
|
+
),
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default meta;
|
|
21
|
+
type Story = StoryObj<typeof meta>;
|
|
22
|
+
|
|
23
|
+
export const Default: Story = {};
|
|
24
|
+
|
|
25
|
+
export const WithSpecificDays: Story = {
|
|
26
|
+
args: {
|
|
27
|
+
value: [1, 15, 28],
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const WithLastDay: Story = {
|
|
32
|
+
args: {
|
|
33
|
+
value: ['last'],
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
export const WithMixedSelection: Story = {
|
|
38
|
+
args: {
|
|
39
|
+
value: [1, 5, 15, 20, 'last'],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const AllDaysSelected: Story = {
|
|
44
|
+
args: {
|
|
45
|
+
value: MonthdaysOptions.map((o) => o.value),
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const Disabled: Story = {
|
|
50
|
+
args: {
|
|
51
|
+
value: [1, 15],
|
|
52
|
+
disabled: true,
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const CustomPlaceholder: Story = {
|
|
57
|
+
args: {
|
|
58
|
+
placeholder: '选择每月重复的日期',
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
export const Interactive: Story = {
|
|
63
|
+
render: (args) => {
|
|
64
|
+
const [val, setVal] = useState<repeatByMonthDetail[]>([]);
|
|
65
|
+
|
|
66
|
+
return (
|
|
67
|
+
<div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
|
|
68
|
+
<MonthdaysSelect {...args} value={val} onChange={setVal} />
|
|
69
|
+
<div style={{ padding: 12, background: '#F5F7FA', borderRadius: 8, fontSize: 14 }}>
|
|
70
|
+
<strong>当前值:</strong>
|
|
71
|
+
<span style={{ marginLeft: 8 }}>
|
|
72
|
+
{val.length > 0 ? val.join(', ') : '(未选择)'}
|
|
73
|
+
</span>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
},
|
|
78
|
+
};
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
import { NumbersMsgPart } from '../components/number-part';
|
|
4
|
-
|
|
5
|
-
const meta = {
|
|
6
|
-
title: 'Example/Chat/NumbersMsgPart',
|
|
7
|
-
component: NumbersMsgPart,
|
|
8
|
-
tags: ['autodocs'],
|
|
9
|
-
parameters: {
|
|
10
|
-
layout: 'centered',
|
|
11
|
-
},
|
|
12
|
-
args: {
|
|
13
|
-
fileName: '生产小工单.excel',
|
|
14
|
-
},
|
|
15
|
-
} satisfies Meta<typeof NumbersMsgPart>;
|
|
16
|
-
|
|
17
|
-
export default meta;
|
|
18
|
-
|
|
19
|
-
type Story = StoryObj<typeof meta>;
|
|
20
|
-
|
|
21
|
-
export const Default: Story = {
|
|
22
|
-
args: {},
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
export const Small: Story = {
|
|
26
|
-
args: {
|
|
27
|
-
size: 80,
|
|
28
|
-
fileName: undefined,
|
|
29
|
-
},
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
export const LongFileName: Story = {
|
|
33
|
-
args: {
|
|
34
|
-
fileName: '这是一个非常长的文件名需要截断显示.xlsx',
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const IconOnly: Story = {
|
|
39
|
-
args: {
|
|
40
|
-
fileName: undefined,
|
|
41
|
-
},
|
|
42
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
import { NumbersMsgPart } from '../components/number-part';
|
|
4
|
+
|
|
5
|
+
const meta = {
|
|
6
|
+
title: 'Example/Chat/NumbersMsgPart',
|
|
7
|
+
component: NumbersMsgPart,
|
|
8
|
+
tags: ['autodocs'],
|
|
9
|
+
parameters: {
|
|
10
|
+
layout: 'centered',
|
|
11
|
+
},
|
|
12
|
+
args: {
|
|
13
|
+
fileName: '生产小工单.excel',
|
|
14
|
+
},
|
|
15
|
+
} satisfies Meta<typeof NumbersMsgPart>;
|
|
16
|
+
|
|
17
|
+
export default meta;
|
|
18
|
+
|
|
19
|
+
type Story = StoryObj<typeof meta>;
|
|
20
|
+
|
|
21
|
+
export const Default: Story = {
|
|
22
|
+
args: {},
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const Small: Story = {
|
|
26
|
+
args: {
|
|
27
|
+
size: 80,
|
|
28
|
+
fileName: undefined,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const LongFileName: Story = {
|
|
33
|
+
args: {
|
|
34
|
+
fileName: '这是一个非常长的文件名需要截断显示.xlsx',
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export const IconOnly: Story = {
|
|
39
|
+
args: {
|
|
40
|
+
fileName: undefined,
|
|
41
|
+
},
|
|
42
|
+
};
|