@pega/cosmos-react-demos 7.0.6 → 7.0.7
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/jsx/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/jsx/core/Checkbox/Checkbox.stories.jsx +6 -2
- package/jsx/core/Checkbox/Checkbox.stories.jsx.map +1 -1
- package/jsx/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
- package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx +10 -6
- package/jsx/core/CheckboxGroup/CheckboxGroup.stories.jsx.map +1 -1
- package/jsx/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
- package/jsx/core/ComboBox/ComboBox.stories.jsx +27 -0
- package/jsx/core/ComboBox/ComboBox.stories.jsx.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.d.ts +4 -1
- package/jsx/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/jsx/core/DateTime/DateTime.stories.jsx +8 -7
- package/jsx/core/DateTime/DateTime.stories.jsx.map +1 -1
- package/jsx/core/File/FileDisplay.stories.d.ts +3 -0
- package/jsx/core/File/FileDisplay.stories.d.ts.map +1 -1
- package/jsx/core/File/FileDisplay.stories.jsx +4 -1
- package/jsx/core/File/FileDisplay.stories.jsx.map +1 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.jsx +1 -1
- package/jsx/core/ListToolbar/ListToolbar.stories.jsx.map +1 -1
- package/jsx/core/LiveLog/LiveLog.stories.d.ts +1 -4
- package/jsx/core/LiveLog/LiveLog.stories.d.ts.map +1 -1
- package/jsx/core/LiveLog/LiveLog.stories.jsx +0 -6
- package/jsx/core/LiveLog/LiveLog.stories.jsx.map +1 -1
- package/jsx/core/Menu/Menu.stories.d.ts.map +1 -1
- package/jsx/core/Menu/Menu.stories.jsx +12 -1
- package/jsx/core/Menu/Menu.stories.jsx.map +1 -1
- package/jsx/core/Modal/Modal.stories.d.ts.map +1 -1
- package/jsx/core/Modal/Modal.stories.jsx +22 -3
- package/jsx/core/Modal/Modal.stories.jsx.map +1 -1
- package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx +2 -2
- package/jsx/core/MultiStepForm/MultiStepForm.stories.jsx.map +1 -1
- package/jsx/core/Progress/Progress.stories.d.ts.map +1 -1
- package/jsx/core/Progress/Progress.stories.jsx +26 -26
- package/jsx/core/Progress/Progress.stories.jsx.map +1 -1
- package/jsx/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
- package/jsx/core/RadioButton/RadioButton.stories.jsx +6 -2
- package/jsx/core/RadioButton/RadioButton.stories.jsx.map +1 -1
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx +10 -6
- package/jsx/core/RadioButtonGroup/RadioButtonGroup.stories.jsx.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx +19 -19
- package/jsx/rte/RichTextEditor/RichTextEditor.stories.jsx.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx +8 -4
- package/jsx/rte/RichTextEditor/RichTextViewer.stories.jsx.map +1 -1
- package/lib/core/Checkbox/Checkbox.stories.d.ts.map +1 -1
- package/lib/core/Checkbox/Checkbox.stories.js +6 -2
- package/lib/core/Checkbox/Checkbox.stories.js.map +1 -1
- package/lib/core/CheckboxGroup/CheckboxGroup.stories.d.ts.map +1 -1
- package/lib/core/CheckboxGroup/CheckboxGroup.stories.js +10 -6
- package/lib/core/CheckboxGroup/CheckboxGroup.stories.js.map +1 -1
- package/lib/core/ComboBox/ComboBox.stories.d.ts.map +1 -1
- package/lib/core/ComboBox/ComboBox.stories.js +27 -0
- package/lib/core/ComboBox/ComboBox.stories.js.map +1 -1
- package/lib/core/DateTime/DateTime.stories.d.ts +4 -1
- package/lib/core/DateTime/DateTime.stories.d.ts.map +1 -1
- package/lib/core/DateTime/DateTime.stories.js +8 -7
- package/lib/core/DateTime/DateTime.stories.js.map +1 -1
- package/lib/core/File/FileDisplay.stories.d.ts +3 -0
- package/lib/core/File/FileDisplay.stories.d.ts.map +1 -1
- package/lib/core/File/FileDisplay.stories.js +4 -1
- package/lib/core/File/FileDisplay.stories.js.map +1 -1
- package/lib/core/ListToolbar/ListToolbar.stories.js +1 -1
- package/lib/core/ListToolbar/ListToolbar.stories.js.map +1 -1
- package/lib/core/LiveLog/LiveLog.stories.d.ts +1 -4
- package/lib/core/LiveLog/LiveLog.stories.d.ts.map +1 -1
- package/lib/core/LiveLog/LiveLog.stories.js +0 -6
- package/lib/core/LiveLog/LiveLog.stories.js.map +1 -1
- package/lib/core/Menu/Menu.stories.d.ts.map +1 -1
- package/lib/core/Menu/Menu.stories.js +12 -1
- package/lib/core/Menu/Menu.stories.js.map +1 -1
- package/lib/core/Modal/Modal.stories.d.ts.map +1 -1
- package/lib/core/Modal/Modal.stories.js +22 -3
- package/lib/core/Modal/Modal.stories.js.map +1 -1
- package/lib/core/MultiStepForm/MultiStepForm.stories.js +2 -2
- package/lib/core/MultiStepForm/MultiStepForm.stories.js.map +1 -1
- package/lib/core/Progress/Progress.stories.d.ts.map +1 -1
- package/lib/core/Progress/Progress.stories.js +26 -26
- package/lib/core/Progress/Progress.stories.js.map +1 -1
- package/lib/core/RadioButton/RadioButton.stories.d.ts.map +1 -1
- package/lib/core/RadioButton/RadioButton.stories.js +6 -2
- package/lib/core/RadioButton/RadioButton.stories.js.map +1 -1
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.d.ts.map +1 -1
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js +10 -6
- package/lib/core/RadioButtonGroup/RadioButtonGroup.stories.js.map +1 -1
- package/lib/rte/RichTextEditor/RichTextEditor.stories.d.ts.map +1 -1
- package/lib/rte/RichTextEditor/RichTextEditor.stories.js +19 -19
- package/lib/rte/RichTextEditor/RichTextEditor.stories.js.map +1 -1
- package/lib/rte/RichTextEditor/RichTextViewer.stories.d.ts.map +1 -1
- package/lib/rte/RichTextEditor/RichTextViewer.stories.js +8 -4
- package/lib/rte/RichTextEditor/RichTextViewer.stories.js.map +1 -1
- package/package.json +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;;AAE/D,
|
|
1
|
+
{"version":3,"file":"Checkbox.stories.d.ts","sourceRoot":"","sources":["../../../src/core/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;;AAE/D,wBAsBU;AAEV,UAAU,kBAAmB,SAAQ,eAAe;IAClD,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,eAAO,MAAM,eAAe,EAAE,OAAO,CAAC,kBAAkB,CAmBvD,CAAC;AAUF,eAAO,MAAM,YAAY,EAAE,OAAO,CAAC,kBAAkB,CAmBpD,CAAC;AAEF,UAAU,yBAA0B,SAAQ,IAAI,CAAC,eAAe,EAAE,MAAM,CAAC;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,oBAAoB,EAAE,OAAO,CAAC,yBAAyB,CAuCnE,CAAC"}
|
|
@@ -5,7 +5,6 @@ export default {
|
|
|
5
5
|
excludeStories: ['ConfigurableCheckbox'],
|
|
6
6
|
args: {
|
|
7
7
|
status: undefined,
|
|
8
|
-
info: 'You must check this',
|
|
9
8
|
label: 'Check me, please',
|
|
10
9
|
required: false,
|
|
11
10
|
disabled: false,
|
|
@@ -15,7 +14,6 @@ export default {
|
|
|
15
14
|
},
|
|
16
15
|
argTypes: {
|
|
17
16
|
status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
|
|
18
|
-
info: { control: { type: 'text', label: 'Helper text' } },
|
|
19
17
|
label: { control: { type: 'text' } },
|
|
20
18
|
required: { control: { type: 'boolean' } },
|
|
21
19
|
disabled: { control: { type: 'boolean' } },
|
|
@@ -31,6 +29,12 @@ export const DefaultCheckbox = (args) => {
|
|
|
31
29
|
}
|
|
32
30
|
: undefined} info={args.info} status={args.status} label={args.label} required={args.required} disabled={args.disabled} readOnly={args.readOnly} indeterminate={args.indeterminate}/>);
|
|
33
31
|
};
|
|
32
|
+
DefaultCheckbox.args = {
|
|
33
|
+
info: 'You must check this'
|
|
34
|
+
};
|
|
35
|
+
DefaultCheckbox.argTypes = {
|
|
36
|
+
info: { control: { type: 'text', label: 'Helper text' } }
|
|
37
|
+
};
|
|
34
38
|
export const CheckboxCard = (args) => {
|
|
35
39
|
return (<Checkbox additionalInfo={args.showAdditionalInfo
|
|
36
40
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.stories.jsx","sourceRoot":"","sources":["../../../src/core/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAGlE,eAAe;IACb,KAAK,EAAE,eAAe;IACtB,SAAS,EAAE,QAAQ;IACnB,cAAc,EAAE,CAAC,sBAAsB,CAAC;IACxC,IAAI,EAAE;QACJ,MAAM,EAAE,SAAS;QACjB,
|
|
1
|
+
{"version":3,"file":"Checkbox.stories.jsx","sourceRoot":"","sources":["../../../src/core/Checkbox/Checkbox.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport { Checkbox, ThemeOverride } from '@pega/cosmos-react-core';\nimport type { RadioCheckProps } from '@pega/cosmos-react-core';\n\nexport default {\n title: 'Core/Checkbox',\n component: Checkbox,\n excludeStories: ['ConfigurableCheckbox'],\n args: {\n status: undefined,\n label: 'Check me, please',\n required: false,\n disabled: false,\n readOnly: false,\n indeterminate: false,\n showAdditionalInfo: false\n },\n argTypes: {\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n label: { control: { type: 'text' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n indeterminate: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface CheckboxStoryProps extends RadioCheckProps {\n showAdditionalInfo: boolean;\n}\n\nexport const DefaultCheckbox: StoryFn<CheckboxStoryProps> = (args: CheckboxStoryProps) => {\n return (\n <Checkbox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n info={args.info}\n status={args.status}\n label={args.label}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n indeterminate={args.indeterminate}\n />\n );\n};\n\nDefaultCheckbox.args = {\n info: 'You must check this'\n};\n\nDefaultCheckbox.argTypes = {\n info: { control: { type: 'text', label: 'Helper text' } }\n};\n\nexport const CheckboxCard: StoryFn<CheckboxStoryProps> = (args: CheckboxStoryProps) => {\n return (\n <Checkbox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n status={args.status}\n label={args.label}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n indeterminate={args.indeterminate}\n />\n );\n};\n\ninterface ConfigurableCheckboxProps extends Omit<RadioCheckProps, 'size'> {\n size?: string;\n backgroundColor?: string;\n borderColor?: string;\n borderWidth?: string;\n borderRadius?: string;\n labelColor?: string;\n labelFontWeight?: string;\n checkedBackgroundColor?: string;\n checkedBorderColor?: string;\n showAdditionalInfo?: boolean;\n}\n\nexport const ConfigurableCheckbox: StoryFn<ConfigurableCheckboxProps> = (\n args: ConfigurableCheckboxProps\n) => {\n return (\n <ThemeOverride\n theme={{\n components: {\n checkbox: {\n 'border-radius': args.borderRadius\n },\n 'radio-check': {\n 'border-color': args.borderColor,\n 'border-width': args.borderWidth,\n 'background-color': args.backgroundColor,\n label: {\n color: args.labelColor,\n 'font-weight': args.labelFontWeight\n },\n size: args.size,\n ':checked': {\n 'background-color': args.checkedBackgroundColor,\n 'border-color': args.checkedBorderColor\n }\n }\n }\n }}\n >\n <Checkbox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label='Configurable Checkbox'\n />\n </ThemeOverride>\n );\n};\n\nConfigurableCheckbox.args = {\n size: '1.25rem',\n backgroundColor: '#ffffff',\n borderColor: '#939393',\n borderWidth: '0.0625rem',\n borderRadius: '0.5',\n labelColor: '#939393',\n labelFontWeight: '400',\n checkedBackgroundColor: '#076bc9',\n checkedBorderColor: '#076bc9',\n showAdditionalInfo: false\n};\n\nConfigurableCheckbox.argTypes = {\n size: { control: { type: 'text' } },\n backgroundColor: { control: { type: 'color' } },\n borderColor: { control: { type: 'color' } },\n borderWidth: { control: { type: 'text' } },\n borderRadius: { control: { type: 'text' } },\n labelColor: { control: { type: 'color' } },\n labelFontWeight: { control: { type: 'text' } },\n checkedBackgroundColor: { control: { type: 'color' } },\n checkedBorderColor: { control: { type: 'color' } },\n status: { table: { disable: true } },\n label: { table: { disable: true } },\n required: { table: { disable: true } },\n disabled: { table: { disable: true } },\n readOnly: { table: { disable: true } },\n indeterminate: { table: { disable: true } },\n showAdditionalInfo: { control: { type: 'boolean' } }\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/core/CheckboxGroup/CheckboxGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAUtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;;AAIhF,
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.stories.d.ts","sourceRoot":"","sources":["../../../src/core/CheckboxGroup/CheckboxGroup.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAUtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;;AAIhF,wBAuBU;AAEV,UAAU,yBAA0B,SAAQ,oBAAoB;IAC9D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,UAAU,CAAC,CA6ExF,CAAC;AAYF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,yBAAyB,EAAE,UAAU,CAAC,CAqFxF,CAAC"}
|
|
@@ -11,9 +11,7 @@ export default {
|
|
|
11
11
|
disabled: false,
|
|
12
12
|
readOnly: false,
|
|
13
13
|
showAdditionalInfo: false,
|
|
14
|
-
showNestedAdditionalInfo: false
|
|
15
|
-
status: undefined,
|
|
16
|
-
info: 'You must select it'
|
|
14
|
+
showNestedAdditionalInfo: false
|
|
17
15
|
},
|
|
18
16
|
argTypes: {
|
|
19
17
|
label: { control: { type: 'text' } },
|
|
@@ -23,9 +21,7 @@ export default {
|
|
|
23
21
|
disabled: { control: { type: 'boolean' } },
|
|
24
22
|
readOnly: { control: { type: 'boolean' } },
|
|
25
23
|
showAdditionalInfo: { control: { type: 'boolean' } },
|
|
26
|
-
showNestedAdditionalInfo: { control: { type: 'boolean' } }
|
|
27
|
-
status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
|
|
28
|
-
info: { control: { type: 'text', label: 'Helper text' } }
|
|
24
|
+
showNestedAdditionalInfo: { control: { type: 'boolean' } }
|
|
29
25
|
}
|
|
30
26
|
};
|
|
31
27
|
export const CheckboxGroupDemo = (args) => {
|
|
@@ -57,6 +53,14 @@ export const CheckboxGroupDemo = (args) => {
|
|
|
57
53
|
<Checkbox label='Orange' id='Orange'/>
|
|
58
54
|
</CheckboxGroup>);
|
|
59
55
|
};
|
|
56
|
+
CheckboxGroupDemo.args = {
|
|
57
|
+
status: undefined,
|
|
58
|
+
info: 'You must select it'
|
|
59
|
+
};
|
|
60
|
+
CheckboxGroupDemo.argTypes = {
|
|
61
|
+
status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },
|
|
62
|
+
info: { control: { type: 'text', label: 'Helper text' } }
|
|
63
|
+
};
|
|
60
64
|
export const CheckboxCardGroup = (args) => {
|
|
61
65
|
return (<CheckboxGroup additionalInfo={args.showAdditionalInfo
|
|
62
66
|
? {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxGroup.stories.jsx","sourceRoot":"","sources":["../../../src/core/CheckboxGroup/CheckboxGroup.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,aAAa,EACb,UAAU,EACV,cAAc,EACd,IAAI,EACJ,IAAI,EACL,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEhE,eAAe;IACb,KAAK,EAAE,oBAAoB;IAC3B,SAAS,EAAE,aAAa;IACxB,IAAI,EAAE;QACJ,KAAK,EAAE,0BAA0B;QACjC,WAAW,EAAE,KAAK;QAClB,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,QAAQ,EAAE,KAAK;QACf,kBAAkB,EAAE,KAAK;QACzB,wBAAwB,EAAE,KAAK;QAC/B,MAAM,EAAE,SAAS;QACjB,IAAI,EAAE,oBAAoB;KAC3B;IACD,QAAQ,EAAE;QACR,KAAK,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE;QACpC,WAAW,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC7C,MAAM,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACxC,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1C,QAAQ,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1C,kBAAkB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QACpD,wBAAwB,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;QAC1D,MAAM,EAAE,EAAE,OAAO,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QAC5F,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE;KAC1D;CACM,CAAC;AAOV,MAAM,CAAC,MAAM,iBAAiB,GAA+D,CAC3F,IAAuD,EACvD,EAAE;IACF,OAAO,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,CACrC,CAAC,aAAa,CACZ,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,IAAI,CAAC,OAAO,CACZ,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAEpB;MAAA,CAAC,QAAQ,CACP,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,sBAAsB;SAChC,CAAC,CACF,KAAK,CAAC,QAAQ,CACd,EAAE,CAAC,QAAQ,CACX,cAAc,EAEhB;MAAA,CAAC,QAAQ,CACP,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,sBAAsB;SAChC,CAAC,CACF,KAAK,CAAC,OAAO,CACb,EAAE,CAAC,OAAO,EAEZ;MAAA,CAAC,QAAQ,CACP,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,sBAAsB;SAChC,CAAC,CACF,KAAK,CAAC,OAAO,CACb,EAAE,CAAC,OAAO,EAEZ;MAAA,CAAC,QAAQ,CACP,cAAc,CAAC,CAAC;YACd,OAAO,EAAE,sBAAsB;SAChC,CAAC,CACF,KAAK,CAAC,QAAQ,CACd,EAAE,CAAC,QAAQ,EAEf;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC,CAAC,CAAC,CACF,CAAC,aAAa,CACZ,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAClB,IAAI,CAAC,OAAO,CACZ,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAChB,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAEpB;MAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,EACnD;MAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAClC;MAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAClC;MAAA,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EACtC;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAA+D,CAC3F,IAAuD,EACvD,EAAE;IACF,OAAO,CACL,CAAC,aAAa,CACZ,cAAc,CAAC,CACb,IAAI,CAAC,kBAAkB;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,OAAO,CAAC,MAAM,CACd,KAAK,CAAC,kCAAkC,CACxC,WAAW,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAC9B,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CACpB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CACxB,QAAQ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAExB;MAAA,CAAC,QAAQ,CACP,cAAc,CAAC,CACb,IAAI,CAAC,wBAAwB;YAC3B,CAAC,CAAC;gBACE,OAAO,EAAE,sBAAsB;aAChC;YACH,CAAC,CAAC,SAAS,CACd,CACD,KAAK,CAAC,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAC/C;YAAA,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CACpC;YAAA,CAAC,SAAS,CACR;;;YAEF,EAAE,SAAS,CACb;UAAA,EAAE,IAAI,CAAC,CACR,CACD,EAAE,CAAC,WAAW,CACd,cAAc,EAEhB;MAAA,CAAC,QAAQ,CACP,KAAK,CAAC,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAC/C;YAAA,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAC9B;YAAA,CAAC,WAAW,CACV,GAAG,CAAC,+IAA+I,CACnJ,GAAG,CAAC,OAAO,EAEf;UAAA,EAAE,IAAI,CAAC,CACR,CACD,EAAE,CAAC,aAAa,EAElB;MAAA,CAAC,QAAQ,CACP,KAAK,CAAC,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAC/C;YAAA,CAAC,WAAW,CACV,GAAG,CAAC,+IAA+I,CACnJ,GAAG,CAAC,OAAO,EAEb;YAAA,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAC/C;cAAA,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAC9B;cAAA,CAAC,SAAS,CACR;;cACF,EAAE,SAAS,CACb;YAAA,EAAE,IAAI,CACR;UAAA,EAAE,IAAI,CAAC,CACR,CACD,EAAE,CAAC,QAAQ,EAEb;MAAA,CAAC,QAAQ,CACP,KAAK,CAAC,CACJ,CAAC,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAClD;YAAA,CAAC,cAAc,CACb,MAAM,CAAC,CAAC;gBACN,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,QAAQ,EAAE;gBAC1D,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC9D,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE;aAC7D,CAAC,EAEN;UAAA,EAAE,UAAU,CAAC,CACd,CACD,EAAE,CAAC,YAAY,EAEnB;IAAA,EAAE,aAAa,CAAC,CACjB,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport {\n Checkbox,\n CheckboxGroup,\n FieldGroup,\n FieldValueList,\n Flex,\n Text\n} from '@pega/cosmos-react-core';\nimport type { RadioCheckGroupProps, OmitStrict } from '@pega/cosmos-react-core';\n\nimport { Paragraph, StyledImage } from './CheckboxGroup.styles';\n\nexport default {\n title: 'Core/CheckboxGroup',\n component: CheckboxGroup,\n args: {\n label: 'What do you want to eat?',\n labelHidden: false,\n inline: false,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: false,\n showNestedAdditionalInfo: false,\n status: undefined,\n info: 'You must select it'\n },\n argTypes: {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n inline: { control: { type: 'boolean' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n showNestedAdditionalInfo: { control: { type: 'boolean' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n info: { control: { type: 'text', label: 'Helper text' } }\n }\n} as Meta;\n\ninterface RadioCheckGroupStoryProps extends RadioCheckGroupProps {\n showAdditionalInfo?: boolean;\n showNestedAdditionalInfo?: boolean;\n}\n\nexport const CheckboxGroupDemo: StoryFn<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return args.showNestedAdditionalInfo ? (\n <CheckboxGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n info={args.info}\n status={args.status}\n >\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Banana'\n id='Banana'\n defaultChecked\n />\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Apple'\n id='Apple'\n />\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Mango'\n id='Mango'\n />\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Orange'\n id='Orange'\n />\n </CheckboxGroup>\n ) : (\n <CheckboxGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n info={args.info}\n status={args.status}\n >\n <Checkbox label='Banana' id='Banana' defaultChecked />\n <Checkbox label='Apple' id='Apple' />\n <Checkbox label='Mango' id='Mango' />\n <Checkbox label='Orange' id='Orange' />\n </CheckboxGroup>\n );\n};\n\nexport const CheckboxCardGroup: StoryFn<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return (\n <CheckboxGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n label='Which visuals appear satisfying?'\n labelHidden={args.labelHidden}\n inline={args.inline}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n >\n <Checkbox\n additionalInfo={\n args.showNestedAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>A paragraph</Text>\n <Paragraph>\n This is a paragraph of text. It is meant to appear visually satisfying amongst the\n other options in this group.\n </Paragraph>\n </Flex>\n }\n id='paragraph'\n defaultChecked\n />\n <Checkbox\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n </Flex>\n }\n id='space-photo'\n />\n <Checkbox\n label={\n <Flex container={{ gap: 1, alignItems: 'start' }}>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <Paragraph>\n Space is the final frontier. There is so much to discover within Constellation!\n </Paragraph>\n </Flex>\n </Flex>\n }\n id='cosmos'\n />\n <Checkbox\n label={\n <FieldGroup name='Gold service plan' headingTag='h3'>\n <FieldValueList\n fields={[\n { id: 'service', name: 'Service length', value: '1 year' },\n { id: 'monthly-cost', name: 'Monthly cost', value: '$180.00' },\n { id: 'total-cost', name: 'Total cost', value: '$2,160.00' }\n ]}\n />\n </FieldGroup>\n }\n id='phone-plan'\n />\n </CheckboxGroup>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"CheckboxGroup.stories.jsx","sourceRoot":"","sources":["../../../src/core/CheckboxGroup/CheckboxGroup.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Meta, StoryFn } from '@storybook/react';\n\nimport {\n Checkbox,\n CheckboxGroup,\n FieldGroup,\n FieldValueList,\n Flex,\n Text\n} from '@pega/cosmos-react-core';\nimport type { RadioCheckGroupProps, OmitStrict } from '@pega/cosmos-react-core';\n\nimport { Paragraph, StyledImage } from './CheckboxGroup.styles';\n\nexport default {\n title: 'Core/CheckboxGroup',\n component: CheckboxGroup,\n args: {\n label: 'What do you want to eat?',\n labelHidden: false,\n inline: false,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: false,\n showNestedAdditionalInfo: false\n },\n argTypes: {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n inline: { control: { type: 'boolean' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n showNestedAdditionalInfo: { control: { type: 'boolean' } }\n }\n} as Meta;\n\ninterface RadioCheckGroupStoryProps extends RadioCheckGroupProps {\n showAdditionalInfo?: boolean;\n showNestedAdditionalInfo?: boolean;\n}\n\nexport const CheckboxGroupDemo: StoryFn<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return args.showNestedAdditionalInfo ? (\n <CheckboxGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n info={args.info}\n status={args.status}\n >\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Banana'\n id='Banana'\n defaultChecked\n />\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Apple'\n id='Apple'\n />\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Mango'\n id='Mango'\n />\n <Checkbox\n additionalInfo={{\n content: 'Some additional info'\n }}\n label='Orange'\n id='Orange'\n />\n </CheckboxGroup>\n ) : (\n <CheckboxGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n name='Fruit'\n labelHidden={args.labelHidden}\n inline={args.inline}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n info={args.info}\n status={args.status}\n >\n <Checkbox label='Banana' id='Banana' defaultChecked />\n <Checkbox label='Apple' id='Apple' />\n <Checkbox label='Mango' id='Mango' />\n <Checkbox label='Orange' id='Orange' />\n </CheckboxGroup>\n );\n};\n\nCheckboxGroupDemo.args = {\n status: undefined,\n info: 'You must select it'\n};\n\nCheckboxGroupDemo.argTypes = {\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n info: { control: { type: 'text', label: 'Helper text' } }\n};\n\nexport const CheckboxCardGroup: StoryFn<OmitStrict<RadioCheckGroupStoryProps, 'children'>> = (\n args: OmitStrict<RadioCheckGroupStoryProps, 'children'>\n) => {\n return (\n <CheckboxGroup\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n variant='card'\n label='Which visuals appear satisfying?'\n labelHidden={args.labelHidden}\n inline={args.inline}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n >\n <Checkbox\n additionalInfo={\n args.showNestedAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>A paragraph</Text>\n <Paragraph>\n This is a paragraph of text. It is meant to appear visually satisfying amongst the\n other options in this group.\n </Paragraph>\n </Flex>\n }\n id='paragraph'\n defaultChecked\n />\n <Checkbox\n label={\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n </Flex>\n }\n id='space-photo'\n />\n <Checkbox\n label={\n <Flex container={{ gap: 1, alignItems: 'start' }}>\n <StyledImage\n src='https://thumbor.forbes.com/thumbor/960x0/https%3A%2F%2Fspecials-images.forbesimg.com%2Fdam%2Fimageserve%2F765877054%2F960x0.jpg%3Ffit%3Dscale'\n alt='space'\n />\n <Flex container={{ direction: 'column', gap: 1 }}>\n <Text variant='h4'>Space</Text>\n <Paragraph>\n Space is the final frontier. There is so much to discover within Constellation!\n </Paragraph>\n </Flex>\n </Flex>\n }\n id='cosmos'\n />\n <Checkbox\n label={\n <FieldGroup name='Gold service plan' headingTag='h3'>\n <FieldValueList\n fields={[\n { id: 'service', name: 'Service length', value: '1 year' },\n { id: 'monthly-cost', name: 'Monthly cost', value: '$180.00' },\n { id: 'total-cost', name: 'Total cost', value: '$2,160.00' }\n ]}\n />\n </FieldGroup>\n }\n id='phone-plan'\n />\n </CheckboxGroup>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.stories.d.ts","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAiB,SAAS,EAAE,MAAM,yBAAyB,CAAC;;AAIvF,
|
|
1
|
+
{"version":3,"file":"ComboBox.stories.d.ts","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAiB,SAAS,EAAE,MAAM,yBAAyB,CAAC;;AAIvF,wBA6BU;AAEV,UAAU,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,GAAG,aAAa,CAAC;IAC9E,KAAK,CAAC,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAC/B,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7B,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,CAAC,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IACjC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,QAAQ,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC;IACrC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AASD,eAAO,MAAM,sBAAsB,EAAE,OAAO,CAAC,kBAAkB,CAmF9D,CAAC;AAcF,eAAO,MAAM,yBAAyB,EAAE,OAAO,CAAC,kBAAkB,CAmFjE,CAAC;AAeF,eAAO,MAAM,qBAAqB,EAAE,OAAO,CAAC,kBAAkB,CAkE7D,CAAC;AAaF,eAAO,MAAM,wBAAwB,EAAE,OAAO,CAAC,kBAAkB,CAkDhE,CAAC;AAgBF,eAAO,MAAM,qCAAqC,EAAE,OAAO,CAAC,kBAAkB,CAoE7E,CAAC;AAgBF,eAAO,MAAM,iCAAiC,EAAE,OAAO,CAAC,kBAAkB,CAqIzE,CAAC;AAMF,eAAO,MAAM,iBAAiB,EAAE,OAE/B,CAAC;AAiBF,eAAO,MAAM,oBAAoB,EAAE,OA4BlC,CAAC"}
|
|
@@ -5,6 +5,7 @@ export default {
|
|
|
5
5
|
title: 'Core/ComboBox',
|
|
6
6
|
component: ComboBox,
|
|
7
7
|
args: {
|
|
8
|
+
label: '',
|
|
8
9
|
labelHidden: false,
|
|
9
10
|
info: 'Type in or click to expand the Popover',
|
|
10
11
|
placeholder: '',
|
|
@@ -366,6 +367,19 @@ FilterableMultiSelectLazyChildren.args = {
|
|
|
366
367
|
export const MenuWithCreateNew = () => {
|
|
367
368
|
return <ComboBox label='Operators' menu={{ items: list, onCreateNew: () => { } }}/>;
|
|
368
369
|
};
|
|
370
|
+
MenuWithCreateNew.argTypes = {
|
|
371
|
+
label: { table: { disable: true } },
|
|
372
|
+
labelHidden: { table: { disable: true } },
|
|
373
|
+
info: { table: { disable: true } },
|
|
374
|
+
placeholder: { table: { disable: true } },
|
|
375
|
+
status: { table: { disable: true } },
|
|
376
|
+
required: { table: { disable: true } },
|
|
377
|
+
disabled: { table: { disable: true } },
|
|
378
|
+
readOnly: { table: { disable: true } },
|
|
379
|
+
showAdditionalInfo: { table: { disable: true } },
|
|
380
|
+
createNew: { table: { disable: true } },
|
|
381
|
+
scrollAt: { table: { disable: true } }
|
|
382
|
+
};
|
|
369
383
|
export const MenuWithListFetching = () => {
|
|
370
384
|
const [items, setItems] = useState([]);
|
|
371
385
|
const [loading, setLoading] = useState(false);
|
|
@@ -388,4 +402,17 @@ export const MenuWithListFetching = () => {
|
|
|
388
402
|
}}/>
|
|
389
403
|
</Flex>);
|
|
390
404
|
};
|
|
405
|
+
MenuWithListFetching.argTypes = {
|
|
406
|
+
label: { table: { disable: true } },
|
|
407
|
+
labelHidden: { table: { disable: true } },
|
|
408
|
+
info: { table: { disable: true } },
|
|
409
|
+
placeholder: { table: { disable: true } },
|
|
410
|
+
status: { table: { disable: true } },
|
|
411
|
+
required: { table: { disable: true } },
|
|
412
|
+
disabled: { table: { disable: true } },
|
|
413
|
+
readOnly: { table: { disable: true } },
|
|
414
|
+
showAdditionalInfo: { table: { disable: true } },
|
|
415
|
+
createNew: { table: { disable: true } },
|
|
416
|
+
scrollAt: { table: { disable: true } }
|
|
417
|
+
};
|
|
391
418
|
//# sourceMappingURL=ComboBox.stories.jsx.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboBox.stories.jsx","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState, useEffect } from 'react';\nimport type { ChangeEvent } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { Button, ComboBox, Flex, menuHelpers } from '@pega/cosmos-react-core';\nimport type { ComboBoxProps, MenuItemProps, MenuProps } from '@pega/cosmos-react-core';\n\nimport { getFilterRegex, list, tree, createNewButton } from './ComboBox.mocks';\n\nexport default {\n title: 'Core/ComboBox',\n component: ComboBox,\n args: {\n labelHidden: false,\n info: 'Type in or click to expand the Popover',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: false,\n createNew: true,\n scrollAt: 6\n },\n argTypes: {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text', label: 'Helper text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n createNew: { control: { type: 'boolean' } },\n scrollAt: { control: { type: 'number' } }\n }\n} as Meta;\n\ninterface ComboBoxStoryProps extends Pick<MenuProps, 'scrollAt' | 'onCreateNew'> {\n label?: ComboBoxProps['label'];\n labelHidden?: ComboBoxProps['labelHidden'];\n info?: ComboBoxProps['info'];\n placeholder?: ComboBoxProps['placeholder'];\n status?: ComboBoxProps['status'];\n required?: ComboBoxProps['required'];\n disabled?: ComboBoxProps['disabled'];\n readOnly?: ComboBoxProps['readOnly'];\n showAdditionalInfo?: boolean;\n createNew?: boolean;\n}\n/*\n _____ _ _ _ _ _ ____ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const FilterableSingleSelect: StoryFn<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n const [filterValue, setFilterValue] = useState('');\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setFilterValue('');\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const clearSelection = () => {\n setItems(cur =>\n menuHelpers.mapTree(cur, item => {\n return {\n ...item,\n selected: false\n };\n })\n );\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) clearSelection();\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onCreateNew: args.onCreateNew,\n onItemClick: selectItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableSingleSelect.args = {\n label: 'ComboBox Single Autocomplete'\n};\n\n/*\n ____ _ _ ____ _ _\n / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const NonFilterableSingleSelect: StoryFn<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const pageSize = 10;\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(tree.slice(0, pageSize), item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const [isLoading, setIsLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const loadMore = useCallback(\n (expandedItemId?: MenuItemProps['id']) => {\n if (!isLoading && !expandedItemId) {\n setIsLoading(true);\n setTimeout(() => {\n setIsLoading(false);\n setItems(prevItems => {\n const newItems = menuHelpers.mapTree(\n tree.slice(prevItems.length, prevItems.length + pageSize),\n item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n })\n );\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(prevItems, newItems, expandedItemId);\n });\n }, 2000);\n }\n },\n [items, isLoading]\n );\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n onItemClick: selectItem,\n loading: isLoading,\n loadMore: hasMore ? loadMore : undefined,\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nNonFilterableSingleSelect.args = {\n label: 'ComboBox Single Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose option-'\n};\n\n/*\n _____ _ _ _ _ _ __ __ _ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const FilterableMultiSelect: StoryFn<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableMultiSelect.args = {\n label: 'ComboBox Multi Autocomplete'\n};\n\n/*\n __ __ _ _ _ ____ _ _\n | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const NonFilterableMultiSelect: StoryFn<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(\n menuHelpers.mapTree(list, item => ({ id: item.id, primary: item.primary }))\n );\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n const itemsToRender = useMemo(() => {\n return menuHelpers.mapTree(items, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [items]);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nNonFilterableMultiSelect.args = {\n label: 'ComboBox Multi Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose options-'\n};\n\n/*\n______ _ _ _ _ _ ___ ___ _ _ _ _____ _ _ _ _ ______ _\n| ___(_) | | | | | | | \\/ | | | | (_) / ___| | | | | | | | | | ___ \\ | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______\\ `--. ___| | ___ ___| |_ __ _| |__ | | ___| |_/ /_ _ _ __ ___ _ __ | |_\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______|`--. \\/ _ \\ |/ _ \\/ __| __/ _` | '_ \\| |/ _ \\ __/ _` | '__/ _ \\ '_ \\| __|\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | /\\__/ / __/ | __/ (__| || (_| | |_) | | __/ | | (_| | | | __/ | | | |_\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\____/ \\___|_|\\___|\\___|\\__\\__,_|_.__/|_|\\___\\_| \\__,_|_| \\___|_| |_|\\__|\n*/\nexport const FilterableMultiSelectSelectableParent: StoryFn<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableMultiSelectSelectableParent.args = {\n label: 'ComboBox Multi Selectable Parent'\n};\n\n/**\n______ _ _ _ _ _ ___ ___ _ _ _ _ _____ _ _ _ _\n| ___(_) | | | | | | | \\/ | | | | (_) | | / __ \\ | (_) | | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______| | __ _ _____ _| / \\/ |__ _| | __| |_ __ ___ _ __\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______| | / _` |_ / | | | | | '_ \\| | |/ _` | '__/ _ \\ '_ \\\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | | |___| (_| |/ /| |_| | \\__/\\ | | | | | (_| | | | __/ | | |\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\_____/\\__,_/___|\\__, |\\____/_| |_|_|_|\\__,_|_| \\___|_| |_|\n __/ |\n |___/\n */\nexport const FilterableMultiSelectLazyChildren: StoryFn<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const rootItemId = '01';\n const lazyItems = useMemo(() => {\n return [\n { id: '01-1', primary: 'Paul McDonald', secondary: ['Leads', 'Engineer'] },\n { id: '01-2', primary: 'Frank Walker', secondary: ['Leads', 'Engineer'] },\n { id: '01-3', primary: 'Edward Green', secondary: ['Leads', 'Engineer'] },\n { id: '01-4', primary: 'Shaun McMinneman', secondary: ['Leads', 'Engineer'] },\n { id: '01-5', primary: 'Hank Fitzgerald', secondary: ['Leads', 'Engineer'] },\n { id: '01-6', primary: 'Mindy Stark', secondary: ['Leads', 'Engineer'] },\n { id: '01-7', primary: 'Shane Howard', secondary: ['Leads', 'Engineer'] },\n { id: '01-8', primary: 'Raul Singh', secondary: ['Leads', 'Engineer'] }\n ];\n }, []);\n\n const [items, setItems] = useState<MenuProps['items']>([\n {\n id: rootItemId,\n primary: 'Group',\n secondary: ['Leads', 'Engineer'],\n items: []\n }\n ]);\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(false);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n setTimeout(() => {\n setLoading(false);\n\n setItems(() => {\n const previousNestedLength = menuHelpers.getItem(items, rootItemId)?.items?.length || 0;\n const newItems = lazyItems.slice(previousNestedLength, previousNestedLength + 3);\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(items, newItems, rootItemId);\n });\n }, 2000);\n }\n }, [items, loading]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n useEffect(() => {\n if (hasMore) {\n loadMore();\n }\n }, [hasMore]);\n\n const onItemExpand = useCallback(() => {\n // You wouldn't do this here in production, but in this story we know the menu 'hasMore'\n // un-rendered items every time it expands.\n setHasMore(true);\n }, []);\n\n const onItemCollapse = useCallback(() => {\n setHasMore(false);\n setLoading(false);\n // You wouldn't do this in production. We are re-slicing the lazy children in this story to avoid\n // having to refresh to view the lazy loading behavior again.\n setItems(cur => [{ ...cur[0], items: [] }]);\n }, []);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n onItemExpand,\n onItemCollapse,\n loading,\n loadMore: hasMore ? loadMore : undefined,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableMultiSelectLazyChildren.args = {\n label: 'ComboBox Multi Lazy Children'\n};\n\nexport const MenuWithCreateNew: StoryFn = () => {\n return <ComboBox label='Operators' menu={{ items: list, onCreateNew: () => {} }} />;\n};\n\n// FIXME: Manage input state.\nexport const MenuWithListFetching: StoryFn = () => {\n const [items, setItems] = useState<MenuProps['items']>([]);\n const [loading, setLoading] = useState(false);\n\n const fetchItems = () => {\n if (loading || items.length > 0) return;\n setLoading(true);\n new Promise(r => {\n setTimeout(r, 3000);\n }).then(() => {\n setItems(list.slice(1, 10));\n setLoading(false);\n });\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Button onClick={() => setItems([])}>Clear Items In Combobox</Button>\n <ComboBox\n label='Cars'\n onMenuOpen={fetchItems}\n menu={{\n items,\n loading\n }}\n />\n </Flex>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"ComboBox.stories.jsx","sourceRoot":"","sources":["../../../src/core/ComboBox/ComboBox.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useCallback, useMemo, useState, useEffect } from 'react';\nimport type { ChangeEvent } from 'react';\nimport type { Meta, StoryFn } from '@storybook/react';\n\nimport { Button, ComboBox, Flex, menuHelpers } from '@pega/cosmos-react-core';\nimport type { ComboBoxProps, MenuItemProps, MenuProps } from '@pega/cosmos-react-core';\n\nimport { getFilterRegex, list, tree, createNewButton } from './ComboBox.mocks';\n\nexport default {\n title: 'Core/ComboBox',\n component: ComboBox,\n args: {\n label: '',\n labelHidden: false,\n info: 'Type in or click to expand the Popover',\n placeholder: '',\n status: undefined,\n required: false,\n disabled: false,\n readOnly: false,\n showAdditionalInfo: false,\n createNew: true,\n scrollAt: 6\n },\n argTypes: {\n label: { control: { type: 'text' } },\n labelHidden: { control: { type: 'boolean' } },\n info: { control: { type: 'text', label: 'Helper text' } },\n placeholder: { control: { type: 'text' } },\n status: { options: [undefined, 'success', 'warning', 'error'], control: { type: 'select' } },\n required: { control: { type: 'boolean' } },\n disabled: { control: { type: 'boolean' } },\n readOnly: { control: { type: 'boolean' } },\n showAdditionalInfo: { control: { type: 'boolean' } },\n createNew: { control: { type: 'boolean' } },\n scrollAt: { control: { type: 'number' } }\n }\n} as Meta;\n\ninterface ComboBoxStoryProps extends Pick<MenuProps, 'scrollAt' | 'onCreateNew'> {\n label?: ComboBoxProps['label'];\n labelHidden?: ComboBoxProps['labelHidden'];\n info?: ComboBoxProps['info'];\n placeholder?: ComboBoxProps['placeholder'];\n status?: ComboBoxProps['status'];\n required?: ComboBoxProps['required'];\n disabled?: ComboBoxProps['disabled'];\n readOnly?: ComboBoxProps['readOnly'];\n showAdditionalInfo?: boolean;\n createNew?: boolean;\n}\n/*\n _____ _ _ _ _ _ ____ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const FilterableSingleSelect: StoryFn<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n const [filterValue, setFilterValue] = useState('');\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setFilterValue('');\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const clearSelection = () => {\n setItems(cur =>\n menuHelpers.mapTree(cur, item => {\n return {\n ...item,\n selected: false\n };\n })\n );\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n mode='single-select'\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n if (!e.target.value) clearSelection();\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onCreateNew: args.onCreateNew,\n onItemClick: selectItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableSingleSelect.args = {\n label: 'ComboBox Single Autocomplete'\n};\n\n/*\n ____ _ _ ____ _ _\n / ___|(_)_ __ __ _| | ___ / ___| ___| | ___ ___| |_\n \\___ \\| | '_ \\ / _` | |/ _ \\ \\___ \\ / _ \\ |/ _ \\/ __| __|\n ___) | | | | | (_| | | __/ ___) | __/ | __/ (__| |_\n |____/|_|_| |_|\\__, |_|\\___| |____/ \\___|_|\\___|\\___|\\__|\n |___/\n*/\nexport const NonFilterableSingleSelect: StoryFn<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const pageSize = 10;\n\n const [items, setItems] = useState<MenuProps['items']>((): MenuProps['items'] => {\n return menuHelpers.mapTree(tree.slice(0, pageSize), item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n });\n\n const [isLoading, setIsLoading] = useState(false);\n const [hasMore, setHasMore] = useState(true);\n\n const selected = useMemo(() => menuHelpers.getSelected(items)[0], [items]);\n\n const selectItem = useCallback((id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.selectItem(cur, id, 'single-select'));\n }, []);\n\n const loadMore = useCallback(\n (expandedItemId?: MenuItemProps['id']) => {\n if (!isLoading && !expandedItemId) {\n setIsLoading(true);\n setTimeout(() => {\n setIsLoading(false);\n setItems(prevItems => {\n const newItems = menuHelpers.mapTree(\n tree.slice(prevItems.length, prevItems.length + pageSize),\n item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n })\n );\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(prevItems, newItems, expandedItemId);\n });\n }, 2000);\n }\n },\n [items, isLoading]\n );\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={\n selected\n ? {\n items: {\n id: selected.id,\n text: selected.primary\n }\n }\n : undefined\n }\n menu={{\n items,\n onItemClick: selectItem,\n loading: isLoading,\n loadMore: hasMore ? loadMore : undefined,\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nNonFilterableSingleSelect.args = {\n label: 'ComboBox Single Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose option-'\n};\n\n/*\n _____ _ _ _ _ _ __ __ _ _ _ ____ _ _\n | ___(_) | |_ ___ _ __ __ _| |__ | | ___ | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |_ | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | _| | | | || __/ | | (_| | |_) | | __/ | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___| |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const FilterableMultiSelect: StoryFn<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableMultiSelect.args = {\n label: 'ComboBox Multi Autocomplete'\n};\n\n/*\n __ __ _ _ _ ____ _ _\n | \\/ |_ _| | |_(_) / ___| ___| | ___ ___| |_\n | |\\/| | | | | | __| |____\\___ \\ / _ \\ |/ _ \\/ __| __|\n | | | | |_| | | |_| |_____|__) | __/ | __/ (__| |_\n |_| |_|\\__,_|_|\\__|_| |____/ \\___|_|\\___|\\___|\\__|\n*/\nexport const NonFilterableMultiSelect: StoryFn<ComboBoxStoryProps> = (args: ComboBoxStoryProps) => {\n const [items, setItems] = useState<MenuProps['items']>(\n menuHelpers.mapTree(list, item => ({ id: item.id, primary: item.primary }))\n );\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n const itemsToRender = useMemo(() => {\n return menuHelpers.mapTree(items, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [items]);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nNonFilterableMultiSelect.args = {\n label: 'ComboBox Multi Select',\n info: 'Click on dropdown button to expand the Popover',\n placeholder: '-Choose options-'\n};\n\n/*\n______ _ _ _ _ _ ___ ___ _ _ _ _____ _ _ _ _ ______ _\n| ___(_) | | | | | | | \\/ | | | | (_) / ___| | | | | | | | | | ___ \\ | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______\\ `--. ___| | ___ ___| |_ __ _| |__ | | ___| |_/ /_ _ _ __ ___ _ __ | |_\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______|`--. \\/ _ \\ |/ _ \\/ __| __/ _` | '_ \\| |/ _ \\ __/ _` | '__/ _ \\ '_ \\| __|\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | /\\__/ / __/ | __/ (__| || (_| | |_) | | __/ | | (_| | | | __/ | | | |_\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\____/ \\___|_|\\___|\\___|\\__\\__,_|_.__/|_|\\___\\_| \\__,_|_| \\___|_| |_|\\__|\n*/\nexport const FilterableMultiSelectSelectableParent: StoryFn<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const [items, setItems] = useState<MenuProps['items']>(tree);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: !!item.selected\n }));\n }, [filterValue, items]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableMultiSelectSelectableParent.args = {\n label: 'ComboBox Multi Selectable Parent'\n};\n\n/**\n______ _ _ _ _ _ ___ ___ _ _ _ _ _____ _ _ _ _\n| ___(_) | | | | | | | \\/ | | | | (_) | | / __ \\ | (_) | | |\n| |_ _| | |_ ___ _ __ __ _| |__ | | ___| . . |_ _| | |_ _ ______| | __ _ _____ _| / \\/ |__ _| | __| |_ __ ___ _ __\n| _| | | | __/ _ \\ '__/ _` | '_ \\| |/ _ \\ |\\/| | | | | | __| |______| | / _` |_ / | | | | | '_ \\| | |/ _` | '__/ _ \\ '_ \\\n| | | | | || __/ | | (_| | |_) | | __/ | | | |_| | | |_| | | |___| (_| |/ /| |_| | \\__/\\ | | | | | (_| | | | __/ | | |\n\\_| |_|_|\\__\\___|_| \\__,_|_.__/|_|\\___\\_| |_/\\__,_|_|\\__|_| \\_____/\\__,_/___|\\__, |\\____/_| |_|_|_|\\__,_|_| \\___|_| |_|\n __/ |\n |___/\n */\nexport const FilterableMultiSelectLazyChildren: StoryFn<ComboBoxStoryProps> = (\n args: ComboBoxStoryProps\n) => {\n const rootItemId = '01';\n const lazyItems = useMemo(() => {\n return [\n { id: '01-1', primary: 'Paul McDonald', secondary: ['Leads', 'Engineer'] },\n { id: '01-2', primary: 'Frank Walker', secondary: ['Leads', 'Engineer'] },\n { id: '01-3', primary: 'Edward Green', secondary: ['Leads', 'Engineer'] },\n { id: '01-4', primary: 'Shaun McMinneman', secondary: ['Leads', 'Engineer'] },\n { id: '01-5', primary: 'Hank Fitzgerald', secondary: ['Leads', 'Engineer'] },\n { id: '01-6', primary: 'Mindy Stark', secondary: ['Leads', 'Engineer'] },\n { id: '01-7', primary: 'Shane Howard', secondary: ['Leads', 'Engineer'] },\n { id: '01-8', primary: 'Raul Singh', secondary: ['Leads', 'Engineer'] }\n ];\n }, []);\n\n const [items, setItems] = useState<MenuProps['items']>([\n {\n id: rootItemId,\n primary: 'Group',\n secondary: ['Leads', 'Engineer'],\n items: []\n }\n ]);\n const [loading, setLoading] = useState(false);\n const [hasMore, setHasMore] = useState(false);\n const [filterValue, setFilterValue] = useState('');\n\n const selected = useMemo(() => {\n return menuHelpers.getSelected(items).map(item => ({ text: item.primary, id: item.id }));\n }, [items]);\n\n const filterRegex = useMemo(() => getFilterRegex(filterValue), [filterValue]);\n\n const itemsToRender = useMemo(() => {\n const newItems = filterValue\n ? menuHelpers.flatten(items).filter(({ primary }: MenuItemProps) => {\n return filterRegex.test(primary);\n })\n : items;\n\n return menuHelpers.mapTree(newItems, item => ({\n ...item,\n selected: item.items ? undefined : !!item.selected\n }));\n }, [filterValue, items]);\n\n const loadMore = useCallback(() => {\n if (!loading) {\n setLoading(true);\n setTimeout(() => {\n setLoading(false);\n\n setItems(() => {\n const previousNestedLength = menuHelpers.getItem(items, rootItemId)?.items?.length || 0;\n const newItems = lazyItems.slice(previousNestedLength, previousNestedLength + 3);\n\n if (newItems.length === 0) setHasMore(false);\n\n return menuHelpers.appendTo(items, newItems, rootItemId);\n });\n }, 2000);\n }\n }, [items, loading]);\n\n const toggleItem = (id: MenuItemProps['id']) => {\n setItems(cur => menuHelpers.toggleSelected(cur, id, 'multi-select'));\n };\n\n useEffect(() => {\n if (hasMore) {\n loadMore();\n }\n }, [hasMore]);\n\n const onItemExpand = useCallback(() => {\n // You wouldn't do this here in production, but in this story we know the menu 'hasMore'\n // un-rendered items every time it expands.\n setHasMore(true);\n }, []);\n\n const onItemCollapse = useCallback(() => {\n setHasMore(false);\n setLoading(false);\n // You wouldn't do this in production. We are re-slicing the lazy children in this story to avoid\n // having to refresh to view the lazy loading behavior again.\n setItems(cur => [{ ...cur[0], items: [] }]);\n }, []);\n\n return (\n <ComboBox\n additionalInfo={\n args.showAdditionalInfo\n ? {\n content: 'Some additional info'\n }\n : undefined\n }\n mode='multi-select'\n label={args.label}\n labelHidden={args.labelHidden}\n info={args.info}\n placeholder={args.placeholder}\n status={args.status}\n required={args.required}\n disabled={args.disabled}\n readOnly={args.readOnly}\n selected={{\n items: selected,\n onRemove: toggleItem\n }}\n value={filterValue}\n onChange={(e: ChangeEvent<HTMLInputElement>) => {\n setFilterValue(e.target.value);\n }}\n onBlur={() => {\n setFilterValue('');\n }}\n menu={{\n items: itemsToRender,\n onItemClick: toggleItem,\n onItemExpand,\n onItemCollapse,\n loading,\n loadMore: hasMore ? loadMore : undefined,\n accent: filterRegex,\n emptyText: 'No items',\n scrollAt: args.scrollAt,\n footer: args.createNew ? createNewButton : undefined\n }}\n />\n );\n};\n\nFilterableMultiSelectLazyChildren.args = {\n label: 'ComboBox Multi Lazy Children'\n};\n\nexport const MenuWithCreateNew: StoryFn = () => {\n return <ComboBox label='Operators' menu={{ items: list, onCreateNew: () => {} }} />;\n};\n\nMenuWithCreateNew.argTypes = {\n label: { table: { disable: true } },\n labelHidden: { table: { disable: true } },\n info: { table: { disable: true } },\n placeholder: { table: { disable: true } },\n status: { table: { disable: true } },\n required: { table: { disable: true } },\n disabled: { table: { disable: true } },\n readOnly: { table: { disable: true } },\n showAdditionalInfo: { table: { disable: true } },\n createNew: { table: { disable: true } },\n scrollAt: { table: { disable: true } }\n};\n\n// FIXME: Manage input state.\nexport const MenuWithListFetching: StoryFn = () => {\n const [items, setItems] = useState<MenuProps['items']>([]);\n const [loading, setLoading] = useState(false);\n\n const fetchItems = () => {\n if (loading || items.length > 0) return;\n setLoading(true);\n new Promise(r => {\n setTimeout(r, 3000);\n }).then(() => {\n setItems(list.slice(1, 10));\n setLoading(false);\n });\n };\n\n return (\n <Flex container={{ direction: 'column', gap: 2 }}>\n <Button onClick={() => setItems([])}>Clear Items In Combobox</Button>\n <ComboBox\n label='Cars'\n onMenuOpen={fetchItems}\n menu={{\n items,\n loading\n }}\n />\n </Flex>\n );\n};\n\nMenuWithListFetching.argTypes = {\n label: { table: { disable: true } },\n labelHidden: { table: { disable: true } },\n info: { table: { disable: true } },\n placeholder: { table: { disable: true } },\n status: { table: { disable: true } },\n required: { table: { disable: true } },\n disabled: { table: { disable: true } },\n readOnly: { table: { disable: true } },\n showAdditionalInfo: { table: { disable: true } },\n createNew: { table: { disable: true } },\n scrollAt: { table: { disable: true } }\n};\n"]}
|
|
@@ -29,6 +29,9 @@ interface DateRangeInputStoryProps extends DateRangeInputProps {
|
|
|
29
29
|
showToAdditionalInfo?: boolean;
|
|
30
30
|
showFromAdditionalInfo?: boolean;
|
|
31
31
|
}
|
|
32
|
+
interface TimeRangeInputStoryProps extends TimeRangeInputProps {
|
|
33
|
+
showAdditionalInfo?: boolean;
|
|
34
|
+
}
|
|
32
35
|
interface DurationInputStoryProps extends DurationInputProps {
|
|
33
36
|
showAdditionalInfo?: boolean;
|
|
34
37
|
}
|
|
@@ -43,7 +46,7 @@ export declare const DayOfWeekInputDemo: StoryFn<DayOfWeekInputStoryProps & {
|
|
|
43
46
|
export declare const TimeInputDemo: StoryFn<TimeInputStoryProps>;
|
|
44
47
|
export declare const DateTimeInputDemo: StoryFn<DateTimeInputStoryProps>;
|
|
45
48
|
export declare const DateRangeInputDemo: StoryFn<DateRangeInputStoryProps>;
|
|
46
|
-
export declare const TimeRangeInputDemo: StoryFn<
|
|
49
|
+
export declare const TimeRangeInputDemo: StoryFn<TimeRangeInputStoryProps>;
|
|
47
50
|
export declare const DurationInputDemo: StoryFn<DurationInputStoryProps & {
|
|
48
51
|
min?: never;
|
|
49
52
|
max?: never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DateTime/DateTime.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAiBtD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;;AAEjC,
|
|
1
|
+
{"version":3,"file":"DateTime.stories.d.ts","sourceRoot":"","sources":["../../../src/core/DateTime/DateTime.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAiBtD,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,mBAAmB,EACpB,MAAM,yBAAyB,CAAC;;AAEjC,wBA+BU;AAEV,UAAU,mBAAoB,SAAQ,cAAc;IAClD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,oBAAqB,SAAQ,eAAe;IACpD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,mBAAoB,SAAQ,cAAc;IAClD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,sBAAuB,SAAQ,iBAAiB;IACxD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,mBAAoB,SAAQ,cAAc;IAClD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,uBAAwB,SAAQ,kBAAkB;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,UAAU,wBAAyB,SAAQ,mBAAmB;IAC5D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,UAAU,uBAAwB,SAAQ,kBAAkB;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAiCtD,CAAC;AAWF,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,oBAAoB,CAgCxD,CAAC;AAUF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAgCtD,CAAC;AAUF,eAAO,MAAM,gBAAgB,EAAE,OAAO,CAAC,sBAAsB,CAgC5D,CAAC;AAUF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CACtC,wBAAwB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CA6BxD,CAAC;AAWF,eAAO,MAAM,aAAa,EAAE,OAAO,CAAC,mBAAmB,CAmCtD,CAAC;AAeF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,uBAAuB,CAsC9D,CAAC;AAiBF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,wBAAwB,CA2ChE,CAAC;AAuBF,eAAO,MAAM,kBAAkB,EAAE,OAAO,CAAC,wBAAwB,CA+BhE,CAAC;AAoBF,eAAO,MAAM,iBAAiB,EAAE,OAAO,CAAC,uBAAuB,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAA;CAAE,CA+B7F,CAAC"}
|
|
@@ -13,8 +13,7 @@ export default {
|
|
|
13
13
|
readOnly: false,
|
|
14
14
|
min: undefined,
|
|
15
15
|
max: undefined,
|
|
16
|
-
showAdditionalInfo: false
|
|
17
|
-
mode: 'time'
|
|
16
|
+
showAdditionalInfo: false
|
|
18
17
|
},
|
|
19
18
|
argTypes: {
|
|
20
19
|
value: { control: { type: 'date' } },
|
|
@@ -30,8 +29,7 @@ export default {
|
|
|
30
29
|
readOnly: { control: { type: 'boolean' } },
|
|
31
30
|
min: { control: { type: 'date' } },
|
|
32
31
|
max: { control: { type: 'date' } },
|
|
33
|
-
showAdditionalInfo: { control: { type: 'boolean' } }
|
|
34
|
-
mode: { options: ['time', 'datetime'], control: { type: 'select' } }
|
|
32
|
+
showAdditionalInfo: { control: { type: 'boolean' } }
|
|
35
33
|
}
|
|
36
34
|
};
|
|
37
35
|
export const DateInputDemo = (args) => {
|
|
@@ -251,7 +249,8 @@ export const TimeRangeInputDemo = (args) => {
|
|
|
251
249
|
TimeRangeInputDemo.args = {
|
|
252
250
|
fromLabel: 'Meeting start',
|
|
253
251
|
toLabel: 'Meeting end',
|
|
254
|
-
withSeconds: false
|
|
252
|
+
withSeconds: false,
|
|
253
|
+
mode: 'time'
|
|
255
254
|
};
|
|
256
255
|
TimeRangeInputDemo.argTypes = {
|
|
257
256
|
fromLabel: { control: { type: 'text' } },
|
|
@@ -259,7 +258,9 @@ TimeRangeInputDemo.argTypes = {
|
|
|
259
258
|
label: { control: { type: 'text' } },
|
|
260
259
|
min: { table: { disable: true } },
|
|
261
260
|
max: { table: { disable: true } },
|
|
262
|
-
|
|
261
|
+
showAdditionalInfo: { table: { disable: true } },
|
|
262
|
+
withSeconds: { control: { type: 'boolean' } },
|
|
263
|
+
mode: { options: ['time', 'datetime'], control: { type: 'select' } }
|
|
263
264
|
};
|
|
264
265
|
export const DurationInputDemo = (args) => {
|
|
265
266
|
const [value, setValue] = useState(args.value);
|
|
@@ -272,7 +273,7 @@ export const DurationInputDemo = (args) => {
|
|
|
272
273
|
? {
|
|
273
274
|
content: 'Select a duration'
|
|
274
275
|
}
|
|
275
|
-
: undefined} value={value} onChange={setValue} format={args.format} status={args.status} label={args.label} labelHidden={args.labelHidden} required={args.required} disabled={args.disabled} readOnly={args.readOnly}/>);
|
|
276
|
+
: undefined} value={value} onChange={setValue} format={args.format} status={args.status} label={args.label} labelHidden={args.labelHidden} info={args.info} required={args.required} disabled={args.disabled} readOnly={args.readOnly}/>);
|
|
276
277
|
};
|
|
277
278
|
DurationInputDemo.args = {
|
|
278
279
|
value: 86400000,
|