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:
Alireza authored and GitHub committed 2022-02-10 14:08:34 -05:00
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;
}