@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,96 +1,96 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
|
|
4
|
-
import { SquareChecker } from '../components/square-checker';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'Example/Chat/SquareChecker',
|
|
8
|
-
component: SquareChecker,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: 'centered',
|
|
12
|
-
},
|
|
13
|
-
args: {},
|
|
14
|
-
} satisfies Meta<typeof SquareChecker>;
|
|
15
|
-
|
|
16
|
-
export default meta;
|
|
17
|
-
type Story = StoryObj<typeof meta>;
|
|
18
|
-
|
|
19
|
-
export const Default: Story = {
|
|
20
|
-
args: {},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
export const WithLabel: Story = {
|
|
24
|
-
args: {
|
|
25
|
-
children: 'Option label',
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const Checked: Story = {
|
|
30
|
-
args: {
|
|
31
|
-
defaultChecked: true,
|
|
32
|
-
children: 'Checked',
|
|
33
|
-
},
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
export const Unchecked: Story = {
|
|
37
|
-
args: {
|
|
38
|
-
defaultChecked: false,
|
|
39
|
-
children: 'Unchecked',
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
|
|
43
|
-
export const WithoutLabel: Story = {
|
|
44
|
-
args: {
|
|
45
|
-
defaultChecked: true,
|
|
46
|
-
},
|
|
47
|
-
};
|
|
48
|
-
|
|
49
|
-
export const Disabled: Story = {
|
|
50
|
-
args: {
|
|
51
|
-
disabled: true,
|
|
52
|
-
children: 'Disabled',
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export const DisabledChecked: Story = {
|
|
57
|
-
args: {
|
|
58
|
-
disabled: true,
|
|
59
|
-
defaultChecked: true,
|
|
60
|
-
children: 'Disabled Checked',
|
|
61
|
-
},
|
|
62
|
-
};
|
|
63
|
-
|
|
64
|
-
const ControlledComponent = () => {
|
|
65
|
-
const [checked, setChecked] = useState(false);
|
|
66
|
-
return (
|
|
67
|
-
<div className="flex flex-col gap-4">
|
|
68
|
-
<SquareChecker checked={checked} onCheckedChange={(value) => setChecked(value === true)}>
|
|
69
|
-
Controlled: {checked ? 'Checked' : 'Unchecked'}
|
|
70
|
-
</SquareChecker>
|
|
71
|
-
<button
|
|
72
|
-
className="px-3 py-1 bg-gray-200 rounded text-sm"
|
|
73
|
-
onClick={() => setChecked((v) => !v)}
|
|
74
|
-
>
|
|
75
|
-
Toggle from outside
|
|
76
|
-
</button>
|
|
77
|
-
</div>
|
|
78
|
-
);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
export const Controlled: Story = {
|
|
82
|
-
render: () => <ControlledComponent />,
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const AllStates: Story = {
|
|
86
|
-
render: () => (
|
|
87
|
-
<div className="flex flex-col gap-4 p-4">
|
|
88
|
-
<SquareChecker>Normal</SquareChecker>
|
|
89
|
-
<SquareChecker defaultChecked>Checked</SquareChecker>
|
|
90
|
-
<SquareChecker disabled>Disabled</SquareChecker>
|
|
91
|
-
<SquareChecker disabled defaultChecked>
|
|
92
|
-
Disabled Checked
|
|
93
|
-
</SquareChecker>
|
|
94
|
-
</div>
|
|
95
|
-
),
|
|
96
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
|
|
4
|
+
import { SquareChecker } from '../components/square-checker';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'Example/Chat/SquareChecker',
|
|
8
|
+
component: SquareChecker,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: 'centered',
|
|
12
|
+
},
|
|
13
|
+
args: {},
|
|
14
|
+
} satisfies Meta<typeof SquareChecker>;
|
|
15
|
+
|
|
16
|
+
export default meta;
|
|
17
|
+
type Story = StoryObj<typeof meta>;
|
|
18
|
+
|
|
19
|
+
export const Default: Story = {
|
|
20
|
+
args: {},
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
export const WithLabel: Story = {
|
|
24
|
+
args: {
|
|
25
|
+
children: 'Option label',
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const Checked: Story = {
|
|
30
|
+
args: {
|
|
31
|
+
defaultChecked: true,
|
|
32
|
+
children: 'Checked',
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export const Unchecked: Story = {
|
|
37
|
+
args: {
|
|
38
|
+
defaultChecked: false,
|
|
39
|
+
children: 'Unchecked',
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export const WithoutLabel: Story = {
|
|
44
|
+
args: {
|
|
45
|
+
defaultChecked: true,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export const Disabled: Story = {
|
|
50
|
+
args: {
|
|
51
|
+
disabled: true,
|
|
52
|
+
children: 'Disabled',
|
|
53
|
+
},
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
export const DisabledChecked: Story = {
|
|
57
|
+
args: {
|
|
58
|
+
disabled: true,
|
|
59
|
+
defaultChecked: true,
|
|
60
|
+
children: 'Disabled Checked',
|
|
61
|
+
},
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
const ControlledComponent = () => {
|
|
65
|
+
const [checked, setChecked] = useState(false);
|
|
66
|
+
return (
|
|
67
|
+
<div className="flex flex-col gap-4">
|
|
68
|
+
<SquareChecker checked={checked} onCheckedChange={(value) => setChecked(value === true)}>
|
|
69
|
+
Controlled: {checked ? 'Checked' : 'Unchecked'}
|
|
70
|
+
</SquareChecker>
|
|
71
|
+
<button
|
|
72
|
+
className="px-3 py-1 bg-gray-200 rounded text-sm"
|
|
73
|
+
onClick={() => setChecked((v) => !v)}
|
|
74
|
+
>
|
|
75
|
+
Toggle from outside
|
|
76
|
+
</button>
|
|
77
|
+
</div>
|
|
78
|
+
);
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
export const Controlled: Story = {
|
|
82
|
+
render: () => <ControlledComponent />,
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const AllStates: Story = {
|
|
86
|
+
render: () => (
|
|
87
|
+
<div className="flex flex-col gap-4 p-4">
|
|
88
|
+
<SquareChecker>Normal</SquareChecker>
|
|
89
|
+
<SquareChecker defaultChecked>Checked</SquareChecker>
|
|
90
|
+
<SquareChecker disabled>Disabled</SquareChecker>
|
|
91
|
+
<SquareChecker disabled defaultChecked>
|
|
92
|
+
Disabled Checked
|
|
93
|
+
</SquareChecker>
|
|
94
|
+
</div>
|
|
95
|
+
),
|
|
96
|
+
};
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
|
|
4
|
-
import { TabRadioGroup } from '../components/tab-radio-group';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'Example/Chat/TabRadioGroup',
|
|
8
|
-
component: TabRadioGroup,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: {
|
|
11
|
-
layout: 'centered',
|
|
12
|
-
},
|
|
13
|
-
args: {},
|
|
14
|
-
} satisfies Meta<typeof TabRadioGroup>;
|
|
15
|
-
|
|
16
|
-
export default meta;
|
|
17
|
-
type Story = StoryObj<typeof meta>;
|
|
18
|
-
|
|
19
|
-
export const Default: Story = {
|
|
20
|
-
args: {
|
|
21
|
-
options: [
|
|
22
|
-
{ value: 'smart', label: '智能' },
|
|
23
|
-
{ value: 'normal', label: '普通' },
|
|
24
|
-
],
|
|
25
|
-
defaultValue: 'smart',
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
|
|
29
|
-
export const NormalSelected: Story = {
|
|
30
|
-
args: {
|
|
31
|
-
options: [
|
|
32
|
-
{ value: 'smart', label: '智能填写' },
|
|
33
|
-
{ value: 'normal', label: '普通填写' },
|
|
34
|
-
],
|
|
35
|
-
defaultValue: 'normal',
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
|
|
39
|
-
export const ThreeOptions: Story = {
|
|
40
|
-
args: {
|
|
41
|
-
options: [
|
|
42
|
-
{ value: 'option1', label: '选项一' },
|
|
43
|
-
{ value: 'option2', label: '选项二' },
|
|
44
|
-
{ value: 'option3', label: '选项三' },
|
|
45
|
-
],
|
|
46
|
-
defaultValue: 'option1',
|
|
47
|
-
},
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
export const WithCustomWidth: Story = {
|
|
51
|
-
args: {
|
|
52
|
-
options: [
|
|
53
|
-
{ value: 'smart', label: '✨智能填写' },
|
|
54
|
-
{ value: 'normal', label: '普通填写' },
|
|
55
|
-
],
|
|
56
|
-
defaultValue: 'smart',
|
|
57
|
-
className: 'w-[300px]',
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
|
|
61
|
-
const ControlledTemplate = () => {
|
|
62
|
-
const [value, setValue] = useState('smart');
|
|
63
|
-
|
|
64
|
-
return (
|
|
65
|
-
<div className="flex flex-col gap-4 items-center">
|
|
66
|
-
<TabRadioGroup
|
|
67
|
-
options={[
|
|
68
|
-
{ value: 'smart', label: '智能' },
|
|
69
|
-
{ value: 'normal', label: '普通' },
|
|
70
|
-
]}
|
|
71
|
-
value={value}
|
|
72
|
-
onValueChange={setValue}
|
|
73
|
-
/>
|
|
74
|
-
<p className="text-sm text-gray-500">当前选中: {value}</p>
|
|
75
|
-
</div>
|
|
76
|
-
);
|
|
77
|
-
};
|
|
78
|
-
|
|
79
|
-
export const Controlled: Story = {
|
|
80
|
-
render: () => <ControlledTemplate />,
|
|
81
|
-
args: {
|
|
82
|
-
options: [],
|
|
83
|
-
},
|
|
84
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
|
|
4
|
+
import { TabRadioGroup } from '../components/tab-radio-group';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'Example/Chat/TabRadioGroup',
|
|
8
|
+
component: TabRadioGroup,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: {
|
|
11
|
+
layout: 'centered',
|
|
12
|
+
},
|
|
13
|
+
args: {},
|
|
14
|
+
} satisfies Meta<typeof TabRadioGroup>;
|
|
15
|
+
|
|
16
|
+
export default meta;
|
|
17
|
+
type Story = StoryObj<typeof meta>;
|
|
18
|
+
|
|
19
|
+
export const Default: Story = {
|
|
20
|
+
args: {
|
|
21
|
+
options: [
|
|
22
|
+
{ value: 'smart', label: '智能' },
|
|
23
|
+
{ value: 'normal', label: '普通' },
|
|
24
|
+
],
|
|
25
|
+
defaultValue: 'smart',
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
export const NormalSelected: Story = {
|
|
30
|
+
args: {
|
|
31
|
+
options: [
|
|
32
|
+
{ value: 'smart', label: '智能填写' },
|
|
33
|
+
{ value: 'normal', label: '普通填写' },
|
|
34
|
+
],
|
|
35
|
+
defaultValue: 'normal',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export const ThreeOptions: Story = {
|
|
40
|
+
args: {
|
|
41
|
+
options: [
|
|
42
|
+
{ value: 'option1', label: '选项一' },
|
|
43
|
+
{ value: 'option2', label: '选项二' },
|
|
44
|
+
{ value: 'option3', label: '选项三' },
|
|
45
|
+
],
|
|
46
|
+
defaultValue: 'option1',
|
|
47
|
+
},
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const WithCustomWidth: Story = {
|
|
51
|
+
args: {
|
|
52
|
+
options: [
|
|
53
|
+
{ value: 'smart', label: '✨智能填写' },
|
|
54
|
+
{ value: 'normal', label: '普通填写' },
|
|
55
|
+
],
|
|
56
|
+
defaultValue: 'smart',
|
|
57
|
+
className: 'w-[300px]',
|
|
58
|
+
},
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
const ControlledTemplate = () => {
|
|
62
|
+
const [value, setValue] = useState('smart');
|
|
63
|
+
|
|
64
|
+
return (
|
|
65
|
+
<div className="flex flex-col gap-4 items-center">
|
|
66
|
+
<TabRadioGroup
|
|
67
|
+
options={[
|
|
68
|
+
{ value: 'smart', label: '智能' },
|
|
69
|
+
{ value: 'normal', label: '普通' },
|
|
70
|
+
]}
|
|
71
|
+
value={value}
|
|
72
|
+
onValueChange={setValue}
|
|
73
|
+
/>
|
|
74
|
+
<p className="text-sm text-gray-500">当前选中: {value}</p>
|
|
75
|
+
</div>
|
|
76
|
+
);
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export const Controlled: Story = {
|
|
80
|
+
render: () => <ControlledTemplate />,
|
|
81
|
+
args: {
|
|
82
|
+
options: [],
|
|
83
|
+
},
|
|
84
|
+
};
|
|
@@ -1,67 +1,67 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
|
|
3
|
-
import { Textarea } from '../components/ui/textarea';
|
|
4
|
-
import { Label } from '../components/ui/label';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'AI Office/Textarea',
|
|
8
|
-
component: Textarea,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: { layout: 'centered' },
|
|
11
|
-
args: {},
|
|
12
|
-
} satisfies Meta<typeof Textarea>;
|
|
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 WithLabel: Story = {
|
|
43
|
-
args: {
|
|
44
|
-
id: 'textarea-demo',
|
|
45
|
-
placeholder: '请输入内容',
|
|
46
|
-
},
|
|
47
|
-
render: (args) => (
|
|
48
|
-
<div className="flex flex-col gap-[6px] w-[400px]">
|
|
49
|
-
<Label htmlFor={args.id}>提示词配置</Label>
|
|
50
|
-
<Textarea {...args} />
|
|
51
|
-
</div>
|
|
52
|
-
),
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
export const DisabledWithLabel: Story = {
|
|
56
|
-
args: {
|
|
57
|
-
id: 'textarea-disabled',
|
|
58
|
-
defaultValue: '这是不可编辑的文本内容',
|
|
59
|
-
disabled: true,
|
|
60
|
-
},
|
|
61
|
-
render: (args) => (
|
|
62
|
-
<div className="flex flex-col gap-[6px] w-[400px]">
|
|
63
|
-
<Label htmlFor={args.id}>提示词配置</Label>
|
|
64
|
-
<Textarea {...args} />
|
|
65
|
-
</div>
|
|
66
|
-
),
|
|
67
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
|
|
3
|
+
import { Textarea } from '../components/ui/textarea';
|
|
4
|
+
import { Label } from '../components/ui/label';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'AI Office/Textarea',
|
|
8
|
+
component: Textarea,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: { layout: 'centered' },
|
|
11
|
+
args: {},
|
|
12
|
+
} satisfies Meta<typeof Textarea>;
|
|
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 WithLabel: Story = {
|
|
43
|
+
args: {
|
|
44
|
+
id: 'textarea-demo',
|
|
45
|
+
placeholder: '请输入内容',
|
|
46
|
+
},
|
|
47
|
+
render: (args) => (
|
|
48
|
+
<div className="flex flex-col gap-[6px] w-[400px]">
|
|
49
|
+
<Label htmlFor={args.id}>提示词配置</Label>
|
|
50
|
+
<Textarea {...args} />
|
|
51
|
+
</div>
|
|
52
|
+
),
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export const DisabledWithLabel: Story = {
|
|
56
|
+
args: {
|
|
57
|
+
id: 'textarea-disabled',
|
|
58
|
+
defaultValue: '这是不可编辑的文本内容',
|
|
59
|
+
disabled: true,
|
|
60
|
+
},
|
|
61
|
+
render: (args) => (
|
|
62
|
+
<div className="flex flex-col gap-[6px] w-[400px]">
|
|
63
|
+
<Label htmlFor={args.id}>提示词配置</Label>
|
|
64
|
+
<Textarea {...args} />
|
|
65
|
+
</div>
|
|
66
|
+
),
|
|
67
|
+
};
|
|
@@ -1,48 +1,48 @@
|
|
|
1
|
-
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
-
import { useState } from 'react';
|
|
3
|
-
|
|
4
|
-
import { TriggerSelect } from '../components/agent-helper/trigger-select';
|
|
5
|
-
|
|
6
|
-
const meta = {
|
|
7
|
-
title: 'Agent Helper/TriggerSelect',
|
|
8
|
-
component: TriggerSelect,
|
|
9
|
-
tags: ['autodocs'],
|
|
10
|
-
parameters: { layout: 'padded' },
|
|
11
|
-
args: {},
|
|
12
|
-
} satisfies Meta<typeof TriggerSelect>;
|
|
13
|
-
|
|
14
|
-
export default meta;
|
|
15
|
-
type Story = StoryObj<typeof meta>;
|
|
16
|
-
|
|
17
|
-
export const Default: Story = {
|
|
18
|
-
args: {},
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
export const WithSelection: Story = {
|
|
22
|
-
args: {
|
|
23
|
-
value: 'universal',
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
|
|
27
|
-
const InteractiveComponent = () => {
|
|
28
|
-
const [value, setValue] = useState<string | undefined>();
|
|
29
|
-
|
|
30
|
-
return (
|
|
31
|
-
<div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
|
|
32
|
-
<TriggerSelect
|
|
33
|
-
value={value as any}
|
|
34
|
-
onChange={(v) => setValue(v)}
|
|
35
|
-
/>
|
|
36
|
-
{value && (
|
|
37
|
-
<p style={{ fontSize: 14, color: '#666' }}>
|
|
38
|
-
当前选中: {value}
|
|
39
|
-
</p>
|
|
40
|
-
)}
|
|
41
|
-
</div>
|
|
42
|
-
);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export const Interactive: Story = {
|
|
46
|
-
args: {} as any,
|
|
47
|
-
render: () => <InteractiveComponent />,
|
|
48
|
-
};
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react-vite';
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
|
|
4
|
+
import { TriggerSelect } from '../components/agent-helper/trigger-select';
|
|
5
|
+
|
|
6
|
+
const meta = {
|
|
7
|
+
title: 'Agent Helper/TriggerSelect',
|
|
8
|
+
component: TriggerSelect,
|
|
9
|
+
tags: ['autodocs'],
|
|
10
|
+
parameters: { layout: 'padded' },
|
|
11
|
+
args: {},
|
|
12
|
+
} satisfies Meta<typeof TriggerSelect>;
|
|
13
|
+
|
|
14
|
+
export default meta;
|
|
15
|
+
type Story = StoryObj<typeof meta>;
|
|
16
|
+
|
|
17
|
+
export const Default: Story = {
|
|
18
|
+
args: {},
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export const WithSelection: Story = {
|
|
22
|
+
args: {
|
|
23
|
+
value: 'universal',
|
|
24
|
+
},
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const InteractiveComponent = () => {
|
|
28
|
+
const [value, setValue] = useState<string | undefined>();
|
|
29
|
+
|
|
30
|
+
return (
|
|
31
|
+
<div style={{ display: 'flex', flexDirection: 'column', gap: 16 }}>
|
|
32
|
+
<TriggerSelect
|
|
33
|
+
value={value as any}
|
|
34
|
+
onChange={(v) => setValue(v)}
|
|
35
|
+
/>
|
|
36
|
+
{value && (
|
|
37
|
+
<p style={{ fontSize: 14, color: '#666' }}>
|
|
38
|
+
当前选中: {value}
|
|
39
|
+
</p>
|
|
40
|
+
)}
|
|
41
|
+
</div>
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export const Interactive: Story = {
|
|
46
|
+
args: {} as any,
|
|
47
|
+
render: () => <InteractiveComponent />,
|
|
48
|
+
};
|