feat: OHIF-v3 UI Component Library (#2653)
* wip on storybook as a replacement for using UI components in docusaurus, since it causes too many problems * fix: storybook webpack config * feat: add more stories * feat: add more stories * feat: add more stories * feat: fix logo and babel runtime error * feat: move to mdx docs for ui * feat: enhanced mdx for header and styles * feat: Add button usecases * feat: Add buttonGroup docs * feat: Add docs and use case to cine and contex menu * feat: fix decorators * feat: add header and dropdown docs * feat: add Icon and input docs * feat: add more docs * feat: add more stories * fix: feedback section * feat: Add doc page * feat: Add typography and color stories * yarn lock * add analytics to v3-ui * new banner image * new viewport component * update review comments
This commit is contained in:
1 parent
eb77cb76b6
commit
5c8ee7f906
79 files changed
+9004
-2915
No files matched your search
@@ -0,0 +1,49 @@
|
||||
import React from 'react';
|
||||
|
||||
export function createComponentTemplate(ComponentClass) {
|
||||
return args => <ComponentClass {...args} />;
|
||||
}
|
||||
|
||||
// const allowedIcons = iconsMetaData.reduce(
|
||||
// (acc, icon) => {
|
||||
// const Component = AllIcons[icon.file.split(".")[0]];
|
||||
// acc.options.push(icon.name);
|
||||
// acc.mapping[icon.name] = Component;
|
||||
|
||||
// return acc;
|
||||
// },
|
||||
// { options: [], mapping: {} }
|
||||
// );
|
||||
|
||||
export function createStoryMetaSettings({
|
||||
component,
|
||||
enumPropNamesArray,
|
||||
iconPropNamesArray,
|
||||
}) {
|
||||
const argTypes = {};
|
||||
|
||||
// set enum allowed values inside argsTypes object
|
||||
enumPropNamesArray?.forEach(propName => {
|
||||
const enums = component[`${propName}s`];
|
||||
if (enums && enums instanceof Object) {
|
||||
argTypes[propName] = {
|
||||
options: Object.values(enums),
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
if (component === Avatar) console.log(argTypes);
|
||||
|
||||
// set icon allowed values inside argsTypes object
|
||||
iconPropNamesArray?.forEach(propName => {
|
||||
argTypes[propName] = {
|
||||
options: allowedIcons.options,
|
||||
mapping: allowedIcons.mapping,
|
||||
control: {
|
||||
type: 'select',
|
||||
},
|
||||
};
|
||||
});
|
||||
|
||||
return argTypes;
|
||||
}
|
||||
Reference in new issue
Block a user