Add comprehensive development roadmap via GitHub Issues
Created 10 detailed GitHub issues covering: - Project activation and management UI (#1-2) - Worker node coordination and visualization (#3-4) - Automated GitHub repository scanning (#5) - Intelligent model-to-issue matching (#6) - Multi-model task execution system (#7) - N8N workflow integration (#8) - Hive-Bzzz P2P bridge (#9) - Peer assistance protocol (#10) Each issue includes detailed specifications, acceptance criteria, technical implementation notes, and dependency mapping. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
12
frontend/node_modules/@storybook/react/dist/chunk-AWLHXXSE.mjs
generated
vendored
Normal file
12
frontend/node_modules/@storybook/react/dist/chunk-AWLHXXSE.mjs
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
import { applyDecorators } from './chunk-XLZBPYSH.mjs';
|
||||
import { isForwardRef, isMemo, reactElementToJsxString } from './chunk-CKO6TW2F.mjs';
|
||||
import { __export } from './chunk-XP5HYGXS.mjs';
|
||||
import React, { createElement, isValidElement } from 'react';
|
||||
import { logger } from 'storybook/internal/client-logger';
|
||||
import { getDocgenSection, SourceType } from 'storybook/internal/docs-tools';
|
||||
import { useRef, useEffect, emitTransformCode } from 'storybook/preview-api';
|
||||
|
||||
var entry_preview_docs_exports={};__export(entry_preview_docs_exports,{applyDecorators:()=>applyDecorators2,decorators:()=>decorators,parameters:()=>parameters});var reactElementToJSXString=reactElementToJsxString,toPascalCase=str=>str.charAt(0).toUpperCase()+str.slice(1),getReactSymbolName=elementType=>(elementType.$$typeof||elementType).toString().replace(/^Symbol\((.*)\)$/,"$1").split(".").map(segment=>segment.split("_").map(toPascalCase).join("")).join(".");function simplifyNodeForStringify(node){if(isValidElement(node)){let props=Object.keys(node.props).reduce((acc,cur)=>(acc[cur]=simplifyNodeForStringify(node.props[cur]),acc),{});return {...node,props,_owner:null}}return Array.isArray(node)?node.map(simplifyNodeForStringify):node}var renderJsx=(code,options)=>{if(typeof code>"u")return logger.warn("Too many skip or undefined component"),null;let renderedJSX=code,Type=renderedJSX.type;for(let i=0;i<options?.skip;i+=1){if(typeof renderedJSX>"u")return logger.warn("Cannot skip undefined element"),null;if(React.Children.count(renderedJSX)>1)return logger.warn("Trying to skip an array of elements"),null;typeof renderedJSX.props.children>"u"?(logger.warn("Not enough children to skip elements."),typeof renderedJSX.type=="function"&&renderedJSX.type.name===""&&(renderedJSX=React.createElement(Type,{...renderedJSX.props}))):typeof renderedJSX.props.children=="function"?renderedJSX=renderedJSX.props.children():renderedJSX=renderedJSX.props.children;}let displayNameDefaults;typeof options?.displayName=="string"?displayNameDefaults={showFunctions:!0,displayName:()=>options.displayName}:displayNameDefaults={displayName:el=>el.type.displayName?el.type.displayName:getDocgenSection(el.type,"displayName")?getDocgenSection(el.type,"displayName"):el.type.render?.displayName?el.type.render.displayName:typeof el.type=="symbol"||el.type.$$typeof&&typeof el.type.$$typeof=="symbol"?getReactSymbolName(el.type):el.type.name&&el.type.name!=="_default"?el.type.name:typeof el.type=="function"?"No Display Name":isForwardRef(el.type)?el.type.render.name:isMemo(el.type)?el.type.type.name:el.type};let opts={...displayNameDefaults,...{filterProps:(value,key)=>value!==void 0},...options};return React.Children.map(code,c=>{let child=typeof c=="number"?c.toString():c,string=(typeof reactElementToJSXString=="function"?reactElementToJSXString:reactElementToJSXString.default)(simplifyNodeForStringify(child),opts);if(string.indexOf(""")>-1){let matches=string.match(/\S+=\\"([^"]*)\\"/g);matches&&matches.forEach(match=>{string=string.replace(match,match.replace(/"/g,"'"));});}return string}).join(`
|
||||
`).replace(/function\s+noRefCheck\(\)\s*\{\}/g,"() => {}")},defaultOpts={skip:0,showFunctions:!1,enableBeautify:!0,showDefaultProps:!1},skipJsxRender=context=>{let sourceParams=context?.parameters.docs?.source,isArgsStory=context?.parameters.__isArgsStory;return sourceParams?.type===SourceType.DYNAMIC?!1:!isArgsStory||sourceParams?.code||sourceParams?.type===SourceType.CODE},isMdx=node=>node.type?.displayName==="MDXCreateElement"&&!!node.props?.mdxType,mdxToJsx=node=>{if(!isMdx(node))return node;let{mdxType,originalType,children,...rest}=node.props,jsxChildren=[];return children&&(jsxChildren=(Array.isArray(children)?children:[children]).map(mdxToJsx)),createElement(originalType,rest,...jsxChildren)},jsxDecorator=(storyFn,context)=>{let jsx=useRef(void 0),story=storyFn(),skip=skipJsxRender(context),options={...defaultOpts,...context?.parameters.jsx||{}},storyJsx=context.originalStoryFn(context.args,context);return useEffect(()=>{if(skip)return;let sourceJsx=mdxToJsx(storyJsx),rendered=renderJsx(sourceJsx,options);rendered&&jsx.current!==rendered&&(emitTransformCode(rendered,context),jsx.current=rendered);}),story};var applyDecorators2=(storyFn,decorators2)=>{let jsxIndex=decorators2.findIndex(d=>d.originalFn===jsxDecorator),reorderedDecorators=jsxIndex===-1?decorators2:[...decorators2.splice(jsxIndex,1),...decorators2];return applyDecorators(storyFn,reorderedDecorators)};var decorators=[jsxDecorator],parameters={docs:{story:{inline:!0}}};
|
||||
|
||||
export { applyDecorators2 as applyDecorators, decorators, entry_preview_docs_exports, parameters };
|
||||
22
frontend/node_modules/@storybook/react/dist/chunk-CKO6TW2F.mjs
generated
vendored
Normal file
22
frontend/node_modules/@storybook/react/dist/chunk-CKO6TW2F.mjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
9
frontend/node_modules/@storybook/react/dist/chunk-MNKU3DTE.mjs
generated
vendored
Normal file
9
frontend/node_modules/@storybook/react/dist/chunk-MNKU3DTE.mjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
36
frontend/node_modules/@storybook/react/dist/chunk-N3U7HZRZ.mjs
generated
vendored
Normal file
36
frontend/node_modules/@storybook/react/dist/chunk-N3U7HZRZ.mjs
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
8
frontend/node_modules/@storybook/react/dist/chunk-XBCHTE6T.mjs
generated
vendored
Normal file
8
frontend/node_modules/@storybook/react/dist/chunk-XBCHTE6T.mjs
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
import { entry_preview_exports } from './chunk-MNKU3DTE.mjs';
|
||||
import { entry_preview_argtypes_exports } from './chunk-N3U7HZRZ.mjs';
|
||||
import { entry_preview_docs_exports } from './chunk-AWLHXXSE.mjs';
|
||||
import { normalizeProjectAnnotations, composeConfigs, getCoreAnnotations } from 'storybook/preview-api';
|
||||
|
||||
function __definePreview(input){let composed,preview={_tag:"Preview",input,get composed(){if(composed)return composed;let{addons,...rest}=input;return composed=normalizeProjectAnnotations(composeConfigs([...getCoreAnnotations(),...addons??[],rest])),composed},meta(meta){return defineMeta(meta,this)}};return globalThis.globalProjectAnnotations=preview.composed,preview}function defineMeta(input,preview){return {_tag:"Meta",input,preview,get composed(){throw new Error("Not implemented")},story(story){return defineStory(story,this)}}}function defineStory(input,meta){return {_tag:"Story",input,meta,get composed(){throw new Error("Not implemented")}}}function __definePreview2(preview){return __definePreview({...preview,addons:[entry_preview_exports,entry_preview_argtypes_exports,entry_preview_docs_exports,...preview.addons??[]]})}
|
||||
|
||||
export { __definePreview2 as __definePreview };
|
||||
6
frontend/node_modules/@storybook/react/dist/chunk-XLZBPYSH.mjs
generated
vendored
Normal file
6
frontend/node_modules/@storybook/react/dist/chunk-XLZBPYSH.mjs
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import React from 'react';
|
||||
import { defaultDecorateStory } from 'storybook/preview-api';
|
||||
|
||||
var applyDecorators=(storyFn,decorators)=>defaultDecorateStory(context=>React.createElement(storyFn,context),decorators);
|
||||
|
||||
export { applyDecorators };
|
||||
3
frontend/node_modules/@storybook/react/dist/chunk-XP5HYGXS.mjs
generated
vendored
Normal file
3
frontend/node_modules/@storybook/react/dist/chunk-XP5HYGXS.mjs
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __esm=(fn,res)=>function(){return fn&&(res=(0, fn[__getOwnPropNames(fn)[0]])(fn=0)),res};var __commonJS=(cb,mod)=>function(){return mod||(0, cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports};var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0});},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);
|
||||
|
||||
export { __commonJS, __esm, __export, __toCommonJS, __toESM };
|
||||
15
frontend/node_modules/@storybook/react/dist/entry-preview-argtypes.d.ts
generated
vendored
Normal file
15
frontend/node_modules/@storybook/react/dist/entry-preview-argtypes.d.ts
generated
vendored
Normal file
@@ -0,0 +1,15 @@
|
||||
import * as storybook_internal_docs_tools from 'storybook/internal/docs-tools';
|
||||
import { extractComponentDescription } from 'storybook/internal/docs-tools';
|
||||
import { ArgTypesEnhancer } from 'storybook/internal/types';
|
||||
import { R as ReactRenderer } from './types-5617c98e.js';
|
||||
import 'react';
|
||||
|
||||
declare const parameters: {
|
||||
docs: {
|
||||
extractArgTypes: storybook_internal_docs_tools.ArgTypesExtractor;
|
||||
extractComponentDescription: typeof extractComponentDescription;
|
||||
};
|
||||
};
|
||||
declare const argTypesEnhancers: ArgTypesEnhancer<ReactRenderer>[];
|
||||
|
||||
export { argTypesEnhancers, parameters };
|
||||
45
frontend/node_modules/@storybook/react/dist/entry-preview-argtypes.js
generated
vendored
Normal file
45
frontend/node_modules/@storybook/react/dist/entry-preview-argtypes.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
frontend/node_modules/@storybook/react/dist/entry-preview-argtypes.mjs
generated
vendored
Normal file
3
frontend/node_modules/@storybook/react/dist/entry-preview-argtypes.mjs
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export { argTypesEnhancers, parameters } from './chunk-N3U7HZRZ.mjs';
|
||||
import './chunk-CKO6TW2F.mjs';
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
17
frontend/node_modules/@storybook/react/dist/entry-preview-docs.d.ts
generated
vendored
Normal file
17
frontend/node_modules/@storybook/react/dist/entry-preview-docs.d.ts
generated
vendored
Normal file
@@ -0,0 +1,17 @@
|
||||
import { LegacyStoryFn, DecoratorFunction } from 'storybook/internal/types';
|
||||
import { R as ReactRenderer } from './types-5617c98e.js';
|
||||
import 'react';
|
||||
|
||||
declare const applyDecorators: (storyFn: LegacyStoryFn<ReactRenderer>, decorators: DecoratorFunction<ReactRenderer>[]) => LegacyStoryFn<ReactRenderer>;
|
||||
|
||||
declare const decorators: DecoratorFunction<ReactRenderer>[];
|
||||
|
||||
declare const parameters: {
|
||||
docs: {
|
||||
story: {
|
||||
inline: boolean;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
export { applyDecorators, decorators, parameters };
|
||||
17
frontend/node_modules/@storybook/react/dist/entry-preview-docs.js
generated
vendored
Normal file
17
frontend/node_modules/@storybook/react/dist/entry-preview-docs.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
4
frontend/node_modules/@storybook/react/dist/entry-preview-docs.mjs
generated
vendored
Normal file
4
frontend/node_modules/@storybook/react/dist/entry-preview-docs.mjs
generated
vendored
Normal file
@@ -0,0 +1,4 @@
|
||||
export { applyDecorators, decorators, parameters } from './chunk-AWLHXXSE.mjs';
|
||||
import './chunk-XLZBPYSH.mjs';
|
||||
import './chunk-CKO6TW2F.mjs';
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
7
frontend/node_modules/@storybook/react/dist/entry-preview-rsc.d.ts
generated
vendored
Normal file
7
frontend/node_modules/@storybook/react/dist/entry-preview-rsc.d.ts
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
declare const parameters: {
|
||||
react: {
|
||||
rsc: boolean;
|
||||
};
|
||||
};
|
||||
|
||||
export { parameters };
|
||||
1
frontend/node_modules/@storybook/react/dist/entry-preview-rsc.js
generated
vendored
Normal file
1
frontend/node_modules/@storybook/react/dist/entry-preview-rsc.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var entry_preview_rsc_exports={};__export(entry_preview_rsc_exports,{parameters:()=>parameters});module.exports=__toCommonJS(entry_preview_rsc_exports);var parameters={react:{rsc:!0}};0&&(module.exports={parameters});
|
||||
5
frontend/node_modules/@storybook/react/dist/entry-preview-rsc.mjs
generated
vendored
Normal file
5
frontend/node_modules/@storybook/react/dist/entry-preview-rsc.mjs
generated
vendored
Normal file
@@ -0,0 +1,5 @@
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
|
||||
var parameters={react:{rsc:!0}};
|
||||
|
||||
export { parameters };
|
||||
20
frontend/node_modules/@storybook/react/dist/entry-preview.d.ts
generated
vendored
Normal file
20
frontend/node_modules/@storybook/react/dist/entry-preview.d.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
||||
import { D as Decorator } from './public-types-f2c70f25.js';
|
||||
import { ArgsStoryFn, RenderContext, BaseAnnotations, LegacyStoryFn, DecoratorFunction } from 'storybook/internal/types';
|
||||
import { R as ReactRenderer } from './types-5617c98e.js';
|
||||
import 'react';
|
||||
|
||||
declare const render: ArgsStoryFn<ReactRenderer>;
|
||||
|
||||
declare function renderToCanvas({ storyContext, unboundStoryFn, showMain, showException, forceRemount, }: RenderContext<ReactRenderer>, canvasElement: ReactRenderer['canvasElement']): Promise<() => Promise<void>>;
|
||||
|
||||
declare const mount: BaseAnnotations<ReactRenderer>['mount'];
|
||||
|
||||
declare const applyDecorators: (storyFn: LegacyStoryFn<ReactRenderer>, decorators: DecoratorFunction<ReactRenderer>[]) => LegacyStoryFn<ReactRenderer>;
|
||||
|
||||
declare const decorators: Decorator[];
|
||||
declare const parameters: {
|
||||
renderer: string;
|
||||
};
|
||||
declare const beforeAll: () => Promise<void>;
|
||||
|
||||
export { applyDecorators, beforeAll, decorators, mount, parameters, render, renderToCanvas };
|
||||
1
frontend/node_modules/@storybook/react/dist/entry-preview.js
generated
vendored
Normal file
1
frontend/node_modules/@storybook/react/dist/entry-preview.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
3
frontend/node_modules/@storybook/react/dist/entry-preview.mjs
generated
vendored
Normal file
3
frontend/node_modules/@storybook/react/dist/entry-preview.mjs
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export { beforeAll, decorators, mount, parameters, render, renderToCanvas } from './chunk-MNKU3DTE.mjs';
|
||||
export { applyDecorators } from './chunk-XLZBPYSH.mjs';
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
91
frontend/node_modules/@storybook/react/dist/index.d.ts
generated
vendored
Normal file
91
frontend/node_modules/@storybook/react/dist/index.d.ts
generated
vendored
Normal file
@@ -0,0 +1,91 @@
|
||||
import { M as Meta } from './public-types-f2c70f25.js';
|
||||
export { A as AddMocks, D as Decorator, L as Loader, P as Preview, b as StoryContext, S as StoryFn, a as StoryObj } from './public-types-f2c70f25.js';
|
||||
import { NamedOrDefaultProjectAnnotations, NormalizedProjectAnnotations, ProjectAnnotations, Args, StoryAnnotationsOrFn, ComposedStoryFn, Store_CSFExports, StoriesWithPartialProps } from 'storybook/internal/types';
|
||||
export { ArgTypes, Args, Parameters, StrictArgs } from 'storybook/internal/types';
|
||||
import { R as ReactRenderer } from './types-5617c98e.js';
|
||||
export { a as ReactParameters } from './types-5617c98e.js';
|
||||
export { ReactPreview, ReactStory, __definePreview } from './preview.js';
|
||||
import 'react';
|
||||
import 'storybook/internal/csf';
|
||||
|
||||
/**
|
||||
* Function that sets the globalConfig of your storybook. The global config is the preview module of
|
||||
* your .storybook folder.
|
||||
*
|
||||
* It should be run a single time, so that your global config (e.g. decorators) is applied to your
|
||||
* stories when using `composeStories` or `composeStory`.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* ```jsx
|
||||
* // setup-file.js
|
||||
* import { setProjectAnnotations } from '@storybook/react';
|
||||
* import projectAnnotations from './.storybook/preview';
|
||||
*
|
||||
* setProjectAnnotations(projectAnnotations);
|
||||
* ```
|
||||
*
|
||||
* @param projectAnnotations - E.g. (import * as projectAnnotations from '../.storybook/preview')
|
||||
*/
|
||||
declare function setProjectAnnotations(projectAnnotations: NamedOrDefaultProjectAnnotations<any> | NamedOrDefaultProjectAnnotations<any>[]): NormalizedProjectAnnotations<ReactRenderer>;
|
||||
declare const INTERNAL_DEFAULT_PROJECT_ANNOTATIONS: ProjectAnnotations<ReactRenderer>;
|
||||
/**
|
||||
* Function that will receive a story along with meta (e.g. a default export from a .stories file)
|
||||
* and optionally projectAnnotations e.g. (import * as projectAnnotations from
|
||||
* '../.storybook/preview) and will return a composed component that has all
|
||||
* args/parameters/decorators/etc combined and applied to it.
|
||||
*
|
||||
* It's very useful for reusing a story in scenarios outside of Storybook like unit testing.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* ```jsx
|
||||
* import { render } from '@testing-library/react';
|
||||
* import { composeStory } from '@storybook/react';
|
||||
* import Meta, { Primary as PrimaryStory } from './Button.stories';
|
||||
*
|
||||
* const Primary = composeStory(PrimaryStory, Meta);
|
||||
*
|
||||
* test('renders primary button with Hello World', () => {
|
||||
* const { getByText } = render(<Primary>Hello world</Primary>);
|
||||
* expect(getByText(/Hello world/i)).not.toBeNull();
|
||||
* });
|
||||
* ```
|
||||
*
|
||||
* @param story
|
||||
* @param componentAnnotations - E.g. (import Meta from './Button.stories')
|
||||
* @param [projectAnnotations] - E.g. (import * as projectAnnotations from '../.storybook/preview')
|
||||
* this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
||||
* @param [exportsName] - In case your story does not contain a name and you want it to have a name.
|
||||
*/
|
||||
declare function composeStory<TArgs extends Args = Args>(story: StoryAnnotationsOrFn<ReactRenderer, TArgs>, componentAnnotations: Meta<TArgs | any>, projectAnnotations?: ProjectAnnotations<ReactRenderer>, exportsName?: string): ComposedStoryFn<ReactRenderer, Partial<TArgs>>;
|
||||
/**
|
||||
* Function that will receive a stories import (e.g. `import * as stories from './Button.stories'`)
|
||||
* and optionally projectAnnotations (e.g. `import * as projectAnnotations from
|
||||
* '../.storybook/preview`) and will return an object containing all the stories passed, but now as
|
||||
* a composed component that has all args/parameters/decorators/etc combined and applied to it.
|
||||
*
|
||||
* It's very useful for reusing stories in scenarios outside of Storybook like unit testing.
|
||||
*
|
||||
* Example:
|
||||
*
|
||||
* ```jsx
|
||||
* import { render } from '@testing-library/react';
|
||||
* import { composeStories } from '@storybook/react';
|
||||
* import * as stories from './Button.stories';
|
||||
*
|
||||
* const { Primary, Secondary } = composeStories(stories);
|
||||
*
|
||||
* test('renders primary button with Hello World', () => {
|
||||
* const { getByText } = render(<Primary>Hello world</Primary>);
|
||||
* expect(getByText(/Hello world/i)).not.toBeNull();
|
||||
* });
|
||||
* ```
|
||||
*
|
||||
* @param csfExports - E.g. (import * as stories from './Button.stories')
|
||||
* @param [projectAnnotations] - E.g. (import * as projectAnnotations from '../.storybook/preview')
|
||||
* this can be applied automatically if you use `setProjectAnnotations` in your setup files.
|
||||
*/
|
||||
declare function composeStories<TModule extends Store_CSFExports<ReactRenderer, any>>(csfExports: TModule, projectAnnotations?: ProjectAnnotations<ReactRenderer>): Omit<StoriesWithPartialProps<ReactRenderer, TModule>, keyof Store_CSFExports>;
|
||||
|
||||
export { INTERNAL_DEFAULT_PROJECT_ANNOTATIONS, Meta, ReactRenderer, composeStories, composeStory, setProjectAnnotations };
|
||||
46
frontend/node_modules/@storybook/react/dist/index.js
generated
vendored
Normal file
46
frontend/node_modules/@storybook/react/dist/index.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
14
frontend/node_modules/@storybook/react/dist/index.mjs
generated
vendored
Normal file
14
frontend/node_modules/@storybook/react/dist/index.mjs
generated
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
export { __definePreview } from './chunk-XBCHTE6T.mjs';
|
||||
import { entry_preview_exports, renderToCanvas } from './chunk-MNKU3DTE.mjs';
|
||||
import { entry_preview_argtypes_exports } from './chunk-N3U7HZRZ.mjs';
|
||||
import './chunk-AWLHXXSE.mjs';
|
||||
import './chunk-XLZBPYSH.mjs';
|
||||
import './chunk-CKO6TW2F.mjs';
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
import { global } from '@storybook/global';
|
||||
import * as React from 'react';
|
||||
import { composeConfigs, setDefaultProjectAnnotations, setProjectAnnotations as setProjectAnnotations$1, composeStory as composeStory$1, composeStories as composeStories$1 } from 'storybook/preview-api';
|
||||
|
||||
var{window:globalWindow}=global;globalWindow&&(globalWindow.STORYBOOK_ENV="react");function setProjectAnnotations(projectAnnotations){return setDefaultProjectAnnotations(INTERNAL_DEFAULT_PROJECT_ANNOTATIONS),setProjectAnnotations$1(projectAnnotations)}var INTERNAL_DEFAULT_PROJECT_ANNOTATIONS=composeConfigs([entry_preview_exports,entry_preview_argtypes_exports,{renderToCanvas:async(renderContext,canvasElement)=>{if(renderContext.storyContext.testingLibraryRender==null)return renderToCanvas(renderContext,canvasElement);let{storyContext:{context,unboundStoryFn:Story,testingLibraryRender:render}}=renderContext,{unmount}=render(React.createElement(Story,{...context}),{container:context.canvasElement});return unmount}}]);function composeStory(story,componentAnnotations,projectAnnotations,exportsName){return composeStory$1(story,componentAnnotations,projectAnnotations,globalThis.globalProjectAnnotations??INTERNAL_DEFAULT_PROJECT_ANNOTATIONS,exportsName)}function composeStories(csfExports,projectAnnotations){return composeStories$1(csfExports,projectAnnotations,composeStory)}typeof module<"u"&&module?.hot?.decline();
|
||||
|
||||
export { INTERNAL_DEFAULT_PROJECT_ANNOTATIONS, composeStories, composeStory, setProjectAnnotations };
|
||||
1
frontend/node_modules/@storybook/react/dist/playwright.d.ts
generated
vendored
Normal file
1
frontend/node_modules/@storybook/react/dist/playwright.d.ts
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
export { createPlaywrightTest as createTest } from 'storybook/preview-api';
|
||||
1
frontend/node_modules/@storybook/react/dist/playwright.js
generated
vendored
Normal file
1
frontend/node_modules/@storybook/react/dist/playwright.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var playwright_exports={};__export(playwright_exports,{createTest:()=>import_preview_api.createPlaywrightTest});module.exports=__toCommonJS(playwright_exports);var import_preview_api=require("storybook/preview-api");0&&(module.exports={createTest});
|
||||
2
frontend/node_modules/@storybook/react/dist/playwright.mjs
generated
vendored
Normal file
2
frontend/node_modules/@storybook/react/dist/playwright.mjs
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
export { createPlaywrightTest as createTest } from 'storybook/preview-api';
|
||||
19
frontend/node_modules/@storybook/react/dist/preset.d.ts
generated
vendored
Normal file
19
frontend/node_modules/@storybook/react/dist/preset.d.ts
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { PresetProperty } from 'storybook/internal/types';
|
||||
|
||||
declare const addons: PresetProperty<'addons'>;
|
||||
declare const previewAnnotations: PresetProperty<'previewAnnotations'>;
|
||||
/**
|
||||
* Try to resolve react and react-dom from the root node_modules of the project addon-docs uses this
|
||||
* to alias react and react-dom to the project's version when possible If the user doesn't have an
|
||||
* explicit dependency on react this will return the existing values Which will be the versions
|
||||
* shipped with addon-docs
|
||||
*
|
||||
* We do the exact same thing in the common preset, but that will fail in Yarn PnP because
|
||||
*
|
||||
* Storybook/internal/core-server doesn't have a peer dependency on react This will make
|
||||
*
|
||||
* @storybook/react projects work in Yarn PnP
|
||||
*/
|
||||
declare const resolvedReact: (existing: any) => Promise<any>;
|
||||
|
||||
export { addons, previewAnnotations, resolvedReact };
|
||||
1
frontend/node_modules/@storybook/react/dist/preset.js
generated
vendored
Normal file
1
frontend/node_modules/@storybook/react/dist/preset.js
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
"use strict";var __create=Object.create;var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toESM=(mod,isNodeMode,target)=>(target=mod!=null?__create(__getProtoOf(mod)):{},__copyProps(isNodeMode||!mod||!mod.__esModule?__defProp(target,"default",{value:mod,enumerable:!0}):target,mod)),__toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{addons:()=>addons,previewAnnotations:()=>previewAnnotations,resolvedReact:()=>resolvedReact});module.exports=__toCommonJS(preset_exports);var import_node_path=require("path"),addons=[require.resolve("@storybook/react-dom-shim/dist/preset")],previewAnnotations=async(input=[],options)=>{let docsConfig=await options.presets.apply("docs",{},options),features=await options.presets.apply("features",{},options),docsEnabled=Object.keys(docsConfig).length>0;return[].concat(input).concat((0,import_node_path.join)(__dirname,"entry-preview.mjs"),(0,import_node_path.join)(__dirname,"entry-preview-argtypes.mjs")).concat(docsEnabled?[(0,import_node_path.join)(__dirname,"entry-preview-docs.mjs")]:[]).concat(features?.experimentalRSC?[(0,import_node_path.join)(__dirname,"entry-preview-rsc.mjs")]:[])},resolvedReact=async existing=>{try{return{...existing,react:(0,import_node_path.dirname)(require.resolve("react/package.json")),reactDom:(0,import_node_path.dirname)(require.resolve("react-dom/package.json"))}}catch{return existing}};0&&(module.exports={addons,previewAnnotations,resolvedReact});
|
||||
199
frontend/node_modules/@storybook/react/dist/preview.d.ts
generated
vendored
Normal file
199
frontend/node_modules/@storybook/react/dist/preview.d.ts
generated
vendored
Normal file
@@ -0,0 +1,199 @@
|
||||
import { ComponentType } from 'react';
|
||||
import { Preview, Meta, Story } from 'storybook/internal/csf';
|
||||
import { Args, DecoratorFunction, ArgsStoryFn, ComponentAnnotations, Renderer, StoryAnnotations } from 'storybook/internal/types';
|
||||
import { c as Simplify, A as AddMocks, d as SetOptional } from './public-types-f2c70f25.js';
|
||||
import { R as ReactRenderer } from './types-5617c98e.js';
|
||||
|
||||
/**
|
||||
Remove any index signatures from the given object type, so that only explicitly defined properties remain.
|
||||
|
||||
Use-cases:
|
||||
- Remove overly permissive signatures from third-party types.
|
||||
|
||||
This type was taken from this [StackOverflow answer](https://stackoverflow.com/a/68261113/420747).
|
||||
|
||||
It relies on the fact that an empty object (`{}`) is assignable to an object with just an index signature, like `Record<string, unknown>`, but not to an object with explicitly defined keys, like `Record<'foo' | 'bar', unknown>`.
|
||||
|
||||
(The actual value type, `unknown`, is irrelevant and could be any type. Only the key type matters.)
|
||||
|
||||
```
|
||||
const indexed: Record<string, unknown> = {}; // Allowed
|
||||
|
||||
const keyed: Record<'foo', unknown> = {}; // Error
|
||||
// => TS2739: Type '{}' is missing the following properties from type 'Record<"foo" | "bar", unknown>': foo, bar
|
||||
```
|
||||
|
||||
Instead of causing a type error like the above, you can also use a [conditional type](https://www.typescriptlang.org/docs/handbook/2/conditional-types.html) to test whether a type is assignable to another:
|
||||
|
||||
```
|
||||
type Indexed = {} extends Record<string, unknown>
|
||||
? '✅ `{}` is assignable to `Record<string, unknown>`'
|
||||
: '❌ `{}` is NOT assignable to `Record<string, unknown>`';
|
||||
// => '✅ `{}` is assignable to `Record<string, unknown>`'
|
||||
|
||||
type Keyed = {} extends Record<'foo' | 'bar', unknown>
|
||||
? "✅ `{}` is assignable to `Record<'foo' | 'bar', unknown>`"
|
||||
: "❌ `{}` is NOT assignable to `Record<'foo' | 'bar', unknown>`";
|
||||
// => "❌ `{}` is NOT assignable to `Record<'foo' | 'bar', unknown>`"
|
||||
```
|
||||
|
||||
Using a [mapped type](https://www.typescriptlang.org/docs/handbook/2/mapped-types.html#further-exploration), you can then check for each `KeyType` of `ObjectType`...
|
||||
|
||||
```
|
||||
import type {RemoveIndexSignature} from 'type-fest';
|
||||
|
||||
type RemoveIndexSignature<ObjectType> = {
|
||||
[KeyType in keyof ObjectType // Map each key of `ObjectType`...
|
||||
]: ObjectType[KeyType]; // ...to its original value, i.e. `RemoveIndexSignature<Foo> == Foo`.
|
||||
};
|
||||
```
|
||||
|
||||
...whether an empty object (`{}`) would be assignable to an object with that `KeyType` (`Record<KeyType, unknown>`)...
|
||||
|
||||
```
|
||||
import type {RemoveIndexSignature} from 'type-fest';
|
||||
|
||||
type RemoveIndexSignature<ObjectType> = {
|
||||
[KeyType in keyof ObjectType
|
||||
// Is `{}` assignable to `Record<KeyType, unknown>`?
|
||||
as {} extends Record<KeyType, unknown>
|
||||
? ... // ✅ `{}` is assignable to `Record<KeyType, unknown>`
|
||||
: ... // ❌ `{}` is NOT assignable to `Record<KeyType, unknown>`
|
||||
]: ObjectType[KeyType];
|
||||
};
|
||||
```
|
||||
|
||||
If `{}` is assignable, it means that `KeyType` is an index signature and we want to remove it. If it is not assignable, `KeyType` is a "real" key and we want to keep it.
|
||||
|
||||
```
|
||||
import type {RemoveIndexSignature} from 'type-fest';
|
||||
|
||||
type RemoveIndexSignature<ObjectType> = {
|
||||
[KeyType in keyof ObjectType
|
||||
as {} extends Record<KeyType, unknown>
|
||||
? never // => Remove this `KeyType`.
|
||||
: KeyType // => Keep this `KeyType` as it is.
|
||||
]: ObjectType[KeyType];
|
||||
};
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
import type {RemoveIndexSignature} from 'type-fest';
|
||||
|
||||
interface Example {
|
||||
// These index signatures will be removed.
|
||||
[x: string]: any
|
||||
[x: number]: any
|
||||
[x: symbol]: any
|
||||
[x: `head-${string}`]: string
|
||||
[x: `${string}-tail`]: string
|
||||
[x: `head-${string}-tail`]: string
|
||||
[x: `${bigint}`]: string
|
||||
[x: `embedded-${number}`]: string
|
||||
|
||||
// These explicitly defined keys will remain.
|
||||
foo: 'bar';
|
||||
qux?: 'baz';
|
||||
}
|
||||
|
||||
type ExampleWithoutIndexSignatures = RemoveIndexSignature<Example>;
|
||||
// => { foo: 'bar'; qux?: 'baz' | undefined; }
|
||||
```
|
||||
|
||||
@category Object
|
||||
*/
|
||||
type RemoveIndexSignature<ObjectType> = {
|
||||
[KeyType in keyof ObjectType as {} extends Record<KeyType, unknown>
|
||||
? never
|
||||
: KeyType]: ObjectType[KeyType];
|
||||
};
|
||||
|
||||
/**
|
||||
Convert a union type to an intersection type using [distributive conditional types](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
|
||||
|
||||
Inspired by [this Stack Overflow answer](https://stackoverflow.com/a/50375286/2172153).
|
||||
|
||||
@example
|
||||
```
|
||||
import type {UnionToIntersection} from 'type-fest';
|
||||
|
||||
type Union = {the(): void} | {great(arg: string): void} | {escape: boolean};
|
||||
|
||||
type Intersection = UnionToIntersection<Union>;
|
||||
//=> {the(): void; great(arg: string): void; escape: boolean};
|
||||
```
|
||||
|
||||
A more applicable example which could make its way into your library code follows.
|
||||
|
||||
@example
|
||||
```
|
||||
import type {UnionToIntersection} from 'type-fest';
|
||||
|
||||
class CommandOne {
|
||||
commands: {
|
||||
a1: () => undefined,
|
||||
b1: () => undefined,
|
||||
}
|
||||
}
|
||||
|
||||
class CommandTwo {
|
||||
commands: {
|
||||
a2: (argA: string) => undefined,
|
||||
b2: (argB: string) => undefined,
|
||||
}
|
||||
}
|
||||
|
||||
const union = [new CommandOne(), new CommandTwo()].map(instance => instance.commands);
|
||||
type Union = typeof union;
|
||||
//=> {a1(): void; b1(): void} | {a2(argA: string): void; b2(argB: string): void}
|
||||
|
||||
type Intersection = UnionToIntersection<Union>;
|
||||
//=> {a1(): void; b1(): void; a2(argA: string): void; b2(argB: string): void}
|
||||
```
|
||||
|
||||
@category Type
|
||||
*/
|
||||
type UnionToIntersection<Union> = (
|
||||
// `extends unknown` is always going to be the case and is used to convert the
|
||||
// `Union` into a [distributive conditional
|
||||
// type](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-8.html#distributive-conditional-types).
|
||||
Union extends unknown
|
||||
// The union type is used as the only argument to a function since the union
|
||||
// of function arguments is an intersection.
|
||||
? (distributedUnion: Union) => void
|
||||
// This won't happen.
|
||||
: never
|
||||
// Infer the `Intersection` type since TypeScript represents the positional
|
||||
// arguments of unions of functions as an intersection of the union.
|
||||
) extends ((mergedIntersection: infer Intersection) => void)
|
||||
? Intersection
|
||||
: never;
|
||||
|
||||
/** Do not use, use the definePreview exported from the framework instead */
|
||||
declare function __definePreview(preview: ReactPreview['input']): ReactPreview;
|
||||
interface ReactPreview extends Preview<ReactRenderer> {
|
||||
meta<TArgs extends Args, Decorators extends DecoratorFunction<ReactRenderer, any>, TMetaArgs extends Partial<TArgs>>(meta: {
|
||||
render?: ArgsStoryFn<ReactRenderer, TArgs>;
|
||||
component?: ComponentType<TArgs>;
|
||||
decorators?: Decorators | Decorators[];
|
||||
args?: TMetaArgs;
|
||||
} & Omit<ComponentAnnotations<ReactRenderer, TArgs>, 'decorators'>): ReactMeta<{
|
||||
args: Simplify<TArgs & Simplify<RemoveIndexSignature<DecoratorsArgs<ReactRenderer, Decorators>>>>;
|
||||
}, {
|
||||
args: Partial<TArgs> extends TMetaArgs ? {} : TMetaArgs;
|
||||
}>;
|
||||
}
|
||||
type DecoratorsArgs<TRenderer extends Renderer, Decorators> = UnionToIntersection<Decorators extends DecoratorFunction<TRenderer, infer TArgs> ? TArgs : unknown>;
|
||||
interface ReactMeta<Context extends {
|
||||
args: Args;
|
||||
}, MetaInput extends ComponentAnnotations<ReactRenderer>> extends Meta<ReactRenderer, Context['args']> {
|
||||
story<TInput extends StoryAnnotations<ReactRenderer, Context['args']> & {
|
||||
render: () => ReactRenderer['storyResult'];
|
||||
}>(story: TInput): ReactStory;
|
||||
story<TInput extends Simplify<StoryAnnotations<ReactRenderer, AddMocks<Context['args'], MetaInput['args']>, SetOptional<Context['args'], keyof Context['args'] & keyof MetaInput['args']>>>>(story: TInput): ReactStory;
|
||||
}
|
||||
interface ReactStory extends Story<ReactRenderer> {
|
||||
}
|
||||
|
||||
export { ReactPreview, ReactStory, __definePreview };
|
||||
46
frontend/node_modules/@storybook/react/dist/preview.js
generated
vendored
Normal file
46
frontend/node_modules/@storybook/react/dist/preview.js
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
7
frontend/node_modules/@storybook/react/dist/preview.mjs
generated
vendored
Normal file
7
frontend/node_modules/@storybook/react/dist/preview.mjs
generated
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
export { __definePreview } from './chunk-XBCHTE6T.mjs';
|
||||
import './chunk-MNKU3DTE.mjs';
|
||||
import './chunk-N3U7HZRZ.mjs';
|
||||
import './chunk-AWLHXXSE.mjs';
|
||||
import './chunk-XLZBPYSH.mjs';
|
||||
import './chunk-CKO6TW2F.mjs';
|
||||
import './chunk-XP5HYGXS.mjs';
|
||||
230
frontend/node_modules/@storybook/react/dist/public-types-f2c70f25.d.ts
generated
vendored
Normal file
230
frontend/node_modules/@storybook/react/dist/public-types-f2c70f25.d.ts
generated
vendored
Normal file
@@ -0,0 +1,230 @@
|
||||
import { ComponentType, ComponentProps } from 'react';
|
||||
import { Args, ComponentAnnotations, AnnotatedStoryFn, ArgsStoryFn, ArgsFromMeta, StoryAnnotations, StrictArgs, DecoratorFunction, LoaderFunction, StoryContext as StoryContext$1, ProjectAnnotations } from 'storybook/internal/types';
|
||||
import { R as ReactRenderer } from './types-5617c98e.js';
|
||||
|
||||
declare global {
|
||||
interface SymbolConstructor {
|
||||
readonly observable: symbol;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
Returns a boolean for whether the two given types are equal.
|
||||
|
||||
@link https://github.com/microsoft/TypeScript/issues/27024#issuecomment-421529650
|
||||
@link https://stackoverflow.com/questions/68961864/how-does-the-equals-work-in-typescript/68963796#68963796
|
||||
*/
|
||||
type IsEqual<T, U> =
|
||||
(<G>() => G extends T ? 1 : 2) extends
|
||||
(<G>() => G extends U ? 1 : 2)
|
||||
? true
|
||||
: false;
|
||||
|
||||
/**
|
||||
Filter out keys from an object.
|
||||
|
||||
Returns `never` if `Exclude` is strictly equal to `Key`.
|
||||
Returns `never` if `Key` extends `Exclude`.
|
||||
Returns `Key` otherwise.
|
||||
|
||||
@example
|
||||
```
|
||||
type Filtered = Filter<'foo', 'foo'>;
|
||||
//=> never
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
type Filtered = Filter<'bar', string>;
|
||||
//=> never
|
||||
```
|
||||
|
||||
@example
|
||||
```
|
||||
type Filtered = Filter<'bar', 'foo'>;
|
||||
//=> 'bar'
|
||||
```
|
||||
|
||||
@see {Except}
|
||||
*/
|
||||
type Filter<KeyType, ExcludeType> = IsEqual<KeyType, ExcludeType> extends true ? never : (KeyType extends ExcludeType ? never : KeyType);
|
||||
|
||||
/**
|
||||
Create a type from an object type without certain keys.
|
||||
|
||||
This type is a stricter version of [`Omit`](https://www.typescriptlang.org/docs/handbook/release-notes/typescript-3-5.html#the-omit-helper-type). The `Omit` type does not restrict the omitted keys to be keys present on the given type, while `Except` does. The benefits of a stricter type are avoiding typos and allowing the compiler to pick up on rename refactors automatically.
|
||||
|
||||
This type was proposed to the TypeScript team, which declined it, saying they prefer that libraries implement stricter versions of the built-in types ([microsoft/TypeScript#30825](https://github.com/microsoft/TypeScript/issues/30825#issuecomment-523668235)).
|
||||
|
||||
@example
|
||||
```
|
||||
import type {Except} from 'type-fest';
|
||||
|
||||
type Foo = {
|
||||
a: number;
|
||||
b: string;
|
||||
c: boolean;
|
||||
};
|
||||
|
||||
type FooWithoutA = Except<Foo, 'a' | 'c'>;
|
||||
//=> {b: string};
|
||||
```
|
||||
|
||||
@category Object
|
||||
*/
|
||||
type Except<ObjectType, KeysType extends keyof ObjectType> = {
|
||||
[KeyType in keyof ObjectType as Filter<KeyType, KeysType>]: ObjectType[KeyType];
|
||||
};
|
||||
|
||||
/**
|
||||
@see Simplify
|
||||
*/
|
||||
interface SimplifyOptions {
|
||||
/**
|
||||
Do the simplification recursively.
|
||||
|
||||
@default false
|
||||
*/
|
||||
deep?: boolean;
|
||||
}
|
||||
|
||||
// Flatten a type without worrying about the result.
|
||||
type Flatten<
|
||||
AnyType,
|
||||
Options extends SimplifyOptions = {},
|
||||
> = Options['deep'] extends true
|
||||
? {[KeyType in keyof AnyType]: Simplify<AnyType[KeyType], Options>}
|
||||
: {[KeyType in keyof AnyType]: AnyType[KeyType]};
|
||||
|
||||
/**
|
||||
Useful to flatten the type output to improve type hints shown in editors. And also to transform an interface into a type to aide with assignability.
|
||||
|
||||
@example
|
||||
```
|
||||
import type {Simplify} from 'type-fest';
|
||||
|
||||
type PositionProps = {
|
||||
top: number;
|
||||
left: number;
|
||||
};
|
||||
|
||||
type SizeProps = {
|
||||
width: number;
|
||||
height: number;
|
||||
};
|
||||
|
||||
// In your editor, hovering over `Props` will show a flattened object with all the properties.
|
||||
type Props = Simplify<PositionProps & SizeProps>;
|
||||
```
|
||||
|
||||
Sometimes it is desired to pass a value as a function argument that has a different type. At first inspection it may seem assignable, and then you discover it is not because the `value`'s type definition was defined as an interface. In the following example, `fn` requires an argument of type `Record<string, unknown>`. If the value is defined as a literal, then it is assignable. And if the `value` is defined as type using the `Simplify` utility the value is assignable. But if the `value` is defined as an interface, it is not assignable because the interface is not sealed and elsewhere a non-string property could be added to the interface.
|
||||
|
||||
If the type definition must be an interface (perhaps it was defined in a third-party npm package), then the `value` can be defined as `const value: Simplify<SomeInterface> = ...`. Then `value` will be assignable to the `fn` argument. Or the `value` can be cast as `Simplify<SomeInterface>` if you can't re-declare the `value`.
|
||||
|
||||
@example
|
||||
```
|
||||
import type {Simplify} from 'type-fest';
|
||||
|
||||
interface SomeInterface {
|
||||
foo: number;
|
||||
bar?: string;
|
||||
baz: number | undefined;
|
||||
}
|
||||
|
||||
type SomeType = {
|
||||
foo: number;
|
||||
bar?: string;
|
||||
baz: number | undefined;
|
||||
};
|
||||
|
||||
const literal = {foo: 123, bar: 'hello', baz: 456};
|
||||
const someType: SomeType = literal;
|
||||
const someInterface: SomeInterface = literal;
|
||||
|
||||
function fn(object: Record<string, unknown>): void {}
|
||||
|
||||
fn(literal); // Good: literal object type is sealed
|
||||
fn(someType); // Good: type is sealed
|
||||
fn(someInterface); // Error: Index signature for type 'string' is missing in type 'someInterface'. Because `interface` can be re-opened
|
||||
fn(someInterface as Simplify<SomeInterface>); // Good: transform an `interface` into a `type`
|
||||
```
|
||||
|
||||
@link https://github.com/microsoft/TypeScript/issues/15300
|
||||
|
||||
@category Object
|
||||
*/
|
||||
type Simplify<
|
||||
AnyType,
|
||||
Options extends SimplifyOptions = {},
|
||||
> = Flatten<AnyType> extends AnyType
|
||||
? Flatten<AnyType, Options>
|
||||
: AnyType;
|
||||
|
||||
/**
|
||||
Create a type that makes the given keys optional. The remaining keys are kept as is. The sister of the `SetRequired` type.
|
||||
|
||||
Use-case: You want to define a single model where the only thing that changes is whether or not some of the keys are optional.
|
||||
|
||||
@example
|
||||
```
|
||||
import type {SetOptional} from 'type-fest';
|
||||
|
||||
type Foo = {
|
||||
a: number;
|
||||
b?: string;
|
||||
c: boolean;
|
||||
}
|
||||
|
||||
type SomeOptional = SetOptional<Foo, 'b' | 'c'>;
|
||||
// type SomeOptional = {
|
||||
// a: number;
|
||||
// b?: string; // Was already optional and still is.
|
||||
// c?: boolean; // Is now optional.
|
||||
// }
|
||||
```
|
||||
|
||||
@category Object
|
||||
*/
|
||||
type SetOptional<BaseType, Keys extends keyof BaseType> =
|
||||
Simplify<
|
||||
// Pick just the keys that are readonly from the base type.
|
||||
Except<BaseType, Keys> &
|
||||
// Pick the keys that should be mutable from the base type and make them mutable.
|
||||
Partial<Pick<BaseType, Keys>>
|
||||
>;
|
||||
|
||||
/**
|
||||
* Metadata to configure the stories for a component.
|
||||
*
|
||||
* @see [Default export](https://storybook.js.org/docs/api/csf#default-export)
|
||||
*/
|
||||
type Meta<TCmpOrArgs = Args> = [TCmpOrArgs] extends [ComponentType<any>] ? ComponentAnnotations<ReactRenderer, ComponentProps<TCmpOrArgs>> : ComponentAnnotations<ReactRenderer, TCmpOrArgs>;
|
||||
/**
|
||||
* Story function that represents a CSFv2 component example.
|
||||
*
|
||||
* @see [Named Story exports](https://storybook.js.org/docs/api/csf#named-story-exports)
|
||||
*/
|
||||
type StoryFn<TCmpOrArgs = Args> = [TCmpOrArgs] extends [ComponentType<any>] ? AnnotatedStoryFn<ReactRenderer, ComponentProps<TCmpOrArgs>> : AnnotatedStoryFn<ReactRenderer, TCmpOrArgs>;
|
||||
/**
|
||||
* Story object that represents a CSFv3 component example.
|
||||
*
|
||||
* @see [Named Story exports](https://storybook.js.org/docs/api/csf#named-story-exports)
|
||||
*/
|
||||
type StoryObj<TMetaOrCmpOrArgs = Args> = [TMetaOrCmpOrArgs] extends [
|
||||
{
|
||||
render?: ArgsStoryFn<ReactRenderer, any>;
|
||||
component?: infer Component;
|
||||
args?: infer DefaultArgs;
|
||||
}
|
||||
] ? Simplify<(Component extends ComponentType<any> ? ComponentProps<Component> : unknown) & ArgsFromMeta<ReactRenderer, TMetaOrCmpOrArgs>> extends infer TArgs ? StoryAnnotations<ReactRenderer, AddMocks<TArgs, DefaultArgs>, SetOptional<TArgs, keyof TArgs & keyof DefaultArgs>> : never : TMetaOrCmpOrArgs extends ComponentType<any> ? StoryAnnotations<ReactRenderer, ComponentProps<TMetaOrCmpOrArgs>> : StoryAnnotations<ReactRenderer, TMetaOrCmpOrArgs>;
|
||||
type AddMocks<TArgs, DefaultArgs> = Simplify<{
|
||||
[T in keyof TArgs]: T extends keyof DefaultArgs ? DefaultArgs[T] extends (...args: any) => any & {
|
||||
mock: {};
|
||||
} ? DefaultArgs[T] : TArgs[T] : TArgs[T];
|
||||
}>;
|
||||
type Decorator<TArgs = StrictArgs> = DecoratorFunction<ReactRenderer, TArgs>;
|
||||
type Loader<TArgs = StrictArgs> = LoaderFunction<ReactRenderer, TArgs>;
|
||||
type StoryContext<TArgs = StrictArgs> = StoryContext$1<ReactRenderer, TArgs>;
|
||||
type Preview = ProjectAnnotations<ReactRenderer>;
|
||||
|
||||
export { AddMocks as A, Decorator as D, Loader as L, Meta as M, Preview as P, StoryFn as S, StoryObj as a, StoryContext as b, Simplify as c, SetOptional as d };
|
||||
27
frontend/node_modules/@storybook/react/dist/types-5617c98e.d.ts
generated
vendored
Normal file
27
frontend/node_modules/@storybook/react/dist/types-5617c98e.d.ts
generated
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
import { ComponentType, JSX } from 'react';
|
||||
import { WebRenderer, Canvas } from 'storybook/internal/types';
|
||||
|
||||
interface ReactRenderer extends WebRenderer {
|
||||
component: ComponentType<this['T']>;
|
||||
storyResult: StoryFnReactReturnType;
|
||||
mount: (ui?: JSX.Element) => Promise<Canvas>;
|
||||
}
|
||||
interface ReactParameters {
|
||||
/** React renderer configuration */
|
||||
react?: {
|
||||
/**
|
||||
* Whether to enable React Server Components
|
||||
*
|
||||
* @see https://storybook.js.org/docs/get-started/frameworks/nextjs#react-server-components-rsc
|
||||
*/
|
||||
rsc?: boolean;
|
||||
/** Options passed to React root creation */
|
||||
rootOptions?: {
|
||||
/** Custom error handler for caught errors */
|
||||
onCaughtError?: (error: unknown) => void;
|
||||
};
|
||||
};
|
||||
}
|
||||
type StoryFnReactReturnType = JSX.Element;
|
||||
|
||||
export { ReactRenderer as R, ReactParameters as a };
|
||||
Reference in New Issue
Block a user