@vitus-labs/rocketstories 1.2.1 → 1.2.2

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.
@@ -1 +1 @@
1
- {"version":3,"file":"vitus-labs-rocketstories.js","sources":["../../rocketstyle/lib/index.js","../src/components/NotFound.tsx","../src/components/base/element.ts","../src/components/base/Heading.ts","../src/utils/theme.ts","../src/utils/code.ts","../src/controls/element.ts","../src/controls/list.ts","../src/controls/overlay.ts","../src/controls/rocketstyle.ts","../src/controls/text.ts","../src/utils/controls.ts","../src/stories/rocketstories/renderDimension/context.tsx","../src/stories/rocketstories/renderDimension/components/Item.tsx","../src/stories/rocketstories/renderDimension/components/PseudoList.tsx","../src/stories/rocketstories/renderDimension/index.tsx","../src/utils/dimensions.ts","../src/internal/RocketStoryHoc.tsx","../src/stories/rocketstories/renderList.tsx","../src/stories/rocketstories/renderMain.tsx","../src/stories/rocketstories/renderRender.tsx","../src/internal/StoryHoc.tsx","../src/stories/base/renderList.tsx","../src/stories/base/renderMain.tsx","../src/stories/base/renderRender.tsx","../src/rocketstories.tsx","../src/init.ts"],"sourcesContent":["import { context as context$1, Provider as Provider$1, isEmpty, render, set, get, merge, config, pick, omit, compose } from '@vitus-labs/core';\nexport { context } from '@vitus-labs/core';\nimport React, { createContext, useContext, useState, useCallback, useRef, useImperativeHandle, forwardRef, useMemo } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nconst MODE_DEFAULT = 'light';\nconst PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'];\nconst PSEUDO_META_KEYS = ['disabled', 'readOnly'];\nconst THEME_MODES = {\n light: true,\n dark: true,\n};\nconst THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n};\nconst CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n];\nconst STYLING_KEYS = ['theme', 'styles'];\nconst STATIC_KEYS = [...STYLING_KEYS, 'compose'];\nconst ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n 'attrs',\n];\n\nconst context = createContext({});\nconst useLocalContext = (consumer) => {\n const ctx = consumer ? useContext(context) : {};\n const result = consumer ? consumer((callback) => callback(ctx)) : {};\n return { pseudo: {}, ...result };\n};\nconst LocalProvider = context.Provider;\n\nconst usePseudoState = ({ onBlur, onFocus, onMouseDown, onMouseEnter, onMouseLeave, onMouseUp, }) => {\n const [hover, setHover] = useState(false);\n const [focus, setFocus] = useState(false);\n const [pressed, setPressed] = useState(false);\n const handleOnMouseEnter = useCallback((e) => {\n setHover(true);\n if (onMouseEnter)\n onMouseEnter(e);\n }, [onMouseEnter]);\n const handleOnMouseLeave = useCallback((e) => {\n setHover(false);\n setPressed(false);\n if (onMouseLeave)\n onMouseLeave(e);\n }, [onMouseLeave]);\n const handleOnMouseDown = useCallback((e) => {\n setPressed(true);\n if (onMouseDown)\n onMouseDown(e);\n }, [onMouseDown]);\n const handleOnMouseUp = useCallback((e) => {\n setPressed(false);\n if (onMouseUp)\n onMouseUp(e);\n }, [onMouseUp]);\n const handleOnFocus = useCallback((e) => {\n setFocus(true);\n if (onFocus)\n onFocus(e);\n }, [onFocus]);\n const handleOnBlur = useCallback((e) => {\n setFocus(false);\n if (onBlur)\n onBlur(e);\n }, [onBlur]);\n return {\n state: {\n hover,\n focus,\n pressed,\n },\n events: {\n onMouseEnter: handleOnMouseEnter,\n onMouseLeave: handleOnMouseLeave,\n onMouseDown: handleOnMouseDown,\n onMouseUp: handleOnMouseUp,\n onFocus: handleOnFocus,\n onBlur: handleOnBlur,\n },\n };\n};\n\nconst useRocketstyleRef = ({ $rocketstyleRef, ref }) => {\n const internalRef = useRef(null);\n useImperativeHandle($rocketstyleRef, () => internalRef.current);\n useImperativeHandle(ref, () => internalRef.current);\n return internalRef;\n};\n\nconst Provider = ({ provider = Provider$1, inversed, ...props }) => {\n const ctx = useContext(context$1);\n const { theme, mode, provider: RocketstyleProvider, children, } = { ...ctx, ...props, provider };\n let newMode = MODE_DEFAULT;\n if (mode) {\n newMode = inversed ? THEME_MODES_INVERSED[mode] : mode;\n }\n return (React.createElement(RocketstyleProvider, { mode: newMode, isDark: newMode === 'dark', isLight: newMode === 'light', theme: theme, provider: provider }, children));\n};\n\nconst useThemeAttrs = ({ inversed }) => {\n const { theme = {}, mode: ctxMode = 'light', isDark: ctxDark, } = useContext(context$1) || {};\n const mode = inversed ? THEME_MODES_INVERSED[ctxMode] : ctxMode;\n const isDark = inversed ? !ctxDark : ctxDark;\n const isLight = !isDark;\n return { theme, mode, isDark, isLight };\n};\n\nconst RocketStyleProviderComponent = (WrappedComponent) => forwardRef(({ onMouseEnter, onMouseLeave, onMouseUp, onMouseDown, onFocus, onBlur, $rocketstate, ...props }, ref) => {\n // pseudo hook to detect states hover / pressed / focus\n const pseudo = usePseudoState({\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onFocus,\n onBlur,\n });\n const updatedState = useMemo(() => ({\n ...$rocketstate,\n pseudo: { ...$rocketstate.pseudo, ...pseudo.state },\n }), [$rocketstate, pseudo]);\n return (React.createElement(LocalProvider, { value: updatedState },\n React.createElement(WrappedComponent, { ...props, ...pseudo.events, ref: ref, \"$rocketstate\": updatedState })));\n});\n\nclass ThemeManager {\n baseTheme = new WeakMap();\n dimensionsThemes = new WeakMap();\n modeBaseTheme = { light: new WeakMap(), dark: new WeakMap() };\n modeDimensionTheme = { light: new WeakMap(), dark: new WeakMap() };\n}\n\n/* eslint-disable no-param-reassign */\nconst removeUndefinedProps = (props) => Object.keys(props).reduce((acc, key) => {\n const currentValue = props[key];\n if (currentValue !== undefined)\n return { ...acc, [key]: currentValue };\n return acc;\n}, {});\nconst pickStyledAttrs = (props, keywords) => Object.keys(props).reduce((acc, key) => {\n if (keywords[key] && props[key])\n acc[key] = props[key];\n return acc;\n}, {});\nconst calculateChainOptions = (options) => (args) => {\n const result = {};\n if (isEmpty(options))\n return result;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {});\n};\nconst calculateStylingAttrs = ({ useBooleans, multiKeys }) => ({ props, dimensions }) => {\n const result = {};\n // (1) find dimension keys values & initialize\n // object with possible options\n Object.keys(dimensions).forEach((item) => {\n const pickedProp = props[item];\n const valueTypes = ['number', 'string'];\n // if the property is multi key, allow assign array as well\n if (multiKeys && multiKeys[item] && Array.isArray(pickedProp)) {\n result[item] = pickedProp;\n }\n // assign when it's only a string or number otherwise it's considered\n // as invalid param\n else if (valueTypes.includes(typeof pickedProp)) {\n result[item] = pickedProp;\n }\n else {\n result[item] = undefined;\n }\n });\n // (2) if booleans are being used let's find the rest\n if (useBooleans) {\n const propsKeys = Object.keys(props).reverse();\n Object.entries(result).forEach(([key, value]) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const isMultiKey = multiKeys[key];\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue;\n const keywords = Object.keys(dimensions[key]);\n if (isMultiKey) {\n newDimensionValue = propsKeys.filter((key) => keywords.includes(key));\n }\n else {\n // reverse props to guarantee the last one will have\n // a priority over previous ones\n newDimensionValue = propsKeys.find((key) => {\n if (keywords.includes(key) && props[key])\n return key;\n return false;\n });\n }\n result[key] = newDimensionValue;\n }\n });\n }\n return result;\n};\n\n/* eslint-disable no-underscore-dangle */\nconst rocketStyleHOC = ({ inversed, attrs, priorityAttrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const calculateAttrs = calculateChainOptions(attrs);\n const calculatePriorityAttrs = calculateChainOptions(priorityAttrs);\n const Enhanced = (WrappedComponent) => forwardRef((props, ref) => {\n const { theme, mode, isDark, isLight } = useThemeAttrs({\n inversed,\n });\n const callbackParams = [theme, { render, mode, isDark, isLight }];\n // --------------------------------------------------\n // remove undefined props not to override potential default props\n // only props with value (e.g. `null`) should override default props\n // --------------------------------------------------\n const filteredProps = removeUndefinedProps(props);\n const prioritizedAttrs = calculatePriorityAttrs([\n filteredProps,\n ...callbackParams,\n ]);\n const finalAttrs = calculateAttrs([\n {\n ...prioritizedAttrs,\n ...filteredProps,\n },\n ...callbackParams,\n ]);\n return (React.createElement(WrappedComponent, { \"$rocketstyleRef\": ref, ...prioritizedAttrs, ...finalAttrs, ...filteredProps }));\n });\n return Enhanced;\n};\n\nconst createStaticsChainingEnhancers = ({ context, dimensionKeys, func, options, }) => {\n const keys = [...dimensionKeys, ...STATIC_KEYS];\n keys.forEach((item) => {\n // eslint-disable-next-line no-param-reassign\n context[item] = (props) => func(options, { [item]: props });\n });\n};\nconst createStaticsEnhancers = ({ context, options, }) => {\n if (!isEmpty(options)) {\n Object.assign(context, options);\n }\n};\n\n/* eslint-disable import/prefer-default-export */\nconst removeNullableValues = (obj) => Object.entries(obj)\n .filter(([, v]) => v != null && v !== false)\n .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {});\n// --------------------------------------------------------\n// Remove All Empty Values\n// --------------------------------------------------------\n// type RemoveAllEmptyValues = (obj: Record<string, any>) => Record<string, any>\n// export const removeAllEmptyValues: RemoveAllEmptyValues = (obj) =>\n// Object.entries(obj)\n// .filter(([, v]) => v != null)\n// .reduce(\n// (acc, [k, v]) => ({\n// ...acc,\n// [k]: typeof v === 'object' ? removeAllEmptyValues(v) : v,\n// }),\n// {}\n// )\n\nconst isValidKey = (value) => value !== undefined && value !== null && value !== false;\nconst isMultiKey = (value) => {\n if (typeof value === 'object' && value !== null)\n return [true, get(value, 'propName')];\n return [false, value];\n};\nconst getDimensionsMap = ({ themes, useBooleans }) => {\n const result = {\n keysMap: {},\n keywords: {},\n };\n if (isEmpty(themes))\n return result;\n return Object.entries(themes).reduce((accumulator, [key, value]) => {\n const { keysMap, keywords } = accumulator;\n keywords[key] = true;\n Object.entries(value).forEach(([itemKey, itemValue]) => {\n if (!isValidKey(itemValue))\n return;\n if (useBooleans) {\n keywords[itemKey] = true;\n }\n set(keysMap, [key, itemKey], true);\n });\n return accumulator;\n }, result);\n};\nconst getKeys = (obj) => Object.keys(obj);\nconst getValues = (obj) => Object.values(obj);\nconst getDimensionsValues = (obj) => getValues(obj).map((item) => {\n if (typeof item === 'object') {\n return item.propName;\n }\n return item;\n});\nconst getMultipleDimensions = (obj) => getValues(obj).reduce((accumulator, value) => {\n if (typeof value === 'object') {\n // eslint-disable-next-line no-param-reassign\n if (value.multi === true)\n accumulator[value.propName] = true;\n }\n return accumulator;\n}, {});\n\n/* eslint-disable no-param-reassign */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\nconst themeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light')\n return light;\n return dark;\n};\nconst isModeCallback = (value) => typeof value === 'function' &&\n //@ts-ignore\n value.toString() === themeModeCallback().toString();\nconst getThemeFromChain = (options, theme) => {\n const result = {};\n if (!options || isEmpty(options))\n return result;\n return options.reduce((acc, item) => merge(acc, item(theme, themeModeCallback, config.css)), result);\n};\nconst getDimensionThemes = (theme, options) => {\n const result = {};\n if (isEmpty(options.dimensions))\n return result;\n return Object.entries(options.dimensions).reduce((acc, [key, value]) => {\n const [, dimension] = isMultiKey(value);\n const helper = options[key];\n if (Array.isArray(helper) && helper.length > 0) {\n const finalDimensionThemes = getThemeFromChain(helper, theme);\n // eslint-disable-next-line no-param-reassign\n acc[dimension] = removeNullableValues(finalDimensionThemes);\n }\n return acc;\n }, result);\n};\nconst getTheme = ({ rocketstate, themes, baseTheme }) => {\n // generate final theme which will be passed to styled component\n let finalTheme = { ...baseTheme };\n Object.entries(rocketstate).forEach(([key, value]) => {\n const keyTheme = themes[key];\n if (Array.isArray(value)) {\n value.forEach((item) => {\n finalTheme = merge({}, finalTheme, keyTheme[item]);\n });\n }\n else {\n finalTheme = merge({}, finalTheme, keyTheme[value]);\n }\n });\n return finalTheme;\n};\nconst getThemeByMode = (object, mode) => Object.keys(object).reduce((acc, key) => {\n const value = object[key];\n if (typeof value === 'object' && value !== null) {\n acc[key] = getThemeByMode(value, mode);\n }\n else if (isModeCallback(value)) {\n acc[key] = value(mode);\n }\n else {\n acc[key] = value;\n }\n return acc;\n}, {});\n\nconst chainOptions = (opts, defaultOpts = []) => {\n const result = [...defaultOpts];\n if (typeof opts === 'function')\n result.push(opts);\n else if (typeof opts === 'object')\n result.push(() => opts);\n return result;\n};\nconst chainOrOptions = (keys, opts, defaultOpts) => keys.reduce((acc, item) => ({ ...acc, [item]: opts[item] || defaultOpts[item] }), {});\nconst chainReservedKeyOptions = (keys, opts, defaultOpts) => keys.reduce((acc, item) => ({\n ...acc,\n [item]: chainOptions(opts[item], defaultOpts[item]),\n}), {});\n\nconst calculateHocsFuncs = (options = {}) => Object.values(options)\n .filter((item) => typeof item === 'function')\n .reverse();\n\n/* eslint-disable import/prefer-default-export */\nconst calculateStyles = (styles) => {\n if (!styles)\n return [];\n return styles.map((item) => item(config.css));\n};\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-underscore-dangle */\nconst cloneAndEnhance = (defaultOpts, opts) => \n// @ts-ignore\nrocketComponent({\n ...defaultOpts,\n attrs: chainOptions(opts.attrs, defaultOpts.attrs),\n filterAttrs: [\n ...(defaultOpts.filterAttrs ?? []),\n ...(opts.filterAttrs ?? []),\n ],\n priorityAttrs: chainOptions(opts.priorityAttrs, defaultOpts.priorityAttrs),\n statics: { ...defaultOpts.statics, ...opts.statics },\n compose: { ...defaultOpts.compose, ...opts.compose },\n ...chainOrOptions(CONFIG_KEYS, opts, defaultOpts),\n ...chainReservedKeyOptions([...defaultOpts.dimensionKeys, ...STYLING_KEYS], opts, defaultOpts),\n});\n// --------------------------------------------------------\n// styleComponent\n// helper function which allows function chaining\n// always returns a valid React component with static functions\n// assigned, so it can be even rendered as a valid component\n// or styles can be extended via its statics\n// --------------------------------------------------------\n// @ts-ignore\nconst rocketComponent = (options) => {\n const { component, styles, DEBUG } = options;\n const { styled } = config;\n const _calculateStylingAttrs = calculateStylingAttrs({\n multiKeys: options.multiKeys,\n useBooleans: options.useBooleans,\n });\n const componentName = options.name ?? options.component.displayName ?? options.component.name;\n // create styled component with all options.styles if available\n const STYLED_COMPONENT = component.IS_ROCKETSTYLE ?? options.styled !== true\n ? component\n : styled(component) `\n ${calculateStyles(styles)};\n `;\n // --------------------------------------------------------\n // COMPONENT - Final component to be rendered\n // --------------------------------------------------------\n const RenderComponent = options.provider\n ? RocketStyleProviderComponent(STYLED_COMPONENT)\n : STYLED_COMPONENT;\n // --------------------------------------------------------\n // THEME - Cached & Calculated theme(s)\n // --------------------------------------------------------\n const ThemeManager$1 = new ThemeManager();\n // --------------------------------------------------------\n // COMPOSE - high-order components\n // --------------------------------------------------------\n const hocsFuncs = [\n rocketStyleHOC(options),\n ...calculateHocsFuncs(options.compose),\n ];\n // --------------------------------------------------------\n // ENHANCED COMPONENT (returned component)\n // --------------------------------------------------------\n // .attrs() chaining option is calculated in HOC and passed as props already\n // @ts-ignore\n // eslint-disable-next-line react/display-name\n const EnhancedComponent = forwardRef(({ $rocketstyleRef, // it's forwarded from HOC which is always on top of all hocs\n ...props }, ref) => {\n // --------------------------------------------------\n // handle refs\n // (1) one is passed from inner HOC - $rocketstyleRef\n // (2) second one is used to be used directly (e.g. inside hocs)\n // --------------------------------------------------\n const internalRef = useRocketstyleRef({ $rocketstyleRef, ref });\n // --------------------------------------------------\n // hover - focus - pressed state passed via context from parent component\n // --------------------------------------------------\n const localCtx = useLocalContext(options.consumer);\n // --------------------------------------------------\n // general theme and theme mode dark / light passed in context\n // --------------------------------------------------\n const { theme, mode } = useThemeAttrs(options);\n // --------------------------------------------------\n // calculate themes for all defined styling dimensions\n // .theme(...) + defined dimensions like .states(...), .sizes(...), etc.\n // --------------------------------------------------\n // --------------------------------------------------\n // BASE / DEFAULT THEME Object\n // --------------------------------------------------\n const baseTheme = useMemo(() => {\n const helper = ThemeManager$1.baseTheme;\n if (!helper.has(theme)) {\n helper.set(theme, getThemeFromChain(options.theme, theme));\n }\n return helper.get(theme);\n }, \n // recalculate this only when theme mode changes dark / light\n [theme]);\n // --------------------------------------------------\n // DIMENSION(S) THEMES Object\n // --------------------------------------------------\n const themes = useMemo(() => {\n const helper = ThemeManager$1.dimensionsThemes;\n if (!helper.has(theme)) {\n helper.set(theme, getDimensionThemes(theme, options));\n }\n return helper.get(theme);\n }, \n // recalculate this only when theme object changes\n [theme]);\n // --------------------------------------------------\n // BASE / DEFAULT MODE THEME Object\n // --------------------------------------------------\n const currentModeBaseTheme = useMemo(() => {\n const helper = ThemeManager$1.modeBaseTheme[mode];\n if (!helper.has(baseTheme)) {\n helper.set(baseTheme, getThemeByMode(baseTheme, mode));\n }\n return helper.get(baseTheme);\n }, \n // recalculate this only when theme mode changes dark / light\n [mode, baseTheme]);\n // --------------------------------------------------\n // DIMENSION(S) MODE THEMES Object\n // --------------------------------------------------\n const currentModeThemes = useMemo(() => {\n const helper = ThemeManager$1.modeDimensionTheme[mode];\n if (!helper.has(themes)) {\n helper.set(themes, getThemeByMode(themes, mode));\n }\n return helper.get(themes);\n }, \n // recalculate this only when theme mode changes dark / light\n [mode, themes]);\n // --------------------------------------------------\n // calculate reserved Keys defined in dimensions as styling keys\n // there is no need to calculate this each time - keys are based on\n // dimensions definitions\n // --------------------------------------------------\n const { keysMap: dimensions, keywords: reservedPropNames } = useMemo(() => getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n }), [themes]);\n const RESERVED_STYLING_PROPS_KEYS = useMemo(() => Object.keys(reservedPropNames), [reservedPropNames]);\n // --------------------------------------------------\n // get final props which are (latest has the highest priority):\n // (1) merged styling from context,\n // (2) `attrs` chaining method, and from\n // (3) passing them directly to component\n // --------------------------------------------------\n const { pseudo, ...mergeProps } = {\n ...localCtx,\n ...props,\n };\n // --------------------------------------------------\n // pseudo rocket state\n // calculate final component pseudo state including pseudo state\n // from props and override by pseudo props from context\n // --------------------------------------------------\n const pseudoRocketstate = {\n ...pseudo,\n ...pick(props, [...PSEUDO_KEYS, ...PSEUDO_META_KEYS]),\n };\n // --------------------------------------------------\n // rocketstate\n // calculate final component state including pseudo state\n // passed as $rocketstate prop\n // --------------------------------------------------\n const rocketstate = _calculateStylingAttrs({\n props: pickStyledAttrs(mergeProps, reservedPropNames),\n dimensions,\n });\n const finalRocketstate = { ...rocketstate, pseudo: pseudoRocketstate };\n // --------------------------------------------------\n // rocketstyle\n // calculated (based on styling props) final theme which will be passed\n // to our styled component\n // passed as $rocketstyle prop\n // --------------------------------------------------\n const rocketstyle = getTheme({\n rocketstate,\n themes: currentModeThemes,\n baseTheme: currentModeBaseTheme,\n });\n // --------------------------------------------------\n // final props\n // final props passed to WrappedComponent\n // excluding: styling props\n // including: $rocketstyle, $rocketstate\n // --------------------------------------------------\n const finalProps = {\n // this removes styling state from props and passes its state\n // under rocketstate key only\n ...omit(mergeProps, [\n ...RESERVED_STYLING_PROPS_KEYS,\n ...PSEUDO_KEYS,\n ...options.filterAttrs,\n ]),\n // if enforced to pass styling props, we pass them directly\n ...(options.passProps ? pick(mergeProps, options.passProps) : {}),\n ref: ref ?? $rocketstyleRef ? internalRef : undefined,\n // state props passed to styled component only, therefore the `$` symbol\n $rocketstyle: rocketstyle,\n $rocketstate: finalRocketstate,\n };\n if (DEBUG && process.env.NODE_ENV !== 'production') {\n console.log('[Rocketstyle] Debug mode enabled');\n console.log(`component ${componentName}`);\n console.log(finalProps);\n }\n // all the development stuff injected\n if (process.env.NODE_ENV !== 'production') {\n finalProps['data-rocketstyle'] = componentName;\n }\n return React.createElement(RenderComponent, { ...finalProps });\n });\n // ------------------------------------------------------\n // This will hoist and generate dynamically next static methods\n // for all dimensions available in configuration\n // ------------------------------------------------------\n const RocketComponent = compose(...hocsFuncs)(EnhancedComponent);\n RocketComponent.IS_ROCKETSTYLE = true;\n RocketComponent.displayName = componentName;\n hoistNonReactStatics(RocketComponent, options.component);\n // ------------------------------------------------------\n // enhance for chaining methods\n // ------------------------------------------------------\n createStaticsChainingEnhancers({\n context: RocketComponent,\n dimensionKeys: options.dimensionKeys,\n func: cloneAndEnhance,\n options,\n });\n // ------------------------------------------------------\n RocketComponent.IS_ROCKETSTYLE = true;\n RocketComponent.displayName = componentName;\n RocketComponent.meta = {};\n // ------------------------------------------------------\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.meta,\n options: options.statics,\n });\n // @ts-ignore\n RocketComponent.attrs = (attrs, { priority, filter } = {}) => {\n const result = {};\n if (filter) {\n result.filterAttrs = filter;\n }\n if (priority) {\n result.priorityAttrs = attrs;\n return cloneAndEnhance(options, result);\n }\n result.attrs = attrs;\n return cloneAndEnhance(options, result);\n };\n // @ts-ignore\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS);\n // @ts-ignore\n return cloneAndEnhance(options, result);\n };\n RocketComponent.statics = (opts) => \n // @ts-ignore\n cloneAndEnhance(options, { statics: opts });\n RocketComponent.getStaticDimensions = (theme) => {\n const themes = getDimensionThemes(theme, options);\n const { keysMap, keywords } = getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n });\n return {\n dimensions: keysMap,\n keywords,\n useBooleans: options.useBooleans,\n multiKeys: options.multiKeys,\n };\n };\n RocketComponent.getDefaultAttrs = (props, theme, mode) => calculateChainOptions(options.attrs)([\n props,\n theme,\n {\n render,\n mode,\n isDark: mode === 'light',\n isLight: mode === 'dark',\n },\n ]);\n return RocketComponent;\n};\n\nconst DEFAULT_DIMENSIONS = {\n states: 'state',\n sizes: 'size',\n variants: 'variant',\n multiple: {\n propName: 'multiple',\n multi: true,\n },\n};\n\n// @ts-nocheck\nconst rocketstyle = ({ dimensions = DEFAULT_DIMENSIONS, useBooleans = true } = {}) => ({ name, component }) => {\n // --------------------------------------------------------\n // handle ERRORS in development mode\n // --------------------------------------------------------\n if (process.env.NODE_ENV !== 'production') {\n const errors = {};\n if (!component) {\n errors.component = 'Parameter `component` is missing in params!';\n }\n if (!name) {\n errors.name = 'Parameter `name` is missing in params!';\n }\n if (isEmpty(dimensions)) {\n errors.dimensions = 'Parameter `dimensions` is missing in params!';\n }\n else {\n const definedDimensions = getKeys(dimensions);\n const invalidDimension = ALL_RESERVED_KEYS.some((item) => definedDimensions.includes(item));\n if (invalidDimension) {\n errors.invalidDimensions = `Some of your \\`dimensions\\` is invalid and uses reserved static keys which are\n ${DEFAULT_DIMENSIONS.toString()}`;\n }\n }\n if (!isEmpty(errors)) {\n throw Error(JSON.stringify(errors));\n }\n }\n return rocketComponent({\n name,\n component,\n useBooleans,\n dimensions,\n dimensionKeys: getKeys(dimensions),\n dimensionValues: getDimensionsValues(dimensions),\n multiKeys: getMultipleDimensions(dimensions),\n styled: true,\n });\n};\n\nconst isRocketComponent = (component) => {\n if (component &&\n typeof component === 'object' &&\n component !== null &&\n Object.prototype.hasOwnProperty.call(component, 'IS_ROCKETSTYLE')) {\n return true;\n }\n return false;\n};\n\nexport { Provider, rocketstyle as default, isRocketComponent, rocketstyle };\n//# sourceMappingURL=index.js.map\n","import React, { type FC } from 'react'\nimport { config } from '@vitus-labs/core'\n\nconst Wrapper = config.styled.div`\n display: flex;\n font-size: 32px;\n`\n\nconst component: FC = () => <Wrapper>Nothing here</Wrapper>\n\ncomponent.displayName = '@vitus-labs/rocketstories/Empty'\n\nexport default component\n","import rocketstyle from '@vitus-labs/rocketstyle'\nimport { Element } from '@vitus-labs/elements'\nimport { styles } from '@vitus-labs/unistyle'\n\nexport default rocketstyle()({\n component: Element,\n name: 'element',\n})\n .theme({\n fontFamily: 'Arial',\n })\n .styles(\n (css) => css<any>`\n ${({ $rocketstyle }) => {\n const baseTheme = styles({ theme: $rocketstyle, css, rootSize: 16 })\n\n return css`\n ${baseTheme};\n `\n }};\n `\n )\n","import element from './element'\n\nexport default element.attrs({ tag: 'h1', block: true }).sizes({\n level1: {\n fontSize: 20,\n },\n level2: {\n marginTop: 0,\n fontSize: 16,\n },\n})\n","/* eslint-disable no-underscore-dangle */\n\ndeclare global {\n interface Window {\n __VITUS_LABS_STORIES__: {\n decorators: {\n theme: Record<string, unknown>\n }\n }\n }\n}\n\ntype GetTheme = () => Record<string, unknown>\nconst getTheme: GetTheme = () => window.__VITUS_LABS_STORIES__.decorators.theme\n\nexport default getTheme\n","/* eslint-disable no-param-reassign */\nimport { get } from '@vitus-labs/core'\nimport type { Control, SimpleValue, Obj } from '~/types'\n\n// --------------------------------------------------------\n// parseProps\n// --------------------------------------------------------\ntype ObjValue = Control\n\ntype ParseProps = <\n T extends Record<string, SimpleValue | Array<SimpleValue> | ObjValue>\n>(\n props: T\n) => Record<keyof T, unknown>\n\nconst parseProps: ParseProps = (props) =>\n Object.entries(props).reduce((acc, [key, value]) => {\n if (value === null) return acc\n\n const valueType = typeof value\n\n if (['string', 'number', 'boolean', 'bigint'].includes(valueType)) {\n return { ...acc, [key]: value }\n }\n\n if (Array.isArray(value)) {\n return { ...acc, [key]: value }\n }\n\n if (valueType === 'object') {\n const type = get(value, 'type')\n const options = get(value, 'options')\n const defaultValue = get(value, 'value')\n\n // if has custom knobs configuration\n if (type && options && defaultValue) {\n return { ...acc, [key]: defaultValue || options }\n }\n\n return { ...acc, [key]: value }\n }\n\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// stringifyArray\n// --------------------------------------------------------\ntype StringifyArray = (props: Array<unknown>) => string\n\nconst stringifyArray: StringifyArray = (props) => {\n let result = '['\n\n const arrayLength = props.length\n\n result += props.reduce((acc, value, i) => {\n if (Array.isArray(value)) {\n // TODO: parse arrays\n acc += `${stringifyArray(value)}`\n } else if (typeof value === 'object' && value !== null) {\n acc += `${stringifyObject(value as Record<string, any>)}`\n } else if (['number', 'string'].includes(typeof value)) {\n acc += `\"${value}\"`\n } else {\n acc += `${value}`\n }\n\n // if not last item, add comma and space\n if (arrayLength !== i + 1) {\n acc += `, `\n }\n\n return acc\n }, '')\n\n result += ']'\n\n return result\n}\n\n// --------------------------------------------------------\n// stringifyObject\n// --------------------------------------------------------\ntype StringifyObject = (props: Obj) => string\n\nconst stringifyObject: StringifyObject = (props) => {\n let result = '{ '\n\n const propsArray = Object.entries(props)\n const arrayLength = propsArray.length\n\n result += propsArray.reduce((acc, [key, value], i) => {\n if (Array.isArray(value)) {\n // TODO: parse arrays\n acc += `${key}: ${value}`\n } else if (typeof value === 'object' && value !== null) {\n acc += `${key}: ${stringifyObject(value)}`\n } else if (['string'].includes(typeof value)) {\n acc += `${key}: \"${value}\"`\n } else {\n acc += `${key}: ${value}`\n }\n\n if (arrayLength !== i + 1) {\n acc += `, `\n }\n\n return acc\n }, '')\n\n result += ' }'\n\n return result\n}\n\n// --------------------------------------------------------\n// stringifyObject\n// --------------------------------------------------------\ntype StringifyProps = (props: Obj) => string\n\nconst stringifyProps: StringifyProps = (props) => {\n const parsedProps = parseProps(props)\n const arrayProps = Object.entries(parsedProps)\n const arrayLength = arrayProps.length\n\n return arrayProps.reduce((acc, [key, value], i) => {\n if (typeof value === 'boolean') {\n if (value === true) acc += `${key}`\n else acc += `${key}=${value}`\n } else if (\n ['string', 'number'].includes(typeof value) ||\n value === null ||\n value === undefined\n ) {\n acc += `${key}=\"${value}\"`\n } else if (Array.isArray(value)) {\n acc += `${key}={${stringifyArray(value)}}`\n } else if (typeof value === 'object' && value !== null) {\n acc += `${key}={${stringifyObject(value as Record<string, any>)}}`\n }\n\n if (arrayLength !== i + 1) {\n acc += ' '\n }\n\n return acc\n }, '')\n}\n\nconst parseComponentName = (name) => {\n const helper = name.split('/')\n\n if (helper.length > 1) {\n return helper[helper.length - 1]\n }\n\n return name\n}\n\n// --------------------------------------------------------\n// createJSXCode\n// --------------------------------------------------------\ntype CreateJSXCode = (name: string, props: Obj) => string\n\nexport const createJSXCode: CreateJSXCode = (name, props) =>\n `<${parseComponentName(name)} ${stringifyProps(props)} />`\n\n// --------------------------------------------------------\n// createJSXCodeArray\n// --------------------------------------------------------\ntype CreateJSXCodeArray = (\n name: string,\n props: Obj,\n dimensionName: string,\n dimensions: Obj,\n useBooleans: boolean,\n isMultiKey: boolean\n) => string\n\nexport const createJSXCodeArray: CreateJSXCodeArray = (\n name,\n props,\n dimensionName,\n dimensions,\n useBooleans,\n isMultiKey\n) => {\n if (!dimensions) return `// nothing here`\n\n let result = ''\n\n const finalProps = { ...props }\n delete finalProps[dimensionName]\n\n result += Object.keys(dimensions).reduce((acc, key) => {\n acc += createJSXCode(name, {\n [dimensionName]: isMultiKey ? [key] : key,\n ...finalProps,\n })\n acc += `\\n`\n return acc\n }, '')\n\n if (useBooleans) {\n result += `\\n\\n`\n result += `// Or alternatively use boolean ${dimensionName} props (${Object.keys(\n dimensions\n ).toString()})`\n result += `\\n`\n\n result += Object.keys(dimensions).reduce((acc, key) => {\n acc += createJSXCode(name, { [key]: true, ...finalProps })\n acc += `\\n`\n return acc\n }, '')\n }\n\n return result\n}\n\nconst addBooleanCodeComment = (values) => {\n let result = `\\n\\n`\n result += `// Or alternatively use boolean props (e.g. ${values})`\n result += `\\n`\n\n return result\n}\n\n// --------------------------------------------------------\n// createMainJSX\n// --------------------------------------------------------\ntype GenerateMainJSXCode = (params: {\n name: string\n props: Record<string, string>\n dimensions: Record<string, string>\n booleanDimensions: any\n}) => any\n\nexport const generateMainJSXCode: GenerateMainJSXCode = ({\n name,\n props,\n dimensions,\n booleanDimensions,\n}) => {\n let result = createJSXCode(name, { ...dimensions, ...props })\n\n if (booleanDimensions) {\n const keys = Object.keys(booleanDimensions)\n result += addBooleanCodeComment(keys)\n result += createJSXCode(name, { ...booleanDimensions, ...props })\n }\n\n return result\n}\n","import { HTML_TAGS } from '@vitus-labs/core'\n\nconst group = 'Element (Vitus-Labs)'\n\nconst directionType = 'inline | rows | reverseRows | reverseInline'\nconst alignXType = 'left | center | right | block | spaceBetween | spaceAround'\nconst alignYType = 'top | center | block | spaceBetween | spaceAround'\nconst CssType = 'string | (css) => css`` | css``'\n\nconst DIRECTION = {\n group,\n type: 'select',\n options: ['-----', ...directionType.split(' | ')],\n value: 'rows',\n valueType: `${directionType} | Record<string, ${directionType}> | Array<${directionType}`,\n}\n\nconst ALIGN_X = {\n group,\n type: 'select',\n options: alignXType.split(' | '),\n value: 'left',\n valueType: `${alignXType} | Record<string, ${alignXType}> | Array<${alignXType}`,\n}\n\nconst ALIGN_Y = {\n group,\n type: 'select',\n options: alignYType.split(' | '),\n value: 'center',\n valueType: `${alignYType} | Record<string, ${alignYType}> | Array<${alignYType}`,\n}\n\nconst CSS = {\n group,\n type: 'text',\n valueType: `${CssType} | Record<string,${CssType}> | Array<${CssType}>`,\n}\n\nexport default {\n tag: {\n group,\n type: 'select',\n options: HTML_TAGS,\n valueType: 'HTMLTag',\n description: 'A prop which will change **HTML tag** of the element.',\n },\n children: {\n group,\n type: '',\n valueType: 'ReactNode',\n description:\n 'React children. Priorities when rendering are **children** → **content** → **label**, therefore _children_ has the highest priority.',\n },\n content: {\n group,\n type: 'text',\n valueType: 'ReactNode',\n description:\n 'A prop which can be used instead of _children_. Priorities when rendering are **children** → **content** → **label**, therefore _content_ has the middle priority.',\n },\n label: {\n group,\n type: 'text',\n valueType: 'ReactNode',\n description:\n 'A prop which can be used instead of _children_. Priorities when rendering are **children** → **content** → **label**, therefore _label_ has the lowest priority.',\n },\n block: {\n group,\n type: 'boolean',\n valueType: 'boolean | Record<string, boolean> | Array<boolean>',\n description:\n 'Defines whether should behave as **inline** or **block** element.',\n },\n direction: {\n ...DIRECTION,\n value: undefined,\n description:\n 'Define whether element should render **horizontally** or **vertically**.',\n },\n alignX: {\n ...ALIGN_X,\n description:\n 'Define alignment of **beforeContent**, **content**, and **afterContent** with respect to root element on **axis X**.',\n },\n alignY: {\n ...ALIGN_Y,\n description:\n 'Define alignment of **beforeContent**, **content**, and **afterContent** with respect to the root element on **axis Y**.',\n },\n contentDirection: {\n ...DIRECTION,\n description:\n 'Define whether the children in **content** wrapper should be rendered in _line_ or in _rows_.',\n },\n contentAlignX: {\n ...ALIGN_X,\n description:\n 'Define how the children in **content** wrapper should be aligned on **axis X**.',\n },\n contentAlignY: {\n ...ALIGN_Y,\n description:\n 'Define how the children in **content** wrapper should be aligned on **axis Y**.',\n },\n beforeContentDirection: {\n ...DIRECTION,\n description:\n 'Define whether children in **beforeContent** wrapper should be rendered in _line_ or in _rows_.',\n },\n beforeContentAlignX: {\n ...ALIGN_X,\n description:\n 'Define how children in **beforeContent** wrapper should be aligned on **axis X**.',\n },\n beforeContentAlignY: {\n ...ALIGN_Y,\n description:\n 'Define how children in **beforeContent** wrapper should be aligned on **axis Y**.',\n },\n afterContentDirection: {\n ...DIRECTION,\n description:\n 'Define whether children in **afterContent** wrapper should be rendered in _line_ or in _rows_.',\n },\n afterContentAlignX: {\n ...ALIGN_X,\n description:\n 'Define how children in **afterContent** wrapper should be aligned on **axis X**.',\n },\n afterContentAlignY: {\n ...ALIGN_Y,\n description:\n 'Define how children in **afterContent** wrapper should be aligned on **axis Y**.',\n },\n equalCols: {\n type: 'boolean',\n group,\n valueType: 'boolean | Record<string,boolean> | Array<boolean>',\n description:\n 'Whether should all inner elements have the same `width` / `height`.',\n },\n gap: {\n type: 'number',\n group,\n valueType: 'number | Record<string,number> | Array<number>',\n description:\n 'Defines space gap **between** _beforeContent_, _content_ and _afterContent_ if one of _beforeContent_ or _afterContent_ contain _children_ to be rendered.',\n },\n // vertical: {\n // type: 'boolean',\n // group,\n // valueType: 'boolean | Record<string,boolean> | Array<boolean>',\n // description:\n // 'Define whether element should render horizontally or vertically.',\n // },\n beforeContent: {\n group,\n type: '',\n valueType: 'ReactNode',\n description: 'A children to be rendered inside `beforeContent` wrapper.',\n },\n afterContent: {\n group,\n type: '',\n valueType: 'ReactNode',\n description: 'A children to be rendered inside `afterContent` wrapper.',\n },\n css: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **root** element CSS styles.',\n },\n contentCss: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **content** element CSS styles.',\n },\n beforeContentCss: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **beforeContent** element CSS styles.',\n },\n afterContentCss: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **afterContent** element CSS styles.',\n },\n ref: {\n group,\n description: 'A React ref',\n valueType: 'ForwardedRef<any>',\n },\n innerRef: {\n group,\n description: 'A React ref',\n valueType: 'ForwardedRef<any>',\n },\n dangerouslySetInnerHTML: {\n group,\n type: 'text',\n disable: true,\n valueType: 'any',\n },\n}\n","const group = 'List (@vitus-labs)'\n\nconst itemPropsType = `Record<string, any> | (props, meta) => Record<string,any>`\n\nexport default {\n rootElement: {\n group,\n type: 'boolean',\n valueType: 'boolean',\n description:\n 'Whether a **root** element should be rendered or the output should be just a type of React **Fragment**.',\n },\n data: {\n group,\n type: 'array',\n valueType: 'string[] | number[] | object[]',\n description:\n 'An array of item values to be passed to item component. Data are being passed to _component_ prop element.',\n },\n valueName: {\n group,\n type: 'text',\n valueType: `string`,\n description:\n 'Is required when **data** consists of **strings** or **numbers** to name value being passed as a prop.',\n },\n itemProps: {\n group,\n valueType: itemPropsType,\n description:\n 'A customizable hook for dynamically render props for each **item** component.',\n },\n wrapProps: {\n group,\n valueType: itemPropsType,\n description:\n 'A customizable hook for dynamically render props for each **wrapComponent** when _wrapComponent_ is passed, otherwise ignored.',\n },\n itemKey: {\n group,\n valueType: 'string | `(item, i) => number | string`',\n description:\n \"Prop for defining item key in list. **name** / **value** if default behavior doesn't work out.\",\n },\n component: {\n group,\n type: 'component',\n valueType: 'ComponentType',\n description:\n 'A component to be rendered within the List per item. Receives props from _data_ array props.',\n },\n wrapComponent: {\n group,\n type: 'component',\n valueType: `ComponentType`,\n description:\n 'A component to be used as a wrapper component for each item component.',\n },\n label: {\n disable: true,\n },\n content: {\n disable: true,\n },\n} as const\n","const group = 'Overlay (Vitus-Labs)'\n\nexport default {\n refName: {\n type: 'text',\n value: 'ref',\n description:\n \"Overlay component access **ref** to directly mutate styles when calculation position to prevent re-renders. It's being used for both `trigger`, and `children` element at the same time. Your components must accept refs with the same naming.\",\n group,\n },\n triggerRefName: {\n type: 'text',\n description:\n 'A key name how a **ref** should be passed to trigger component',\n group,\n },\n contentRefName: {\n type: 'text',\n description:\n 'A key name how a **ref** should be passed to content component',\n group,\n },\n isOpen: {\n type: 'boolean',\n value: false,\n description: '',\n group,\n },\n openOn: {\n type: 'select',\n options: ['click', 'hover'],\n value: 'click',\n description: '',\n group,\n },\n closeOn: {\n type: 'select',\n options: ['click', 'triggerClick', 'hover', 'manual'],\n value: 'click',\n description: '',\n group,\n },\n type: {\n type: 'select',\n options: ['dropdown', 'tooltip', 'popover', 'modal'],\n value: 'dropdown',\n description: '',\n group,\n },\n align: {\n type: 'select',\n options: ['top', 'left', 'bottom', 'right'],\n value: 'bottom',\n description: '',\n group,\n },\n alignX: {\n type: 'select',\n options: ['left', 'center', 'right'],\n value: 'left',\n description: '',\n group,\n },\n alignY: {\n type: 'select',\n options: ['top', 'center', 'bottom'],\n value: 'bottom',\n description: '',\n group,\n },\n position: {\n type: 'select',\n options: ['fixed', 'absolute', 'relative', 'static'],\n value: 'fixed',\n description: '',\n group,\n },\n offsetX: {\n type: 'number',\n value: 0,\n description: '',\n group,\n },\n offsetY: {\n type: 'number',\n value: 0,\n description: '',\n group,\n },\n throttleDelay: {\n type: 'number',\n value: 200,\n description: '',\n group,\n },\n children: {\n description: 'A content to be rendered when Overlay is open',\n },\n} as const\n","const group = 'Rocketstyle (Vitus-Labs)'\n\nexport default {\n hover: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **hover** event on the element. Behaves as **:hover** state in _CSS_.',\n },\n active: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **active** event on the element. Can be used to define element as `active`, e.g. _links_.',\n },\n pressed: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **pressed** event on the element. Behaves as `:active` state in _CSS_.',\n },\n focus: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **focus** event on the element. Behaves as `:focus` state in _CSS_.',\n },\n onMouseEnter: {\n group,\n type: 'function',\n description:\n 'The _onMouseEnter_ function can take a `SyntheticMouseEvent`.',\n },\n onMouseLeave: {\n group,\n type: 'function',\n description:\n 'The _onMouseLeave_ function can take a `SyntheticMouseEvent.`',\n },\n onMouseDown: {\n group,\n type: 'function',\n description: 'The _onMouseDown_ function can take a `SyntheticMouseEvent`.',\n },\n onMouseUp: {\n group,\n type: 'function',\n description: 'The _onMouseUp_ function can take a `SyntheticMouseEvent`.',\n },\n onFocus: {\n group,\n type: 'function',\n description: 'The _onFocus_ function can take a `SyntheticFocusEvent`.',\n },\n onBlur: {\n group,\n type: 'function',\n description: 'The _onBlur_ function can take a `SyntheticFocusEvent`.',\n },\n} as const\n","import { HTML_TAGS } from '@vitus-labs/core'\n\nconst group = 'Text (Vitus-Labs)'\n\nexport default {\n paragraph: {\n group,\n type: 'boolean',\n description:\n 'Changes a behavior of inline text to become **block** text. Also changes HTML **tag** to `p`',\n },\n tag: {\n group,\n type: 'select',\n options: HTML_TAGS,\n },\n children: {\n group,\n type: '',\n valueType: 'ReactNode',\n description:\n 'React children. Priorities when rendering are **children** → **label**, therefore _children_ has the highest priority.',\n },\n label: {\n group,\n type: 'text',\n valueType: 'ReactNode',\n description:\n 'A prop which can be used instead of _children_. Priorities when rendering are **children** → **label**, therefore _label_ has lower priority than _children_.',\n },\n extendCss: {\n group,\n type: 'text',\n description:\n 'An additional styling prop to enhance Text element CSS styles.',\n },\n} as const\n","import * as CONTROLS from '~/controls'\nimport type {\n Controls,\n StorybookControl,\n RocketType,\n ControlConfiguration,\n} from '~/types'\n\nexport const createControls = (props) =>\n Object.entries(props).reduce((acc, [key, value]) => {\n if (typeof value === 'string') {\n return {\n ...acc,\n [key]: {\n type: value,\n },\n }\n }\n\n if (typeof value === 'object' && value !== null) {\n return { ...acc, [key]: value }\n }\n\n return acc\n }, {})\n\ntype ConvertDimensionsToControls = ({\n dimensions,\n multiKeys,\n}: {\n dimensions: Record<string, any>\n multiKeys: Record<string, true>\n}) => Controls\n\nexport const convertDimensionsToControls: ConvertDimensionsToControls = ({\n dimensions,\n multiKeys,\n}) =>\n Object.entries(dimensions).reduce((acc, [key, value]) => {\n const valueKeys = Object.keys(value)\n const isMultiKey = !!multiKeys[key]\n\n const control = {\n type: isMultiKey ? 'multi-select' : 'select',\n options: valueKeys,\n group: 'Dimensions [Rocketstyle (Vitus-Labs)]',\n }\n\n return { ...acc, [key]: control }\n }, {})\n\n// --------------------------------------------------------\n// values to controls\n// --------------------------------------------------------\ntype GetDefaultVitusLabsControls = (component: RocketType) => Controls\n\nexport const getDefaultVitusLabsControls: GetDefaultVitusLabsControls = (\n component\n) => {\n const { IS_ROCKETSTYLE, VITUS_LABS__COMPONENT } = component\n\n const IS_ELEMENT = VITUS_LABS__COMPONENT === '@vitus-labs/elements/Element'\n const IS_LIST = VITUS_LABS__COMPONENT === '@vitus-labs/elements/List'\n const IS_TEXT = VITUS_LABS__COMPONENT === '@vitus-labs/elements/Text'\n const IS_OVERLAY = VITUS_LABS__COMPONENT === '@vitus-labs/elements/Overlay'\n\n const result = {\n ...(IS_ELEMENT || IS_LIST ? CONTROLS.ELEMENT_CONTROLS : {}),\n\n ...(IS_LIST ? CONTROLS.LIST_CONTROLS : {}),\n\n ...(IS_TEXT ? CONTROLS.TEXT_CONTROLS : {}),\n\n ...(IS_OVERLAY ? CONTROLS.OVERLAY_CONTROLS : {}),\n\n ...(IS_ROCKETSTYLE ? CONTROLS.ROCKETSTYLE_CONTROLS : {}),\n }\n\n return result as Controls\n}\n\n// --------------------------------------------------------\n// Make Storybook Controls\n// --------------------------------------------------------\ntype MakeStorybookControls = (\n obj: Record<string, ControlConfiguration>,\n props: Record<string, any>\n) => Record<string, StorybookControl>\n\nexport const makeStorybookControls: MakeStorybookControls = (obj, props) =>\n Object.entries(obj).reduce((acc, [key, control]) => {\n const defaultValue =\n typeof props[key] !== 'function' ? props[key] : undefined\n\n if (control.disable) {\n // eslint-disable-next-line no-param-reassign\n acc[key] = {\n table: {\n disable: control.disable,\n },\n }\n } else {\n // eslint-disable-next-line no-param-reassign\n acc[key] = {\n control: { type: control.type /* || CONTROL_MAP[control.type] */ },\n description: control.description,\n options: control.options /* || CONTROL_OPTIONS[control.type] */,\n table: {\n defaultValue: {\n summary: defaultValue || control.value,\n },\n disable: control.disable,\n category: control.group /* || CONTROL_TYPES_GROUPS[control.type] */,\n type: {\n summary: control.valueType,\n },\n },\n }\n }\n\n return acc\n }, {})\n\n// --------------------------------------------------------\n// disableControl\n// --------------------------------------------------------\ntype DisableControl = (\n name: string\n) => Record<string, { table: { disable: true } }>\n\nconst disableControl: DisableControl = (name) => ({\n [name]: { table: { disable: true } },\n})\n\n// --------------------------------------------------------\n// disableDimensionControls\n// --------------------------------------------------------\ntype DisableDimensionControls = (\n dimensions: Record<string, boolean>,\n name?: string\n) => any\n\nexport const disableDimensionControls: DisableDimensionControls = (\n dimensions,\n dimensionName\n) => {\n const result = dimensionName ? disableControl(dimensionName) : {}\n const dimensionKeys = Object.values(dimensions)\n\n return dimensionKeys.reduce((acc, value) => {\n Object.keys(value).forEach((item) => {\n // eslint-disable-next-line no-param-reassign\n acc = { ...acc, ...disableControl(item) }\n })\n\n return acc\n }, result)\n}\n","import React, {\n createContext,\n useContext as contextHook,\n type FC,\n type ComponentType,\n type ReactNode,\n} from 'react'\n\ntype Context = {\n component: ComponentType\n}\n\nexport const context = createContext<Context>({} as Context)\n\nexport const useContext = () => contextHook(context)\n\nconst ContextProvider = context.Provider\n\nconst Provider: FC<Context & { children: ReactNode }> = ({\n children,\n ...props\n}) => <ContextProvider value={props}>{children}</ContextProvider>\n\nexport default Provider\n","import React, { createElement, type FC } from 'react'\nimport { Heading } from '~/components/base'\nimport { useContext } from '../context'\n\ntype Props = {\n title?: string\n} & { [key: string]: any }\n\nconst component: FC<Props> = ({ title, ...props }) => {\n const { component } = useContext()\n\n return (\n <div>\n {title && <Heading level2 label={title} />}\n {createElement(component, props)}\n </div>\n )\n}\n\nexport default component\n","import React, { type FC } from 'react'\nimport Item from './Item'\n\nconst pseudo = ['base', 'hover', 'pressed', 'active'] as const\n\ntype Props = {\n itemProps: Record<string, any>\n}\n\nconst component: FC<Props> = ({ itemProps }) => (\n <>\n {pseudo.map((item) => {\n const pseudoProps = { [item]: true }\n\n return <Item key={item} title={item} {...itemProps} {...pseudoProps} />\n })}\n </>\n)\n\nexport default component\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React, { Fragment } from 'react'\nimport { pick, isEmpty } from '@vitus-labs/core'\nimport { Element } from '@vitus-labs/elements'\nimport NotFound from '~/components/NotFound'\nimport { Heading } from '~/components/base'\nimport getTheme from '~/utils/theme'\nimport { createJSXCodeArray } from '~/utils/code'\nimport {\n createControls,\n convertDimensionsToControls,\n getDefaultVitusLabsControls,\n makeStorybookControls,\n disableDimensionControls,\n} from '~/utils/controls'\nimport type {\n RocketDimensions,\n StoryComponent,\n RocketStoryConfiguration,\n} from '~/types'\nimport Provider from './context'\nimport Item from './components/Item'\nimport PseudoList from './components/PseudoList'\n\nexport type RenderDimension<P = {}> = (\n dimension: RocketDimensions,\n params: RocketStoryConfiguration & {\n ignore: any\n }\n) => StoryComponent<P>\n\nconst renderDimension: RenderDimension = (\n dimension,\n { name, component, attrs = {}, controls, storyOptions = {}, ignore = [] }\n) => {\n // ------------------------------------------------------\n // ROCKETSTYLE COMPONENT INFO\n // ------------------------------------------------------\n const theme = getTheme()\n const statics = component.getStaticDimensions(theme)\n const defaultAttrs = component.getDefaultAttrs(attrs, theme, 'light')\n const { dimensions, useBooleans, multiKeys } = statics\n\n const finalAttrs = { ...defaultAttrs, ...attrs }\n\n // ------------------------------------------------------\n // CURRENT ROCKETSTYLE DIMENSION INFO\n // ------------------------------------------------------\n const currentDimension = dimensions[dimension]\n const isMultiKey = !!multiKeys[dimension]\n\n // ------------------------------------------------------\n // RENDER EMPTY PAGE WHEN DIMENSION IS NOT AVAILABLE\n // ------------------------------------------------------\n const DONT_RENDER = isEmpty(currentDimension)\n if (DONT_RENDER) return NotFound\n\n // ------------------------------------------------------\n // CONTROLS GENERATION\n // ------------------------------------------------------\n const createdControls = createControls(controls)\n const dimensionControls = convertDimensionsToControls(statics)\n const vitusLabsControls = getDefaultVitusLabsControls(component)\n\n const finalControls = {\n ...vitusLabsControls,\n ...createdControls,\n ...dimensionControls,\n }\n\n const storybookControls = makeStorybookControls(finalControls, defaultAttrs)\n\n // ------------------------------------------------------\n // CREATE DEFAULT STORY DESCRIPTION\n // ------------------------------------------------------\n const hasPseudo = storyOptions.pseudo === true\n\n let story = `This story renders all _options_ of the **${dimension}** dimension. `\n if (hasPseudo) {\n story += 'Including `pseudo` states.'\n }\n\n // ------------------------------------------------------\n // STORY COMPONENT\n // ------------------------------------------------------\n const revertedDirection =\n storyOptions.direction === 'rows' ? 'inline' : 'rows'\n const hasStoryOptions = !isEmpty(storyOptions)\n const WrapElement = hasStoryOptions ? Element : Fragment\n const wrapperProps = hasStoryOptions\n ? ({\n block: true,\n contentDirection: hasPseudo\n ? revertedDirection\n : storyOptions.direction,\n contentAlignX: storyOptions.alignX,\n contentAlignY: storyOptions.alignY,\n style: { gap: storyOptions.gap },\n } as const)\n : {}\n\n const Enhanced: StoryComponent = (props) => (\n <WrapElement {...wrapperProps}>\n {Object.keys(currentDimension).map((item) => {\n // const storyName = `${dimension}-${item}`\n const shouldBeIgnored = ignore.includes(item)\n const key = `${dimension}-${item}`\n\n const storyProps = {\n key,\n 'data-story': key,\n contentDirection: revertedDirection,\n contentAlignX: storyOptions.alignX,\n contentAlignY: storyOptions.alignY,\n style: { gap: storyOptions.gap ? storyOptions.gap / 2 : 0 },\n } as const\n\n // do not render ignored dimension keys\n if (shouldBeIgnored) return null\n\n if (storyOptions.pseudo === true) {\n return (\n <WrapElement contentDirection=\"rows\" contentAlignY=\"top\">\n <Heading\n level1\n label={item.charAt(0).toUpperCase() + item.slice(1)}\n />\n <WrapElement\n {...storyProps}\n contentDirection={storyOptions.direction}\n contentAlignY=\"top\"\n >\n <Provider component={component}>\n <PseudoList\n itemProps={{\n ...props,\n [dimension]: isMultiKey ? [item] : item,\n }}\n />\n </Provider>\n </WrapElement>\n </WrapElement>\n )\n }\n\n return (\n <WrapElement {...storyProps}>\n <Provider component={component}>\n <Item\n {...{\n ...props,\n [dimension]: isMultiKey ? [item] : item,\n }}\n />\n </Provider>\n </WrapElement>\n )\n })}\n </WrapElement>\n )\n\n Enhanced.args = finalAttrs\n Enhanced.argTypes = {\n ...storybookControls,\n ...disableDimensionControls(dimensions, dimension),\n }\n\n Enhanced.parameters = {\n docs: {\n description: {\n story,\n },\n source: {\n code: createJSXCodeArray(\n name,\n pick(finalAttrs, Object.keys(attrs)),\n dimension,\n currentDimension,\n useBooleans,\n isMultiKey\n ),\n },\n },\n }\n\n return Enhanced\n}\n\nexport default renderDimension\n","// --------------------------------------------------------\n// extractDefaultBooleanProps\n// --------------------------------------------------------\ntype ExtractDefaultBooleanProps = (params: {\n dimensions: Record<string, any>\n multiKeys: Record<string, true>\n useBooleans?: boolean\n}) => Record<string, any> | null\n\n// eslint-disable-next-line import/prefer-default-export\nexport const extractDefaultBooleanProps: ExtractDefaultBooleanProps = ({\n dimensions,\n multiKeys,\n useBooleans,\n}) => {\n if (!useBooleans) return null\n\n return Object.entries(dimensions).reduce((acc, [key, value]) => {\n if (!multiKeys[key]) {\n const propName = Object.keys(value)[0] as string\n\n return { ...acc, [propName]: true }\n }\n\n return acc\n }, {})\n}\n","import { pick } from '@vitus-labs/core'\nimport getTheme from '~/utils/theme'\nimport { generateMainJSXCode } from '~/utils/code'\nimport { extractDefaultBooleanProps } from '~/utils/dimensions'\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\nimport {\n createControls,\n convertDimensionsToControls,\n getDefaultVitusLabsControls,\n makeStorybookControls,\n disableDimensionControls,\n} from '~/utils/controls'\n\nexport type RocketStory<P = {}> = (\n WrappedComponent: any\n) => (params: RocketStoryConfiguration) => StoryComponent<P>\n\nconst rocketStory: RocketStory =\n (WrappedComponent) =>\n ({ name, component, attrs, controls }) => {\n // ------------------------------------------------------\n // ROCKETSTYLE COMPONENT INFO\n // ------------------------------------------------------\n const theme = getTheme()\n const statics = component.getStaticDimensions(theme)\n const defaultAttrs = component.getDefaultAttrs(attrs, theme, 'light')\n const { dimensions, useBooleans, multiKeys } = statics\n\n const finalAttrs = { ...defaultAttrs, ...attrs }\n\n // ------------------------------------------------------\n // CONTROLS GENERATION\n // ------------------------------------------------------\n const createdControls = createControls(controls)\n const dimensionControls = convertDimensionsToControls(statics)\n const vitusLabsControls = getDefaultVitusLabsControls(component)\n\n const finalControls = {\n ...dimensionControls,\n ...vitusLabsControls,\n ...createdControls,\n }\n\n const storybookControls = makeStorybookControls(finalControls, defaultAttrs)\n\n // ------------------------------------------------------\n // CREATE DEFAULT STORY DESCRIPTION\n // ------------------------------------------------------\n const story = `This story is a showcase of a _${name}_ component`\n\n // ------------------------------------------------------\n // PROPS TO BE PASSED TO CODE GENERATION\n // ------------------------------------------------------\n // TODO\n\n // ------------------------------------------------------\n // STORY COMPONENT\n // ------------------------------------------------------\n const Enhanced = WrappedComponent(component)\n\n Enhanced.args = finalAttrs\n Enhanced.argTypes = {\n ...storybookControls,\n ...disableDimensionControls(dimensions),\n }\n\n Enhanced.parameters = {\n docs: {\n description: {\n story,\n },\n source: {\n code: generateMainJSXCode({\n name,\n dimensions: {},\n props: pick(finalAttrs, Object.keys(attrs)),\n booleanDimensions: extractDefaultBooleanProps({\n dimensions,\n multiKeys,\n useBooleans,\n }),\n }),\n },\n },\n }\n\n return Enhanced\n }\n\nexport default rocketStory\n","import React from 'react'\nimport { List } from '@vitus-labs/elements'\nimport RocketStoryHoc from '~/internal/RocketStoryHoc'\nimport type {\n ListStoryOptions,\n StoryComponent,\n RocketStoryConfiguration,\n} from '~/types'\n\nexport type RenderList<P = {}> = (\n render: ListStoryOptions,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (list) =>\n RocketStoryHoc((component) => (props) => (\n <List\n rootElement={false}\n itemProps={props}\n {...list}\n component={component}\n />\n ))\n","import React, { createElement } from 'react'\nimport RocketStoryHoc from '~/internal/RocketStoryHoc'\n\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderMain<P = {}> = (\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default RocketStoryHoc((component) => (props) => (\n <>{createElement(component, props)}</>\n))\n","import RocketStoryHoc from '~/internal/RocketStoryHoc'\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderRender<P = {}> = (\n render,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (render) => RocketStoryHoc(() => render)\n","import { createElement } from 'react'\nimport { createControls, makeStorybookControls } from '~/utils/controls'\nimport type { StoryConfiguration, StoryComponent } from '~/types'\n\nexport type Story<P = {}> = (\n WrappedComponent: any\n) => (params: StoryConfiguration) => StoryComponent<P>\n\nconst story: Story =\n (WrappedComponent) =>\n ({ component, attrs, controls }) => {\n // ------------------------------------------------------\n // CONTROLS GENERATION\n // ------------------------------------------------------\n const createdControls = createControls(controls)\n\n const finalControls = createdControls\n const storybookControls = makeStorybookControls(finalControls, attrs)\n\n const Enhanced = WrappedComponent(component)\n\n Enhanced.args = attrs\n Enhanced.argTypes = storybookControls\n\n return Enhanced\n }\n\nexport default story\n","import React from 'react'\nimport { List } from '@vitus-labs/elements'\nimport StoryHoc from '~/internal/StoryHoc'\nimport type {\n ListStoryOptions,\n StoryComponent,\n RocketStoryConfiguration,\n} from '~/types'\n\nexport type RenderList<P = {}> = (\n render: ListStoryOptions,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (list) =>\n StoryHoc((component) => (props) => (\n <List\n rootElement={false}\n {...list}\n itemProps={props}\n component={component}\n />\n ))\n","import React, { createElement } from 'react'\nimport StoryHoc from '~/internal/StoryHoc'\n\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderMain<P = {}> = (\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default StoryHoc((component) => (props) => (\n <>{createElement(component, props)}</>\n))\n","import StoryHoc from '~/internal/StoryHoc'\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderRender<P = {}> = (\n render,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (render) => StoryHoc(() => render)\n","import type { Meta, StoryObj } from '@storybook/react';\nimport { get } from '@vitus-labs/core'\nimport { isRocketComponent } from '@vitus-labs/rocketstyle'\nimport * as rocketstory from '~/stories/rocketstories'\nimport * as simplestory from '~/stories/base'\nimport type {\n Control,\n TObj,\n Configuration,\n RocketType,\n ExtractProps,\n RenderStoryOptions,\n ListStoryOptions,\n} from '~/types'\n\nconst cloneAndEhnance = (\n defaultOptions: Configuration,\n options: Partial<Configuration>,\n) => {\n const result = {\n ...defaultOptions,\n name: defaultOptions.name || options.name,\n prefix: options.prefix || defaultOptions.prefix,\n component: options.component || defaultOptions.component,\n attrs: { ...defaultOptions.attrs, ...options.attrs },\n storyOptions: { ...defaultOptions.storyOptions, ...options.storyOptions },\n controls: { ...defaultOptions.controls, ...options.controls },\n decorators: [\n ...(defaultOptions.decorators || []),\n ...(options.decorators || []),\n ],\n }\n\n const finalName = (result.name ||\n result.component.displayName ||\n get(result.component, 'name')) as string\n\n const finalStoryName = result.prefix\n ? `${result.prefix}/${finalName}`\n : finalName\n\n return createRocketStories({ ...result, name: finalStoryName })\n}\n\n// --------------------------------------------------------\n// create rocket stories\n// --------------------------------------------------------\nexport interface IRocketStories<\n OA extends TObj = {},\n RA extends TObj | unknown = unknown,\n ISRS extends boolean = false,\n> {\n CONFIG: Configuration\n\n // MAIN story\n // --------------------------------------------------------\n main: () => ISRS extends true\n ? ReturnType<rocketstory.RenderMain<OA>>\n : ReturnType<simplestory.RenderMain<OA>>\n\n // DIMENSION(S) story\n // --------------------------------------------------------\n dimension: <P extends keyof RA>(\n dimension: ISRS extends true ? P : never,\n options?: Partial<{ ignore: Array<RA[P]> }>,\n ) => ReturnType<rocketstory.RenderDimension<OA>> | null\n\n // RENDER story\n // --------------------------------------------------------\n render: (\n params: RenderStoryOptions<OA>,\n ) => ISRS extends true\n ? ReturnType<rocketstory.RenderRender<OA>>\n : ReturnType<simplestory.RenderRender<OA>>\n\n // RENDER story\n // --------------------------------------------------------\n list: (\n params: ListStoryOptions,\n ) => ISRS extends true\n ? ReturnType<rocketstory.RenderList<OA>>\n : ReturnType<simplestory.RenderList<OA>>\n\n // INIT chaining method\n // --------------------------------------------------------\n init: () => {\n component: Configuration['component']\n title: Configuration['name']\n decorators: Configuration['decorators']\n }\n\n // STORY OPTIONS chaining method\n // --------------------------------------------------------\n storyOptions: (\n options: Configuration['storyOptions'],\n ) => IRocketStories<OA, RA, ISRS>\n\n controls: (\n options: Partial<{ [I in keyof OA]: Control }>,\n ) => IRocketStories<OA, RA, ISRS>\n\n // CONFIG chaining method\n // --------------------------------------------------------\n config: <P extends Partial<Omit<Configuration, 'attrs'>>>(\n params: P,\n ) => IRocketStories<OA, RA, ISRS>\n\n // ATTRS chaining method\n // --------------------------------------------------------\n attrs: <P extends Partial<OA>>(params: P) => IRocketStories<OA, RA, ISRS>\n\n // COMPONENT chaining method\n // --------------------------------------------------------\n replaceComponent: <P extends Configuration['component']>(\n param: P,\n ) => P extends RocketType\n ? IRocketStories<ExtractProps<P>, P['$$rocketstyle'], true>\n : IRocketStories<ExtractProps<P>, unknown, false>\n\n // COMPONENT chaining method\n // --------------------------------------------------------\n decorators: <P extends Configuration['decorators']>(\n param: P,\n ) => IRocketStories<OA, RA, ISRS>\n}\n\ntype CreateRocketStories = (options: Configuration) => IRocketStories\n// @ts-ignore\nconst createRocketStories: CreateRocketStories = (options) => {\n const isRocket = isRocketComponent(options.component)\n\n return {\n CONFIG: options,\n // output methods\n main: () =>\n isRocket\n ? rocketstory.renderMain({\n ...options,\n component: options.component as RocketType,\n })\n : simplestory.renderMain(options),\n dimension: (dimension, params = {}) => {\n if (!isRocket) return null\n\n const { ignore = [] } = params\n\n return rocketstory.renderDimension(dimension, {\n ...options,\n component: options.component as RocketType,\n ignore,\n })\n },\n\n render: (renderer) =>\n isRocket\n ? rocketstory.renderRender(renderer)({\n ...options,\n component: options.component as RocketType,\n })\n : simplestory.renderRender(renderer)({\n ...options,\n component: options.component as RocketType,\n }),\n\n list: (params) =>\n isRocket\n ? rocketstory.renderList(params)({\n ...options,\n component: options.component as RocketType,\n })\n : simplestory.renderList(params)({\n ...options,\n component: options.component as RocketType,\n }),\n\n init: {\n component: options.component,\n title: options.name,\n decorators: options.decorators,\n },\n\n // chaining methods\n storyOptions: (storyOptions) => cloneAndEhnance(options, { storyOptions }),\n controls: (controls) => cloneAndEhnance(options, { controls }),\n\n config: ({ component, storyOptions, prefix, name, decorators }) =>\n cloneAndEhnance(options, {\n component,\n storyOptions,\n prefix,\n name,\n decorators,\n }),\n\n attrs: (attrs) => cloneAndEhnance(options, { attrs }),\n\n replaceComponent: (component) => cloneAndEhnance(options, { component }),\n\n decorators: (decorators) => cloneAndEhnance(options, { decorators }),\n }\n}\n\nexport default createRocketStories\n","import type { Configuration, RocketType, ExtractProps } from '~/types'\nimport createRocketStories from '~/rocketstories'\nimport type { IRocketStories } from '~/rocketstories'\n\n// --------------------------------------------------------\n// rocketstories\n// --------------------------------------------------------\nexport type Init = <\n P extends Partial<Omit<Configuration, 'component' | 'attrs'>>,\n>(\n params: P,\n) => <T extends Configuration['component']>(\n component: T,\n) => T extends RocketType\n ? IRocketStories<ExtractProps<T>, T['$$rocketstyle'], true>\n : IRocketStories<ExtractProps<T>, unknown, false>\n\nconst init: Init =\n ({ decorators = [], storyOptions = {}, ...rest }) =>\n (component) =>\n rocketstories(component, { decorators, storyOptions, ...rest })\n\n// --------------------------------------------------------\n// rocketstories\n// --------------------------------------------------------\nexport type Rocketstories = <C extends Configuration['component']>(\n component: C,\n options?: Partial<Omit<Configuration, 'component' | 'attrs'>>,\n) => C extends RocketType\n ? IRocketStories<ExtractProps<C>, C['$$rocketstyle'], true>\n : IRocketStories<ExtractProps<C>, unknown, false>\n\n//@ts-ignore\nconst rocketstories: Rocketstories = (component, options = {}) => {\n const { decorators = [], storyOptions = {} } = options\n\n const result: Configuration = {\n component,\n name: component.displayName || component.name,\n attrs: {},\n storyOptions: {\n gap: 16,\n direction: 'rows',\n alignY: 'top',\n alignX: 'left',\n ...storyOptions,\n },\n decorators,\n controls: {},\n }\n\n return createRocketStories(result)\n}\n\nexport { init, rocketstories }\n"],"names":["context","createContext","useContext","useState","useCallback","useRef","useImperativeHandle","context$1","forwardRef","useMemo","React","isEmpty","render","get","set","merge","config","getTheme","pick","omit","compose","hoistNonReactStatics","rocketstyle","component","Element","styles","element","group","HTML_TAGS","CONTROLS.ELEMENT_CONTROLS","CONTROLS.LIST_CONTROLS","CONTROLS.TEXT_CONTROLS","CONTROLS.OVERLAY_CONTROLS","CONTROLS.ROCKETSTYLE_CONTROLS","contextHook","createElement","Item","NotFound","Fragment","PseudoList","RocketStoryHoc","List","StoryHoc","rocketstory.renderMain","simplestory.renderMain","rocketstory.renderDimension","rocketstory.renderRender","simplestory.renderRender","rocketstory.renderList","simplestory.renderList"],"mappings":"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"}
1
+ {"version":3,"file":"vitus-labs-rocketstories.js","sources":["../../rocketstyle/lib/index.js","../src/components/NotFound.tsx","../src/components/base/element.ts","../src/components/base/Heading.ts","../src/utils/theme.ts","../src/utils/code.ts","../src/controls/element.ts","../src/controls/list.ts","../src/controls/overlay.ts","../src/controls/rocketstyle.ts","../src/controls/text.ts","../src/utils/controls.ts","../src/stories/rocketstories/renderDimension/context.tsx","../src/stories/rocketstories/renderDimension/components/Item.tsx","../src/stories/rocketstories/renderDimension/components/PseudoList.tsx","../src/stories/rocketstories/renderDimension/index.tsx","../src/utils/dimensions.ts","../src/internal/RocketStoryHoc.tsx","../src/stories/rocketstories/renderList.tsx","../src/stories/rocketstories/renderMain.tsx","../src/stories/rocketstories/renderRender.tsx","../src/internal/StoryHoc.tsx","../src/stories/base/renderList.tsx","../src/stories/base/renderMain.tsx","../src/stories/base/renderRender.tsx","../src/rocketstories.tsx","../src/init.ts"],"sourcesContent":["import { context as context$1, Provider as Provider$1, isEmpty, render, set, get, merge, config, pick, omit, compose } from '@vitus-labs/core';\nexport { context } from '@vitus-labs/core';\nimport React, { createContext, useContext, useState, useCallback, useRef, useImperativeHandle, forwardRef, useMemo } from 'react';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\nconst MODE_DEFAULT = 'light';\nconst PSEUDO_KEYS = ['hover', 'active', 'focus', 'pressed'];\nconst PSEUDO_META_KEYS = ['disabled', 'readOnly'];\nconst THEME_MODES = {\n light: true,\n dark: true,\n};\nconst THEME_MODES_INVERSED = {\n dark: 'light',\n light: 'dark',\n};\nconst CONFIG_KEYS = [\n 'provider',\n 'consumer',\n 'DEBUG',\n 'name',\n 'component',\n 'inversed',\n 'passProps',\n 'styled',\n];\nconst STYLING_KEYS = ['theme', 'styles'];\nconst STATIC_KEYS = [...STYLING_KEYS, 'compose'];\nconst ALL_RESERVED_KEYS = [\n ...Object.keys(THEME_MODES),\n ...CONFIG_KEYS,\n ...STATIC_KEYS,\n 'attrs',\n];\n\nconst context = createContext({});\nconst useLocalContext = (consumer) => {\n const ctx = consumer ? useContext(context) : {};\n const result = consumer ? consumer((callback) => callback(ctx)) : {};\n return { pseudo: {}, ...result };\n};\nconst LocalProvider = context.Provider;\n\nconst usePseudoState = ({ onBlur, onFocus, onMouseDown, onMouseEnter, onMouseLeave, onMouseUp, }) => {\n const [hover, setHover] = useState(false);\n const [focus, setFocus] = useState(false);\n const [pressed, setPressed] = useState(false);\n const handleOnMouseEnter = useCallback((e) => {\n setHover(true);\n if (onMouseEnter)\n onMouseEnter(e);\n }, [onMouseEnter]);\n const handleOnMouseLeave = useCallback((e) => {\n setHover(false);\n setPressed(false);\n if (onMouseLeave)\n onMouseLeave(e);\n }, [onMouseLeave]);\n const handleOnMouseDown = useCallback((e) => {\n setPressed(true);\n if (onMouseDown)\n onMouseDown(e);\n }, [onMouseDown]);\n const handleOnMouseUp = useCallback((e) => {\n setPressed(false);\n if (onMouseUp)\n onMouseUp(e);\n }, [onMouseUp]);\n const handleOnFocus = useCallback((e) => {\n setFocus(true);\n if (onFocus)\n onFocus(e);\n }, [onFocus]);\n const handleOnBlur = useCallback((e) => {\n setFocus(false);\n if (onBlur)\n onBlur(e);\n }, [onBlur]);\n return {\n state: {\n hover,\n focus,\n pressed,\n },\n events: {\n onMouseEnter: handleOnMouseEnter,\n onMouseLeave: handleOnMouseLeave,\n onMouseDown: handleOnMouseDown,\n onMouseUp: handleOnMouseUp,\n onFocus: handleOnFocus,\n onBlur: handleOnBlur,\n },\n };\n};\n\nconst useRocketstyleRef = ({ $rocketstyleRef, ref }) => {\n const internalRef = useRef(null);\n useImperativeHandle($rocketstyleRef, () => internalRef.current);\n useImperativeHandle(ref, () => internalRef.current);\n return internalRef;\n};\n\nconst Provider = ({ provider = Provider$1, inversed, ...props }) => {\n const ctx = useContext(context$1);\n const { theme, mode, provider: RocketstyleProvider, children, } = { ...ctx, ...props, provider };\n let newMode = MODE_DEFAULT;\n if (mode) {\n newMode = inversed ? THEME_MODES_INVERSED[mode] : mode;\n }\n return (React.createElement(RocketstyleProvider, { mode: newMode, isDark: newMode === 'dark', isLight: newMode === 'light', theme: theme, provider: provider }, children));\n};\n\nconst useThemeAttrs = ({ inversed }) => {\n const { theme = {}, mode: ctxMode = 'light', isDark: ctxDark, } = useContext(context$1) || {};\n const mode = inversed ? THEME_MODES_INVERSED[ctxMode] : ctxMode;\n const isDark = inversed ? !ctxDark : ctxDark;\n const isLight = !isDark;\n return { theme, mode, isDark, isLight };\n};\n\nconst RocketStyleProviderComponent = (WrappedComponent) => forwardRef(({ onMouseEnter, onMouseLeave, onMouseUp, onMouseDown, onFocus, onBlur, $rocketstate, ...props }, ref) => {\n // pseudo hook to detect states hover / pressed / focus\n const pseudo = usePseudoState({\n onMouseEnter,\n onMouseLeave,\n onMouseUp,\n onMouseDown,\n onFocus,\n onBlur,\n });\n const updatedState = useMemo(() => ({\n ...$rocketstate,\n pseudo: { ...$rocketstate.pseudo, ...pseudo.state },\n }), [$rocketstate, pseudo]);\n return (React.createElement(LocalProvider, { value: updatedState },\n React.createElement(WrappedComponent, { ...props, ...pseudo.events, ref: ref, \"$rocketstate\": updatedState })));\n});\n\nclass ThemeManager {\n baseTheme = new WeakMap();\n dimensionsThemes = new WeakMap();\n modeBaseTheme = { light: new WeakMap(), dark: new WeakMap() };\n modeDimensionTheme = { light: new WeakMap(), dark: new WeakMap() };\n}\n\n/* eslint-disable no-param-reassign */\nconst removeUndefinedProps = (props) => Object.keys(props).reduce((acc, key) => {\n const currentValue = props[key];\n if (currentValue !== undefined)\n return { ...acc, [key]: currentValue };\n return acc;\n}, {});\nconst pickStyledAttrs = (props, keywords) => Object.keys(props).reduce((acc, key) => {\n if (keywords[key] && props[key])\n acc[key] = props[key];\n return acc;\n}, {});\nconst calculateChainOptions = (options) => (args) => {\n const result = {};\n if (isEmpty(options))\n return result;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n return options.reduce((acc, item) => Object.assign(acc, item(...args)), {});\n};\nconst calculateStylingAttrs = ({ useBooleans, multiKeys }) => ({ props, dimensions }) => {\n const result = {};\n // (1) find dimension keys values & initialize\n // object with possible options\n Object.keys(dimensions).forEach((item) => {\n const pickedProp = props[item];\n const valueTypes = ['number', 'string'];\n // if the property is multi key, allow assign array as well\n if (multiKeys && multiKeys[item] && Array.isArray(pickedProp)) {\n result[item] = pickedProp;\n }\n // assign when it's only a string or number otherwise it's considered\n // as invalid param\n else if (valueTypes.includes(typeof pickedProp)) {\n result[item] = pickedProp;\n }\n else {\n result[item] = undefined;\n }\n });\n // (2) if booleans are being used let's find the rest\n if (useBooleans) {\n const propsKeys = Object.keys(props).reverse();\n Object.entries(result).forEach(([key, value]) => {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const isMultiKey = multiKeys[key];\n // when value in result is not assigned yet\n if (!value) {\n let newDimensionValue;\n const keywords = Object.keys(dimensions[key]);\n if (isMultiKey) {\n newDimensionValue = propsKeys.filter((key) => keywords.includes(key));\n }\n else {\n // reverse props to guarantee the last one will have\n // a priority over previous ones\n newDimensionValue = propsKeys.find((key) => {\n if (keywords.includes(key) && props[key])\n return key;\n return false;\n });\n }\n result[key] = newDimensionValue;\n }\n });\n }\n return result;\n};\n\n/* eslint-disable no-underscore-dangle */\nconst rocketStyleHOC = ({ inversed, attrs, priorityAttrs }) => {\n // --------------------------------------------------\n // .attrs(...)\n // first we need to calculate final props which are\n // being returned by using `attr` chaining method\n // --------------------------------------------------\n const calculateAttrs = calculateChainOptions(attrs);\n const calculatePriorityAttrs = calculateChainOptions(priorityAttrs);\n const Enhanced = (WrappedComponent) => forwardRef((props, ref) => {\n const { theme, mode, isDark, isLight } = useThemeAttrs({\n inversed,\n });\n const callbackParams = [theme, { render, mode, isDark, isLight }];\n // --------------------------------------------------\n // remove undefined props not to override potential default props\n // only props with value (e.g. `null`) should override default props\n // --------------------------------------------------\n const filteredProps = removeUndefinedProps(props);\n const prioritizedAttrs = calculatePriorityAttrs([\n filteredProps,\n ...callbackParams,\n ]);\n const finalAttrs = calculateAttrs([\n {\n ...prioritizedAttrs,\n ...filteredProps,\n },\n ...callbackParams,\n ]);\n return (React.createElement(WrappedComponent, { \"$rocketstyleRef\": ref, ...prioritizedAttrs, ...finalAttrs, ...filteredProps }));\n });\n return Enhanced;\n};\n\nconst createStaticsChainingEnhancers = ({ context, dimensionKeys, func, options, }) => {\n const keys = [...dimensionKeys, ...STATIC_KEYS];\n keys.forEach((item) => {\n // eslint-disable-next-line no-param-reassign\n context[item] = (props) => func(options, { [item]: props });\n });\n};\nconst createStaticsEnhancers = ({ context, options, }) => {\n if (!isEmpty(options)) {\n Object.assign(context, options);\n }\n};\n\n/* eslint-disable import/prefer-default-export */\nconst removeNullableValues = (obj) => Object.entries(obj)\n .filter(([, v]) => v != null && v !== false)\n .reduce((acc, [k, v]) => ({ ...acc, [k]: v }), {});\n// --------------------------------------------------------\n// Remove All Empty Values\n// --------------------------------------------------------\n// type RemoveAllEmptyValues = (obj: Record<string, any>) => Record<string, any>\n// export const removeAllEmptyValues: RemoveAllEmptyValues = (obj) =>\n// Object.entries(obj)\n// .filter(([, v]) => v != null)\n// .reduce(\n// (acc, [k, v]) => ({\n// ...acc,\n// [k]: typeof v === 'object' ? removeAllEmptyValues(v) : v,\n// }),\n// {}\n// )\n\nconst isValidKey = (value) => value !== undefined && value !== null && value !== false;\nconst isMultiKey = (value) => {\n if (typeof value === 'object' && value !== null)\n return [true, get(value, 'propName')];\n return [false, value];\n};\nconst getDimensionsMap = ({ themes, useBooleans }) => {\n const result = {\n keysMap: {},\n keywords: {},\n };\n if (isEmpty(themes))\n return result;\n return Object.entries(themes).reduce((accumulator, [key, value]) => {\n const { keysMap, keywords } = accumulator;\n keywords[key] = true;\n Object.entries(value).forEach(([itemKey, itemValue]) => {\n if (!isValidKey(itemValue))\n return;\n if (useBooleans) {\n keywords[itemKey] = true;\n }\n set(keysMap, [key, itemKey], true);\n });\n return accumulator;\n }, result);\n};\nconst getKeys = (obj) => Object.keys(obj);\nconst getValues = (obj) => Object.values(obj);\nconst getDimensionsValues = (obj) => getValues(obj).map((item) => {\n if (typeof item === 'object') {\n return item.propName;\n }\n return item;\n});\nconst getMultipleDimensions = (obj) => getValues(obj).reduce((accumulator, value) => {\n if (typeof value === 'object') {\n // eslint-disable-next-line no-param-reassign\n if (value.multi === true)\n accumulator[value.propName] = true;\n }\n return accumulator;\n}, {});\n\n/* eslint-disable no-param-reassign */\n// eslint-disable-next-line @typescript-eslint/ban-ts-comment\n// --------------------------------------------------------\n// Theme Mode Callback\n// --------------------------------------------------------\nconst themeModeCallback = (light, dark) => (mode) => {\n if (!mode || mode === 'light')\n return light;\n return dark;\n};\nconst isModeCallback = (value) => typeof value === 'function' &&\n //@ts-ignore\n value.toString() === themeModeCallback().toString();\nconst getThemeFromChain = (options, theme) => {\n const result = {};\n if (!options || isEmpty(options))\n return result;\n return options.reduce((acc, item) => merge(acc, item(theme, themeModeCallback, config.css)), result);\n};\nconst getDimensionThemes = (theme, options) => {\n const result = {};\n if (isEmpty(options.dimensions))\n return result;\n return Object.entries(options.dimensions).reduce((acc, [key, value]) => {\n const [, dimension] = isMultiKey(value);\n const helper = options[key];\n if (Array.isArray(helper) && helper.length > 0) {\n const finalDimensionThemes = getThemeFromChain(helper, theme);\n // eslint-disable-next-line no-param-reassign\n acc[dimension] = removeNullableValues(finalDimensionThemes);\n }\n return acc;\n }, result);\n};\nconst getTheme = ({ rocketstate, themes, baseTheme }) => {\n // generate final theme which will be passed to styled component\n let finalTheme = { ...baseTheme };\n Object.entries(rocketstate).forEach(([key, value]) => {\n const keyTheme = themes[key];\n if (Array.isArray(value)) {\n value.forEach((item) => {\n finalTheme = merge({}, finalTheme, keyTheme[item]);\n });\n }\n else {\n finalTheme = merge({}, finalTheme, keyTheme[value]);\n }\n });\n return finalTheme;\n};\nconst getThemeByMode = (object, mode) => Object.keys(object).reduce((acc, key) => {\n const value = object[key];\n if (typeof value === 'object' && value !== null) {\n acc[key] = getThemeByMode(value, mode);\n }\n else if (isModeCallback(value)) {\n acc[key] = value(mode);\n }\n else {\n acc[key] = value;\n }\n return acc;\n}, {});\n\nconst chainOptions = (opts, defaultOpts = []) => {\n const result = [...defaultOpts];\n if (typeof opts === 'function')\n result.push(opts);\n else if (typeof opts === 'object')\n result.push(() => opts);\n return result;\n};\nconst chainOrOptions = (keys, opts, defaultOpts) => keys.reduce((acc, item) => ({ ...acc, [item]: opts[item] || defaultOpts[item] }), {});\nconst chainReservedKeyOptions = (keys, opts, defaultOpts) => keys.reduce((acc, item) => ({\n ...acc,\n [item]: chainOptions(opts[item], defaultOpts[item]),\n}), {});\n\nconst calculateHocsFuncs = (options = {}) => Object.values(options)\n .filter((item) => typeof item === 'function')\n .reverse();\n\n/* eslint-disable import/prefer-default-export */\nconst calculateStyles = (styles) => {\n if (!styles)\n return [];\n return styles.map((item) => item(config.css));\n};\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable no-underscore-dangle */\nconst cloneAndEnhance = (defaultOpts, opts) => \n// @ts-ignore\nrocketComponent({\n ...defaultOpts,\n attrs: chainOptions(opts.attrs, defaultOpts.attrs),\n filterAttrs: [\n ...(defaultOpts.filterAttrs ?? []),\n ...(opts.filterAttrs ?? []),\n ],\n priorityAttrs: chainOptions(opts.priorityAttrs, defaultOpts.priorityAttrs),\n statics: { ...defaultOpts.statics, ...opts.statics },\n compose: { ...defaultOpts.compose, ...opts.compose },\n ...chainOrOptions(CONFIG_KEYS, opts, defaultOpts),\n ...chainReservedKeyOptions([...defaultOpts.dimensionKeys, ...STYLING_KEYS], opts, defaultOpts),\n});\n// --------------------------------------------------------\n// styleComponent\n// helper function which allows function chaining\n// always returns a valid React component with static functions\n// assigned, so it can be even rendered as a valid component\n// or styles can be extended via its statics\n// --------------------------------------------------------\n// @ts-ignore\nconst rocketComponent = (options) => {\n const { component, styles, DEBUG } = options;\n const { styled } = config;\n const _calculateStylingAttrs = calculateStylingAttrs({\n multiKeys: options.multiKeys,\n useBooleans: options.useBooleans,\n });\n const componentName = options.name ?? options.component.displayName ?? options.component.name;\n // create styled component with all options.styles if available\n const STYLED_COMPONENT = component.IS_ROCKETSTYLE ?? options.styled !== true\n ? component\n : styled(component) `\n ${calculateStyles(styles)};\n `;\n // --------------------------------------------------------\n // COMPONENT - Final component to be rendered\n // --------------------------------------------------------\n const RenderComponent = options.provider\n ? RocketStyleProviderComponent(STYLED_COMPONENT)\n : STYLED_COMPONENT;\n // --------------------------------------------------------\n // THEME - Cached & Calculated theme(s)\n // --------------------------------------------------------\n const ThemeManager$1 = new ThemeManager();\n // --------------------------------------------------------\n // COMPOSE - high-order components\n // --------------------------------------------------------\n const hocsFuncs = [\n rocketStyleHOC(options),\n ...calculateHocsFuncs(options.compose),\n ];\n // --------------------------------------------------------\n // ENHANCED COMPONENT (returned component)\n // --------------------------------------------------------\n // .attrs() chaining option is calculated in HOC and passed as props already\n // @ts-ignore\n // eslint-disable-next-line react/display-name\n const EnhancedComponent = forwardRef(({ $rocketstyleRef, // it's forwarded from HOC which is always on top of all hocs\n ...props }, ref) => {\n // --------------------------------------------------\n // handle refs\n // (1) one is passed from inner HOC - $rocketstyleRef\n // (2) second one is used to be used directly (e.g. inside hocs)\n // --------------------------------------------------\n const internalRef = useRocketstyleRef({ $rocketstyleRef, ref });\n // --------------------------------------------------\n // hover - focus - pressed state passed via context from parent component\n // --------------------------------------------------\n const localCtx = useLocalContext(options.consumer);\n // --------------------------------------------------\n // general theme and theme mode dark / light passed in context\n // --------------------------------------------------\n const { theme, mode } = useThemeAttrs(options);\n // --------------------------------------------------\n // calculate themes for all defined styling dimensions\n // .theme(...) + defined dimensions like .states(...), .sizes(...), etc.\n // --------------------------------------------------\n // --------------------------------------------------\n // BASE / DEFAULT THEME Object\n // --------------------------------------------------\n const baseTheme = useMemo(() => {\n const helper = ThemeManager$1.baseTheme;\n if (!helper.has(theme)) {\n helper.set(theme, getThemeFromChain(options.theme, theme));\n }\n return helper.get(theme);\n }, \n // recalculate this only when theme mode changes dark / light\n [theme]);\n // --------------------------------------------------\n // DIMENSION(S) THEMES Object\n // --------------------------------------------------\n const themes = useMemo(() => {\n const helper = ThemeManager$1.dimensionsThemes;\n if (!helper.has(theme)) {\n helper.set(theme, getDimensionThemes(theme, options));\n }\n return helper.get(theme);\n }, \n // recalculate this only when theme object changes\n [theme]);\n // --------------------------------------------------\n // BASE / DEFAULT MODE THEME Object\n // --------------------------------------------------\n const currentModeBaseTheme = useMemo(() => {\n const helper = ThemeManager$1.modeBaseTheme[mode];\n if (!helper.has(baseTheme)) {\n helper.set(baseTheme, getThemeByMode(baseTheme, mode));\n }\n return helper.get(baseTheme);\n }, \n // recalculate this only when theme mode changes dark / light\n [mode, baseTheme]);\n // --------------------------------------------------\n // DIMENSION(S) MODE THEMES Object\n // --------------------------------------------------\n const currentModeThemes = useMemo(() => {\n const helper = ThemeManager$1.modeDimensionTheme[mode];\n if (!helper.has(themes)) {\n helper.set(themes, getThemeByMode(themes, mode));\n }\n return helper.get(themes);\n }, \n // recalculate this only when theme mode changes dark / light\n [mode, themes]);\n // --------------------------------------------------\n // calculate reserved Keys defined in dimensions as styling keys\n // there is no need to calculate this each time - keys are based on\n // dimensions definitions\n // --------------------------------------------------\n const { keysMap: dimensions, keywords: reservedPropNames } = useMemo(() => getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n }), [themes]);\n const RESERVED_STYLING_PROPS_KEYS = useMemo(() => Object.keys(reservedPropNames), [reservedPropNames]);\n // --------------------------------------------------\n // get final props which are (latest has the highest priority):\n // (1) merged styling from context,\n // (2) `attrs` chaining method, and from\n // (3) passing them directly to component\n // --------------------------------------------------\n const { pseudo, ...mergeProps } = {\n ...localCtx,\n ...props,\n };\n // --------------------------------------------------\n // pseudo rocket state\n // calculate final component pseudo state including pseudo state\n // from props and override by pseudo props from context\n // --------------------------------------------------\n const pseudoRocketstate = {\n ...pseudo,\n ...pick(props, [...PSEUDO_KEYS, ...PSEUDO_META_KEYS]),\n };\n // --------------------------------------------------\n // rocketstate\n // calculate final component state including pseudo state\n // passed as $rocketstate prop\n // --------------------------------------------------\n const rocketstate = _calculateStylingAttrs({\n props: pickStyledAttrs(mergeProps, reservedPropNames),\n dimensions,\n });\n const finalRocketstate = { ...rocketstate, pseudo: pseudoRocketstate };\n // --------------------------------------------------\n // rocketstyle\n // calculated (based on styling props) final theme which will be passed\n // to our styled component\n // passed as $rocketstyle prop\n // --------------------------------------------------\n const rocketstyle = getTheme({\n rocketstate,\n themes: currentModeThemes,\n baseTheme: currentModeBaseTheme,\n });\n // --------------------------------------------------\n // final props\n // final props passed to WrappedComponent\n // excluding: styling props\n // including: $rocketstyle, $rocketstate\n // --------------------------------------------------\n const finalProps = {\n // this removes styling state from props and passes its state\n // under rocketstate key only\n ...omit(mergeProps, [\n ...RESERVED_STYLING_PROPS_KEYS,\n ...PSEUDO_KEYS,\n ...options.filterAttrs,\n ]),\n // if enforced to pass styling props, we pass them directly\n ...(options.passProps ? pick(mergeProps, options.passProps) : {}),\n ref: ref ?? $rocketstyleRef ? internalRef : undefined,\n // state props passed to styled component only, therefore the `$` symbol\n $rocketstyle: rocketstyle,\n $rocketstate: finalRocketstate,\n };\n if (DEBUG && process.env.NODE_ENV !== 'production') {\n console.log('[Rocketstyle] Debug mode enabled');\n console.log(`component ${componentName}`);\n console.log(finalProps);\n }\n // all the development stuff injected\n if (process.env.NODE_ENV !== 'production') {\n finalProps['data-rocketstyle'] = componentName;\n }\n return React.createElement(RenderComponent, { ...finalProps });\n });\n // ------------------------------------------------------\n // This will hoist and generate dynamically next static methods\n // for all dimensions available in configuration\n // ------------------------------------------------------\n const RocketComponent = compose(...hocsFuncs)(EnhancedComponent);\n RocketComponent.IS_ROCKETSTYLE = true;\n RocketComponent.displayName = componentName;\n hoistNonReactStatics(RocketComponent, options.component);\n // ------------------------------------------------------\n // enhance for chaining methods\n // ------------------------------------------------------\n createStaticsChainingEnhancers({\n context: RocketComponent,\n dimensionKeys: options.dimensionKeys,\n func: cloneAndEnhance,\n options,\n });\n // ------------------------------------------------------\n RocketComponent.IS_ROCKETSTYLE = true;\n RocketComponent.displayName = componentName;\n RocketComponent.meta = {};\n // ------------------------------------------------------\n // ------------------------------------------------------\n // enhance for statics\n // ------------------------------------------------------\n createStaticsEnhancers({\n context: RocketComponent.meta,\n options: options.statics,\n });\n // @ts-ignore\n RocketComponent.attrs = (attrs, { priority, filter } = {}) => {\n const result = {};\n if (filter) {\n result.filterAttrs = filter;\n }\n if (priority) {\n result.priorityAttrs = attrs;\n return cloneAndEnhance(options, result);\n }\n result.attrs = attrs;\n return cloneAndEnhance(options, result);\n };\n // @ts-ignore\n RocketComponent.config = (opts = {}) => {\n const result = pick(opts, CONFIG_KEYS);\n // @ts-ignore\n return cloneAndEnhance(options, result);\n };\n RocketComponent.statics = (opts) => \n // @ts-ignore\n cloneAndEnhance(options, { statics: opts });\n RocketComponent.getStaticDimensions = (theme) => {\n const themes = getDimensionThemes(theme, options);\n const { keysMap, keywords } = getDimensionsMap({\n themes,\n useBooleans: options.useBooleans,\n });\n return {\n dimensions: keysMap,\n keywords,\n useBooleans: options.useBooleans,\n multiKeys: options.multiKeys,\n };\n };\n RocketComponent.getDefaultAttrs = (props, theme, mode) => calculateChainOptions(options.attrs)([\n props,\n theme,\n {\n render,\n mode,\n isDark: mode === 'light',\n isLight: mode === 'dark',\n },\n ]);\n return RocketComponent;\n};\n\nconst DEFAULT_DIMENSIONS = {\n states: 'state',\n sizes: 'size',\n variants: 'variant',\n multiple: {\n propName: 'multiple',\n multi: true,\n },\n};\n\n// @ts-nocheck\nconst rocketstyle = ({ dimensions = DEFAULT_DIMENSIONS, useBooleans = true } = {}) => ({ name, component }) => {\n // --------------------------------------------------------\n // handle ERRORS in development mode\n // --------------------------------------------------------\n if (process.env.NODE_ENV !== 'production') {\n const errors = {};\n if (!component) {\n errors.component = 'Parameter `component` is missing in params!';\n }\n if (!name) {\n errors.name = 'Parameter `name` is missing in params!';\n }\n if (isEmpty(dimensions)) {\n errors.dimensions = 'Parameter `dimensions` is missing in params!';\n }\n else {\n const definedDimensions = getKeys(dimensions);\n const invalidDimension = ALL_RESERVED_KEYS.some((item) => definedDimensions.includes(item));\n if (invalidDimension) {\n errors.invalidDimensions = `Some of your \\`dimensions\\` is invalid and uses reserved static keys which are\n ${DEFAULT_DIMENSIONS.toString()}`;\n }\n }\n if (!isEmpty(errors)) {\n throw Error(JSON.stringify(errors));\n }\n }\n return rocketComponent({\n name,\n component,\n useBooleans,\n dimensions,\n dimensionKeys: getKeys(dimensions),\n dimensionValues: getDimensionsValues(dimensions),\n multiKeys: getMultipleDimensions(dimensions),\n styled: true,\n });\n};\n\nconst isRocketComponent = (component) => {\n if (component &&\n typeof component === 'object' &&\n component !== null &&\n Object.prototype.hasOwnProperty.call(component, 'IS_ROCKETSTYLE')) {\n return true;\n }\n return false;\n};\n\nexport { Provider, rocketstyle as default, isRocketComponent, rocketstyle };\n//# sourceMappingURL=index.js.map\n","import React, { type FC } from 'react'\nimport { config } from '@vitus-labs/core'\n\nconst Wrapper = config.styled.div`\n display: flex;\n font-size: 32px;\n`\n\nconst component: FC = () => <Wrapper>Nothing here</Wrapper>\n\ncomponent.displayName = '@vitus-labs/rocketstories/Empty'\n\nexport default component\n","import rocketstyle from '@vitus-labs/rocketstyle'\nimport { Element } from '@vitus-labs/elements'\nimport { styles } from '@vitus-labs/unistyle'\n\nexport default rocketstyle()({\n component: Element,\n name: 'element',\n})\n .theme({\n fontFamily: 'Arial',\n })\n .styles(\n (css) => css<any>`\n ${({ $rocketstyle }) => {\n const baseTheme = styles({ theme: $rocketstyle, css, rootSize: 16 })\n\n return css`\n ${baseTheme};\n `\n }};\n `\n )\n","import element from './element'\n\nexport default element.attrs({ tag: 'h1', block: true }).sizes({\n level1: {\n fontSize: 20,\n },\n level2: {\n marginTop: 0,\n fontSize: 16,\n },\n})\n","/* eslint-disable no-underscore-dangle */\n\ndeclare global {\n interface Window {\n __VITUS_LABS_STORIES__: {\n decorators: {\n theme: Record<string, unknown>\n }\n }\n }\n}\n\ntype GetTheme = () => Record<string, unknown>\nconst getTheme: GetTheme = () => window.__VITUS_LABS_STORIES__.decorators.theme\n\nexport default getTheme\n","/* eslint-disable no-param-reassign */\nimport { get } from '@vitus-labs/core'\nimport type { Control, SimpleValue, Obj } from '~/types'\n\n// --------------------------------------------------------\n// parseProps\n// --------------------------------------------------------\ntype ObjValue = Control\n\ntype ParseProps = <\n T extends Record<string, SimpleValue | Array<SimpleValue> | ObjValue>\n>(\n props: T\n) => Record<keyof T, unknown>\n\nconst parseProps: ParseProps = (props) =>\n Object.entries(props).reduce((acc, [key, value]) => {\n if (value === null) return acc\n\n const valueType = typeof value\n\n if (['string', 'number', 'boolean', 'bigint'].includes(valueType)) {\n return { ...acc, [key]: value }\n }\n\n if (Array.isArray(value)) {\n return { ...acc, [key]: value }\n }\n\n if (valueType === 'object') {\n const type = get(value, 'type')\n const options = get(value, 'options')\n const defaultValue = get(value, 'value')\n\n // if has custom knobs configuration\n if (type && options && defaultValue) {\n return { ...acc, [key]: defaultValue || options }\n }\n\n return { ...acc, [key]: value }\n }\n\n return acc\n }, {} as any)\n\n// --------------------------------------------------------\n// stringifyArray\n// --------------------------------------------------------\ntype StringifyArray = (props: Array<unknown>) => string\n\nconst stringifyArray: StringifyArray = (props) => {\n let result = '['\n\n const arrayLength = props.length\n\n result += props.reduce((acc, value, i) => {\n if (Array.isArray(value)) {\n // TODO: parse arrays\n acc += `${stringifyArray(value)}`\n } else if (typeof value === 'object' && value !== null) {\n acc += `${stringifyObject(value as Record<string, any>)}`\n } else if (['number', 'string'].includes(typeof value)) {\n acc += `\"${value}\"`\n } else {\n acc += `${value}`\n }\n\n // if not last item, add comma and space\n if (arrayLength !== i + 1) {\n acc += `, `\n }\n\n return acc\n }, '')\n\n result += ']'\n\n return result\n}\n\n// --------------------------------------------------------\n// stringifyObject\n// --------------------------------------------------------\ntype StringifyObject = (props: Obj) => string\n\nconst stringifyObject: StringifyObject = (props) => {\n let result = '{ '\n\n const propsArray = Object.entries(props)\n const arrayLength = propsArray.length\n\n result += propsArray.reduce((acc, [key, value], i) => {\n if (Array.isArray(value)) {\n // TODO: parse arrays\n acc += `${key}: ${value}`\n } else if (typeof value === 'object' && value !== null) {\n acc += `${key}: ${stringifyObject(value)}`\n } else if (['string'].includes(typeof value)) {\n acc += `${key}: \"${value}\"`\n } else {\n acc += `${key}: ${value}`\n }\n\n if (arrayLength !== i + 1) {\n acc += `, `\n }\n\n return acc\n }, '')\n\n result += ' }'\n\n return result\n}\n\n// --------------------------------------------------------\n// stringifyObject\n// --------------------------------------------------------\ntype StringifyProps = (props: Obj) => string\n\nconst stringifyProps: StringifyProps = (props) => {\n const parsedProps = parseProps(props)\n const arrayProps = Object.entries(parsedProps)\n const arrayLength = arrayProps.length\n\n return arrayProps.reduce((acc, [key, value], i) => {\n if (typeof value === 'boolean') {\n if (value === true) acc += `${key}`\n else acc += `${key}=${value}`\n } else if (\n ['string', 'number'].includes(typeof value) ||\n value === null ||\n value === undefined\n ) {\n acc += `${key}=\"${value}\"`\n } else if (Array.isArray(value)) {\n acc += `${key}={${stringifyArray(value)}}`\n } else if (typeof value === 'object' && value !== null) {\n acc += `${key}={${stringifyObject(value as Record<string, any>)}}`\n }\n\n if (arrayLength !== i + 1) {\n acc += ' '\n }\n\n return acc\n }, '')\n}\n\nconst parseComponentName = (name) => {\n const helper = name.split('/')\n\n if (helper.length > 1) {\n return helper[helper.length - 1]\n }\n\n return name\n}\n\n// --------------------------------------------------------\n// createJSXCode\n// --------------------------------------------------------\ntype CreateJSXCode = (name: string, props: Obj) => string\n\nexport const createJSXCode: CreateJSXCode = (name, props) =>\n `<${parseComponentName(name)} ${stringifyProps(props)} />`\n\n// --------------------------------------------------------\n// createJSXCodeArray\n// --------------------------------------------------------\ntype CreateJSXCodeArray = (\n name: string,\n props: Obj,\n dimensionName: string,\n dimensions: Obj,\n useBooleans: boolean,\n isMultiKey: boolean\n) => string\n\nexport const createJSXCodeArray: CreateJSXCodeArray = (\n name,\n props,\n dimensionName,\n dimensions,\n useBooleans,\n isMultiKey\n) => {\n if (!dimensions) return `// nothing here`\n\n let result = ''\n\n const finalProps = { ...props }\n delete finalProps[dimensionName]\n\n result += Object.keys(dimensions).reduce((acc, key) => {\n acc += createJSXCode(name, {\n [dimensionName]: isMultiKey ? [key] : key,\n ...finalProps,\n })\n acc += `\\n`\n return acc\n }, '')\n\n if (useBooleans) {\n result += `\\n\\n`\n result += `// Or alternatively use boolean ${dimensionName} props (${Object.keys(\n dimensions\n ).toString()})`\n result += `\\n`\n\n result += Object.keys(dimensions).reduce((acc, key) => {\n acc += createJSXCode(name, { [key]: true, ...finalProps })\n acc += `\\n`\n return acc\n }, '')\n }\n\n return result\n}\n\nconst addBooleanCodeComment = (values) => {\n let result = `\\n\\n`\n result += `// Or alternatively use boolean props (e.g. ${values})`\n result += `\\n`\n\n return result\n}\n\n// --------------------------------------------------------\n// createMainJSX\n// --------------------------------------------------------\ntype GenerateMainJSXCode = (params: {\n name: string\n props: Record<string, string>\n dimensions: Record<string, string>\n booleanDimensions: any\n}) => any\n\nexport const generateMainJSXCode: GenerateMainJSXCode = ({\n name,\n props,\n dimensions,\n booleanDimensions,\n}) => {\n let result = createJSXCode(name, { ...dimensions, ...props })\n\n if (booleanDimensions) {\n const keys = Object.keys(booleanDimensions)\n result += addBooleanCodeComment(keys)\n result += createJSXCode(name, { ...booleanDimensions, ...props })\n }\n\n return result\n}\n","import { HTML_TAGS } from '@vitus-labs/core'\n\nconst group = 'Element (Vitus-Labs)'\n\nconst directionType = 'inline | rows | reverseRows | reverseInline'\nconst alignXType = 'left | center | right | block | spaceBetween | spaceAround'\nconst alignYType = 'top | center | block | spaceBetween | spaceAround'\nconst CssType = 'string | (css) => css`` | css``'\n\nconst DIRECTION = {\n group,\n type: 'select',\n options: ['-----', ...directionType.split(' | ')],\n value: 'rows',\n valueType: `${directionType} | Record<string, ${directionType}> | Array<${directionType}`,\n}\n\nconst ALIGN_X = {\n group,\n type: 'select',\n options: alignXType.split(' | '),\n value: 'left',\n valueType: `${alignXType} | Record<string, ${alignXType}> | Array<${alignXType}`,\n}\n\nconst ALIGN_Y = {\n group,\n type: 'select',\n options: alignYType.split(' | '),\n value: 'center',\n valueType: `${alignYType} | Record<string, ${alignYType}> | Array<${alignYType}`,\n}\n\nconst CSS = {\n group,\n type: 'text',\n valueType: `${CssType} | Record<string,${CssType}> | Array<${CssType}>`,\n}\n\nexport default {\n tag: {\n group,\n type: 'select',\n options: HTML_TAGS,\n valueType: 'HTMLTag',\n description: 'A prop which will change **HTML tag** of the element.',\n },\n children: {\n group,\n type: '',\n valueType: 'ReactNode',\n description:\n 'React children. Priorities when rendering are **children** → **content** → **label**, therefore _children_ has the highest priority.',\n },\n content: {\n group,\n type: 'text',\n valueType: 'ReactNode',\n description:\n 'A prop which can be used instead of _children_. Priorities when rendering are **children** → **content** → **label**, therefore _content_ has the middle priority.',\n },\n label: {\n group,\n type: 'text',\n valueType: 'ReactNode',\n description:\n 'A prop which can be used instead of _children_. Priorities when rendering are **children** → **content** → **label**, therefore _label_ has the lowest priority.',\n },\n block: {\n group,\n type: 'boolean',\n valueType: 'boolean | Record<string, boolean> | Array<boolean>',\n description:\n 'Defines whether should behave as **inline** or **block** element.',\n },\n direction: {\n ...DIRECTION,\n value: undefined,\n description:\n 'Define whether element should render **horizontally** or **vertically**.',\n },\n alignX: {\n ...ALIGN_X,\n description:\n 'Define alignment of **beforeContent**, **content**, and **afterContent** with respect to root element on **axis X**.',\n },\n alignY: {\n ...ALIGN_Y,\n description:\n 'Define alignment of **beforeContent**, **content**, and **afterContent** with respect to the root element on **axis Y**.',\n },\n contentDirection: {\n ...DIRECTION,\n description:\n 'Define whether the children in **content** wrapper should be rendered in _line_ or in _rows_.',\n },\n contentAlignX: {\n ...ALIGN_X,\n description:\n 'Define how the children in **content** wrapper should be aligned on **axis X**.',\n },\n contentAlignY: {\n ...ALIGN_Y,\n description:\n 'Define how the children in **content** wrapper should be aligned on **axis Y**.',\n },\n beforeContentDirection: {\n ...DIRECTION,\n description:\n 'Define whether children in **beforeContent** wrapper should be rendered in _line_ or in _rows_.',\n },\n beforeContentAlignX: {\n ...ALIGN_X,\n description:\n 'Define how children in **beforeContent** wrapper should be aligned on **axis X**.',\n },\n beforeContentAlignY: {\n ...ALIGN_Y,\n description:\n 'Define how children in **beforeContent** wrapper should be aligned on **axis Y**.',\n },\n afterContentDirection: {\n ...DIRECTION,\n description:\n 'Define whether children in **afterContent** wrapper should be rendered in _line_ or in _rows_.',\n },\n afterContentAlignX: {\n ...ALIGN_X,\n description:\n 'Define how children in **afterContent** wrapper should be aligned on **axis X**.',\n },\n afterContentAlignY: {\n ...ALIGN_Y,\n description:\n 'Define how children in **afterContent** wrapper should be aligned on **axis Y**.',\n },\n equalCols: {\n type: 'boolean',\n group,\n valueType: 'boolean | Record<string,boolean> | Array<boolean>',\n description:\n 'Whether should all inner elements have the same `width` / `height`.',\n },\n gap: {\n type: 'number',\n group,\n valueType: 'number | Record<string,number> | Array<number>',\n description:\n 'Defines space gap **between** _beforeContent_, _content_ and _afterContent_ if one of _beforeContent_ or _afterContent_ contain _children_ to be rendered.',\n },\n // vertical: {\n // type: 'boolean',\n // group,\n // valueType: 'boolean | Record<string,boolean> | Array<boolean>',\n // description:\n // 'Define whether element should render horizontally or vertically.',\n // },\n beforeContent: {\n group,\n type: '',\n valueType: 'ReactNode',\n description: 'A children to be rendered inside `beforeContent` wrapper.',\n },\n afterContent: {\n group,\n type: '',\n valueType: 'ReactNode',\n description: 'A children to be rendered inside `afterContent` wrapper.',\n },\n css: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **root** element CSS styles.',\n },\n contentCss: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **content** element CSS styles.',\n },\n beforeContentCss: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **beforeContent** element CSS styles.',\n },\n afterContentCss: {\n ...CSS,\n description:\n 'An additional styling prop to enhance the **afterContent** element CSS styles.',\n },\n ref: {\n group,\n description: 'A React ref',\n valueType: 'ForwardedRef<any>',\n },\n innerRef: {\n group,\n description: 'A React ref',\n valueType: 'ForwardedRef<any>',\n },\n dangerouslySetInnerHTML: {\n group,\n type: 'text',\n disable: true,\n valueType: 'any',\n },\n}\n","const group = 'List (@vitus-labs)'\n\nconst itemPropsType = `Record<string, any> | (props, meta) => Record<string,any>`\n\nexport default {\n rootElement: {\n group,\n type: 'boolean',\n valueType: 'boolean',\n description:\n 'Whether a **root** element should be rendered or the output should be just a type of React **Fragment**.',\n },\n data: {\n group,\n type: 'array',\n valueType: 'string[] | number[] | object[]',\n description:\n 'An array of item values to be passed to item component. Data are being passed to _component_ prop element.',\n },\n valueName: {\n group,\n type: 'text',\n valueType: `string`,\n description:\n 'Is required when **data** consists of **strings** or **numbers** to name value being passed as a prop.',\n },\n itemProps: {\n group,\n valueType: itemPropsType,\n description:\n 'A customizable hook for dynamically render props for each **item** component.',\n },\n wrapProps: {\n group,\n valueType: itemPropsType,\n description:\n 'A customizable hook for dynamically render props for each **wrapComponent** when _wrapComponent_ is passed, otherwise ignored.',\n },\n itemKey: {\n group,\n valueType: 'string | `(item, i) => number | string`',\n description:\n \"Prop for defining item key in list. **name** / **value** if default behavior doesn't work out.\",\n },\n component: {\n group,\n type: 'component',\n valueType: 'ComponentType',\n description:\n 'A component to be rendered within the List per item. Receives props from _data_ array props.',\n },\n wrapComponent: {\n group,\n type: 'component',\n valueType: `ComponentType`,\n description:\n 'A component to be used as a wrapper component for each item component.',\n },\n label: {\n disable: true,\n },\n content: {\n disable: true,\n },\n} as const\n","const group = 'Overlay (Vitus-Labs)'\n\nexport default {\n refName: {\n type: 'text',\n value: 'ref',\n description:\n \"Overlay component access **ref** to directly mutate styles when calculation position to prevent re-renders. It's being used for both `trigger`, and `children` element at the same time. Your components must accept refs with the same naming.\",\n group,\n },\n triggerRefName: {\n type: 'text',\n description:\n 'A key name how a **ref** should be passed to trigger component',\n group,\n },\n contentRefName: {\n type: 'text',\n description:\n 'A key name how a **ref** should be passed to content component',\n group,\n },\n isOpen: {\n type: 'boolean',\n value: false,\n description: '',\n group,\n },\n openOn: {\n type: 'select',\n options: ['click', 'hover'],\n value: 'click',\n description: '',\n group,\n },\n closeOn: {\n type: 'select',\n options: ['click', 'triggerClick', 'hover', 'manual'],\n value: 'click',\n description: '',\n group,\n },\n type: {\n type: 'select',\n options: ['dropdown', 'tooltip', 'popover', 'modal'],\n value: 'dropdown',\n description: '',\n group,\n },\n align: {\n type: 'select',\n options: ['top', 'left', 'bottom', 'right'],\n value: 'bottom',\n description: '',\n group,\n },\n alignX: {\n type: 'select',\n options: ['left', 'center', 'right'],\n value: 'left',\n description: '',\n group,\n },\n alignY: {\n type: 'select',\n options: ['top', 'center', 'bottom'],\n value: 'bottom',\n description: '',\n group,\n },\n position: {\n type: 'select',\n options: ['fixed', 'absolute', 'relative', 'static'],\n value: 'fixed',\n description: '',\n group,\n },\n offsetX: {\n type: 'number',\n value: 0,\n description: '',\n group,\n },\n offsetY: {\n type: 'number',\n value: 0,\n description: '',\n group,\n },\n throttleDelay: {\n type: 'number',\n value: 200,\n description: '',\n group,\n },\n children: {\n description: 'A content to be rendered when Overlay is open',\n },\n} as const\n","const group = 'Rocketstyle (Vitus-Labs)'\n\nexport default {\n hover: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **hover** event on the element. Behaves as **:hover** state in _CSS_.',\n },\n active: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **active** event on the element. Can be used to define element as `active`, e.g. _links_.',\n },\n pressed: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **pressed** event on the element. Behaves as `:active` state in _CSS_.',\n },\n focus: {\n group,\n type: 'boolean',\n value: false,\n description:\n 'Can be manually triggered **focus** event on the element. Behaves as `:focus` state in _CSS_.',\n },\n onMouseEnter: {\n group,\n type: 'function',\n description:\n 'The _onMouseEnter_ function can take a `SyntheticMouseEvent`.',\n },\n onMouseLeave: {\n group,\n type: 'function',\n description:\n 'The _onMouseLeave_ function can take a `SyntheticMouseEvent.`',\n },\n onMouseDown: {\n group,\n type: 'function',\n description: 'The _onMouseDown_ function can take a `SyntheticMouseEvent`.',\n },\n onMouseUp: {\n group,\n type: 'function',\n description: 'The _onMouseUp_ function can take a `SyntheticMouseEvent`.',\n },\n onFocus: {\n group,\n type: 'function',\n description: 'The _onFocus_ function can take a `SyntheticFocusEvent`.',\n },\n onBlur: {\n group,\n type: 'function',\n description: 'The _onBlur_ function can take a `SyntheticFocusEvent`.',\n },\n} as const\n","import { HTML_TAGS } from '@vitus-labs/core'\n\nconst group = 'Text (Vitus-Labs)'\n\nexport default {\n paragraph: {\n group,\n type: 'boolean',\n description:\n 'Changes a behavior of inline text to become **block** text. Also changes HTML **tag** to `p`',\n },\n tag: {\n group,\n type: 'select',\n options: HTML_TAGS,\n },\n children: {\n group,\n type: '',\n valueType: 'ReactNode',\n description:\n 'React children. Priorities when rendering are **children** → **label**, therefore _children_ has the highest priority.',\n },\n label: {\n group,\n type: 'text',\n valueType: 'ReactNode',\n description:\n 'A prop which can be used instead of _children_. Priorities when rendering are **children** → **label**, therefore _label_ has lower priority than _children_.',\n },\n extendCss: {\n group,\n type: 'text',\n description:\n 'An additional styling prop to enhance Text element CSS styles.',\n },\n} as const\n","import * as CONTROLS from '~/controls'\nimport type {\n Controls,\n StorybookControl,\n RocketType,\n ControlConfiguration,\n} from '~/types'\n\nexport const createControls = (props) =>\n Object.entries(props).reduce((acc, [key, value]) => {\n if (typeof value === 'string') {\n return {\n ...acc,\n [key]: {\n type: value,\n },\n }\n }\n\n if (typeof value === 'object' && value !== null) {\n return { ...acc, [key]: value }\n }\n\n return acc\n }, {})\n\ntype ConvertDimensionsToControls = ({\n dimensions,\n multiKeys,\n}: {\n dimensions: Record<string, any>\n multiKeys: Record<string, true>\n}) => Controls\n\nexport const convertDimensionsToControls: ConvertDimensionsToControls = ({\n dimensions,\n multiKeys,\n}) =>\n Object.entries(dimensions).reduce((acc, [key, value]) => {\n const valueKeys = Object.keys(value)\n const isMultiKey = !!multiKeys[key]\n\n const control = {\n type: isMultiKey ? 'multi-select' : 'select',\n options: valueKeys,\n group: 'Dimensions [Rocketstyle (Vitus-Labs)]',\n }\n\n return { ...acc, [key]: control }\n }, {})\n\n// --------------------------------------------------------\n// values to controls\n// --------------------------------------------------------\ntype GetDefaultVitusLabsControls = (component: RocketType) => Controls\n\nexport const getDefaultVitusLabsControls: GetDefaultVitusLabsControls = (\n component\n) => {\n const { IS_ROCKETSTYLE, VITUS_LABS__COMPONENT } = component\n\n const IS_ELEMENT = VITUS_LABS__COMPONENT === '@vitus-labs/elements/Element'\n const IS_LIST = VITUS_LABS__COMPONENT === '@vitus-labs/elements/List'\n const IS_TEXT = VITUS_LABS__COMPONENT === '@vitus-labs/elements/Text'\n const IS_OVERLAY = VITUS_LABS__COMPONENT === '@vitus-labs/elements/Overlay'\n\n const result = {\n ...(IS_ELEMENT || IS_LIST ? CONTROLS.ELEMENT_CONTROLS : {}),\n\n ...(IS_LIST ? CONTROLS.LIST_CONTROLS : {}),\n\n ...(IS_TEXT ? CONTROLS.TEXT_CONTROLS : {}),\n\n ...(IS_OVERLAY ? CONTROLS.OVERLAY_CONTROLS : {}),\n\n ...(IS_ROCKETSTYLE ? CONTROLS.ROCKETSTYLE_CONTROLS : {}),\n }\n\n return result as Controls\n}\n\n// --------------------------------------------------------\n// Make Storybook Controls\n// --------------------------------------------------------\ntype MakeStorybookControls = (\n obj: Record<string, ControlConfiguration>,\n props: Record<string, any>\n) => Record<string, StorybookControl>\n\nexport const makeStorybookControls: MakeStorybookControls = (obj, props) =>\n Object.entries(obj).reduce((acc, [key, control]) => {\n const defaultValue =\n typeof props[key] !== 'function' ? props[key] : undefined\n\n if (control.disable) {\n // eslint-disable-next-line no-param-reassign\n acc[key] = {\n table: {\n disable: control.disable,\n },\n }\n } else {\n // eslint-disable-next-line no-param-reassign\n acc[key] = {\n control: { type: control.type /* || CONTROL_MAP[control.type] */ },\n description: control.description,\n options: control.options /* || CONTROL_OPTIONS[control.type] */,\n table: {\n defaultValue: {\n summary: defaultValue || control.value,\n },\n disable: control.disable,\n category: control.group /* || CONTROL_TYPES_GROUPS[control.type] */,\n type: {\n summary: control.valueType,\n },\n },\n }\n }\n\n return acc\n }, {})\n\n// --------------------------------------------------------\n// disableControl\n// --------------------------------------------------------\ntype DisableControl = (\n name: string\n) => Record<string, { table: { disable: true } }>\n\nconst disableControl: DisableControl = (name) => ({\n [name]: { table: { disable: true } },\n})\n\n// --------------------------------------------------------\n// disableDimensionControls\n// --------------------------------------------------------\ntype DisableDimensionControls = (\n dimensions: Record<string, boolean>,\n name?: string\n) => any\n\nexport const disableDimensionControls: DisableDimensionControls = (\n dimensions,\n dimensionName\n) => {\n const result = dimensionName ? disableControl(dimensionName) : {}\n const dimensionKeys = Object.values(dimensions)\n\n return dimensionKeys.reduce((acc, value) => {\n Object.keys(value).forEach((item) => {\n // eslint-disable-next-line no-param-reassign\n acc = { ...acc, ...disableControl(item) }\n })\n\n return acc\n }, result)\n}\n","import React, {\n createContext,\n useContext as contextHook,\n type FC,\n type ComponentType,\n type ReactNode,\n} from 'react'\n\ntype Context = {\n component: ComponentType\n}\n\nexport const context = createContext<Context>({} as Context)\n\nexport const useContext = () => contextHook(context)\n\nconst ContextProvider = context.Provider\n\nconst Provider: FC<Context & { children: ReactNode }> = ({\n children,\n ...props\n}) => <ContextProvider value={props}>{children}</ContextProvider>\n\nexport default Provider\n","import React, { createElement, type FC } from 'react'\nimport { Heading } from '~/components/base'\nimport { useContext } from '../context'\n\ntype Props = {\n title?: string\n} & { [key: string]: any }\n\nconst component: FC<Props> = ({ title, ...props }) => {\n const { component } = useContext()\n\n return (\n <div>\n {title && <Heading level2 label={title} />}\n {createElement(component, props)}\n </div>\n )\n}\n\nexport default component\n","import React, { type FC } from 'react'\nimport Item from './Item'\n\nconst pseudo = ['base', 'hover', 'pressed', 'active'] as const\n\ntype Props = {\n itemProps: Record<string, any>\n}\n\nconst component: FC<Props> = ({ itemProps }) => (\n <>\n {pseudo.map((item) => {\n const pseudoProps = { [item]: true }\n\n return <Item key={item} title={item} {...itemProps} {...pseudoProps} />\n })}\n </>\n)\n\nexport default component\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React, { Fragment } from 'react'\nimport { pick, isEmpty } from '@vitus-labs/core'\nimport { Element } from '@vitus-labs/elements'\nimport NotFound from '~/components/NotFound'\nimport { Heading } from '~/components/base'\nimport getTheme from '~/utils/theme'\nimport { createJSXCodeArray } from '~/utils/code'\nimport {\n createControls,\n convertDimensionsToControls,\n getDefaultVitusLabsControls,\n makeStorybookControls,\n disableDimensionControls,\n} from '~/utils/controls'\nimport type {\n RocketDimensions,\n StoryComponent,\n RocketStoryConfiguration,\n} from '~/types'\nimport Provider from './context'\nimport Item from './components/Item'\nimport PseudoList from './components/PseudoList'\n\nexport type RenderDimension<P = {}> = (\n dimension: RocketDimensions,\n params: RocketStoryConfiguration & {\n ignore: any\n }\n) => StoryComponent<P>\n\nconst renderDimension: RenderDimension = (\n dimension,\n { name, component, attrs = {}, controls, storyOptions = {}, ignore = [] }\n) => {\n // ------------------------------------------------------\n // ROCKETSTYLE COMPONENT INFO\n // ------------------------------------------------------\n const theme = getTheme()\n const statics = component.getStaticDimensions(theme)\n const defaultAttrs = component.getDefaultAttrs(attrs, theme, 'light')\n const { dimensions, useBooleans, multiKeys } = statics\n\n const finalAttrs = { ...defaultAttrs, ...attrs }\n\n // ------------------------------------------------------\n // CURRENT ROCKETSTYLE DIMENSION INFO\n // ------------------------------------------------------\n const currentDimension = dimensions[dimension]\n const isMultiKey = !!multiKeys[dimension]\n\n // ------------------------------------------------------\n // RENDER EMPTY PAGE WHEN DIMENSION IS NOT AVAILABLE\n // ------------------------------------------------------\n const DONT_RENDER = isEmpty(currentDimension)\n if (DONT_RENDER) return NotFound\n\n // ------------------------------------------------------\n // CONTROLS GENERATION\n // ------------------------------------------------------\n const createdControls = createControls(controls)\n const dimensionControls = convertDimensionsToControls(statics)\n const vitusLabsControls = getDefaultVitusLabsControls(component)\n\n const finalControls = {\n ...vitusLabsControls,\n ...createdControls,\n ...dimensionControls,\n }\n\n const storybookControls = makeStorybookControls(finalControls, defaultAttrs)\n\n // ------------------------------------------------------\n // CREATE DEFAULT STORY DESCRIPTION\n // ------------------------------------------------------\n const hasPseudo = storyOptions.pseudo === true\n\n let story = `This story renders all _options_ of the **${dimension}** dimension. `\n if (hasPseudo) {\n story += 'Including `pseudo` states.'\n }\n\n // ------------------------------------------------------\n // STORY COMPONENT\n // ------------------------------------------------------\n const revertedDirection =\n storyOptions.direction === 'rows' ? 'inline' : 'rows'\n const hasStoryOptions = !isEmpty(storyOptions)\n const WrapElement = hasStoryOptions ? Element : Fragment\n const wrapperProps = hasStoryOptions\n ? ({\n block: true,\n contentDirection: hasPseudo\n ? revertedDirection\n : storyOptions.direction,\n contentAlignX: storyOptions.alignX,\n contentAlignY: storyOptions.alignY,\n style: { gap: storyOptions.gap },\n } as const)\n : {}\n\n const Enhanced: StoryComponent = (props) => (\n <WrapElement {...wrapperProps}>\n {Object.keys(currentDimension).map((item) => {\n // const storyName = `${dimension}-${item}`\n const shouldBeIgnored = ignore.includes(item)\n const key = `${dimension}-${item}`\n\n const storyProps = {\n key,\n 'data-story': key,\n contentDirection: revertedDirection,\n contentAlignX: storyOptions.alignX,\n contentAlignY: storyOptions.alignY,\n style: { gap: storyOptions.gap ? storyOptions.gap / 2 : 0 },\n } as const\n\n // do not render ignored dimension keys\n if (shouldBeIgnored) return null\n\n if (storyOptions.pseudo === true) {\n return (\n <WrapElement contentDirection=\"rows\" contentAlignY=\"top\">\n <Heading\n level1\n label={item.charAt(0).toUpperCase() + item.slice(1)}\n />\n <WrapElement\n {...storyProps}\n contentDirection={storyOptions.direction}\n contentAlignY=\"top\"\n >\n <Provider component={component}>\n <PseudoList\n itemProps={{\n ...props,\n [dimension]: isMultiKey ? [item] : item,\n }}\n />\n </Provider>\n </WrapElement>\n </WrapElement>\n )\n }\n\n return (\n <WrapElement {...storyProps}>\n <Provider component={component}>\n <Item\n {...{\n ...props,\n [dimension]: isMultiKey ? [item] : item,\n }}\n />\n </Provider>\n </WrapElement>\n )\n })}\n </WrapElement>\n )\n\n Enhanced.args = finalAttrs\n Enhanced.argTypes = {\n ...storybookControls,\n ...disableDimensionControls(dimensions, dimension),\n }\n\n Enhanced.parameters = {\n docs: {\n description: {\n story,\n },\n source: {\n code: createJSXCodeArray(\n name,\n pick(finalAttrs, Object.keys(attrs)),\n dimension,\n currentDimension,\n useBooleans,\n isMultiKey\n ),\n },\n },\n }\n\n return Enhanced\n}\n\nexport default renderDimension\n","// --------------------------------------------------------\n// extractDefaultBooleanProps\n// --------------------------------------------------------\ntype ExtractDefaultBooleanProps = (params: {\n dimensions: Record<string, any>\n multiKeys: Record<string, true>\n useBooleans?: boolean\n}) => Record<string, any> | null\n\n// eslint-disable-next-line import/prefer-default-export\nexport const extractDefaultBooleanProps: ExtractDefaultBooleanProps = ({\n dimensions,\n multiKeys,\n useBooleans,\n}) => {\n if (!useBooleans) return null\n\n return Object.entries(dimensions).reduce((acc, [key, value]) => {\n if (!multiKeys[key]) {\n const propName = Object.keys(value)[0] as string\n\n return { ...acc, [propName]: true }\n }\n\n return acc\n }, {})\n}\n","import { pick } from '@vitus-labs/core'\nimport getTheme from '~/utils/theme'\nimport { generateMainJSXCode } from '~/utils/code'\nimport { extractDefaultBooleanProps } from '~/utils/dimensions'\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\nimport {\n createControls,\n convertDimensionsToControls,\n getDefaultVitusLabsControls,\n makeStorybookControls,\n disableDimensionControls,\n} from '~/utils/controls'\n\nexport type RocketStory<P = {}> = (\n WrappedComponent: any\n) => (params: RocketStoryConfiguration) => StoryComponent<P>\n\nconst rocketStory: RocketStory =\n (WrappedComponent) =>\n ({ name, component, attrs, controls }) => {\n // ------------------------------------------------------\n // ROCKETSTYLE COMPONENT INFO\n // ------------------------------------------------------\n const theme = getTheme()\n const statics = component.getStaticDimensions(theme)\n const defaultAttrs = component.getDefaultAttrs(attrs, theme, 'light')\n const { dimensions, useBooleans, multiKeys } = statics\n\n const finalAttrs = { ...defaultAttrs, ...attrs }\n\n // ------------------------------------------------------\n // CONTROLS GENERATION\n // ------------------------------------------------------\n const createdControls = createControls(controls)\n const dimensionControls = convertDimensionsToControls(statics)\n const vitusLabsControls = getDefaultVitusLabsControls(component)\n\n const finalControls = {\n ...dimensionControls,\n ...vitusLabsControls,\n ...createdControls,\n }\n\n const storybookControls = makeStorybookControls(finalControls, defaultAttrs)\n\n // ------------------------------------------------------\n // CREATE DEFAULT STORY DESCRIPTION\n // ------------------------------------------------------\n const story = `This story is a showcase of a _${name}_ component`\n\n // ------------------------------------------------------\n // PROPS TO BE PASSED TO CODE GENERATION\n // ------------------------------------------------------\n // TODO\n\n // ------------------------------------------------------\n // STORY COMPONENT\n // ------------------------------------------------------\n const Enhanced = WrappedComponent(component)\n\n Enhanced.args = finalAttrs\n Enhanced.argTypes = {\n ...storybookControls,\n ...disableDimensionControls(dimensions),\n }\n\n Enhanced.parameters = {\n docs: {\n description: {\n story,\n },\n source: {\n code: generateMainJSXCode({\n name,\n dimensions: {},\n props: pick(finalAttrs, Object.keys(attrs)),\n booleanDimensions: extractDefaultBooleanProps({\n dimensions,\n multiKeys,\n useBooleans,\n }),\n }),\n },\n },\n }\n\n return Enhanced\n }\n\nexport default rocketStory\n","import React from 'react'\nimport { List } from '@vitus-labs/elements'\nimport RocketStoryHoc from '~/internal/RocketStoryHoc'\nimport type {\n ListStoryOptions,\n StoryComponent,\n RocketStoryConfiguration,\n} from '~/types'\n\nexport type RenderList<P = {}> = (\n render: ListStoryOptions,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (list) =>\n RocketStoryHoc((component) => (props) => (\n <List\n rootElement={false}\n itemProps={props}\n {...list}\n component={component}\n />\n ))\n","import React, { createElement } from 'react'\nimport RocketStoryHoc from '~/internal/RocketStoryHoc'\n\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderMain<P = {}> = (\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default RocketStoryHoc((component) => (props) => (\n <>{createElement(component, props)}</>\n))\n","import RocketStoryHoc from '~/internal/RocketStoryHoc'\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderRender<P = {}> = (\n render,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (render) => RocketStoryHoc(() => render)\n","import { createElement } from 'react'\nimport { createControls, makeStorybookControls } from '~/utils/controls'\nimport type { StoryConfiguration, StoryComponent } from '~/types'\n\nexport type Story<P = {}> = (\n WrappedComponent: any\n) => (params: StoryConfiguration) => StoryComponent<P>\n\nconst story: Story =\n (WrappedComponent) =>\n ({ component, attrs, controls }) => {\n // ------------------------------------------------------\n // CONTROLS GENERATION\n // ------------------------------------------------------\n const createdControls = createControls(controls)\n\n const finalControls = createdControls\n const storybookControls = makeStorybookControls(finalControls, attrs)\n\n const Enhanced = WrappedComponent(component)\n\n Enhanced.args = attrs\n Enhanced.argTypes = storybookControls\n\n return Enhanced\n }\n\nexport default story\n","import React from 'react'\nimport { List } from '@vitus-labs/elements'\nimport StoryHoc from '~/internal/StoryHoc'\nimport type {\n ListStoryOptions,\n StoryComponent,\n RocketStoryConfiguration,\n} from '~/types'\n\nexport type RenderList<P = {}> = (\n render: ListStoryOptions,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (list) =>\n StoryHoc((component) => (props) => (\n <List\n rootElement={false}\n {...list}\n itemProps={props}\n component={component}\n />\n ))\n","import React, { createElement } from 'react'\nimport StoryHoc from '~/internal/StoryHoc'\n\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderMain<P = {}> = (\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default StoryHoc((component) => (props) => (\n <>{createElement(component, props)}</>\n))\n","import StoryHoc from '~/internal/StoryHoc'\nimport type { StoryComponent, RocketStoryConfiguration } from '~/types'\n\nexport type RenderRender<P = {}> = (\n render,\n params: RocketStoryConfiguration\n) => StoryComponent<P>\n\nexport default (render) => StoryHoc(() => render)\n","import type { Meta, StoryObj } from '@storybook/react';\nimport { get } from '@vitus-labs/core'\nimport { isRocketComponent } from '@vitus-labs/rocketstyle'\nimport * as rocketstory from '~/stories/rocketstories'\nimport * as simplestory from '~/stories/base'\nimport type {\n Control,\n TObj,\n Configuration,\n RocketType,\n ExtractProps,\n RenderStoryOptions,\n ListStoryOptions,\n} from '~/types'\n\nconst cloneAndEhnance = (\n defaultOptions: Configuration,\n options: Partial<Configuration>,\n) => {\n const result = {\n ...defaultOptions,\n name: defaultOptions.name || options.name,\n prefix: options.prefix || defaultOptions.prefix,\n component: options.component || defaultOptions.component,\n attrs: { ...defaultOptions.attrs, ...options.attrs },\n storyOptions: { ...defaultOptions.storyOptions, ...options.storyOptions },\n controls: { ...defaultOptions.controls, ...options.controls },\n decorators: [\n ...(defaultOptions.decorators || []),\n ...(options.decorators || []),\n ],\n }\n\n const finalName = (result.name ||\n result.component.displayName ||\n get(result.component, 'name')) as string\n\n const finalStoryName = result.prefix\n ? `${result.prefix}/${finalName}`\n : finalName\n\n return createRocketStories({ ...result, name: finalStoryName })\n}\n\n// --------------------------------------------------------\n// create rocket stories\n// --------------------------------------------------------\nexport interface IRocketStories<\n OA extends TObj = {},\n RA extends TObj | unknown = unknown,\n ISRS extends boolean = false,\n> {\n CONFIG: Configuration\n\n // MAIN story\n // --------------------------------------------------------\n main: () => ISRS extends true\n ? ReturnType<rocketstory.RenderMain<OA>>\n : ReturnType<simplestory.RenderMain<OA>>\n\n // DIMENSION(S) story\n // --------------------------------------------------------\n dimension: <P extends keyof RA>(\n dimension: ISRS extends true ? P : never,\n options?: Partial<{ ignore: Array<RA[P]> }>,\n ) => ReturnType<rocketstory.RenderDimension<OA>> | null\n\n // RENDER story\n // --------------------------------------------------------\n render: (\n params: RenderStoryOptions<OA>,\n ) => ISRS extends true\n ? ReturnType<rocketstory.RenderRender<OA>>\n : ReturnType<simplestory.RenderRender<OA>>\n\n // RENDER story\n // --------------------------------------------------------\n list: (\n params: ListStoryOptions,\n ) => ISRS extends true\n ? ReturnType<rocketstory.RenderList<OA>>\n : ReturnType<simplestory.RenderList<OA>>\n\n // INIT chaining method\n // --------------------------------------------------------\n init: () => {\n component: Configuration['component']\n title: Configuration['name']\n decorators: Configuration['decorators']\n }\n\n // STORY OPTIONS chaining method\n // --------------------------------------------------------\n storyOptions: (\n options: Configuration['storyOptions'],\n ) => IRocketStories<OA, RA, ISRS>\n\n controls: (\n options: Partial<{ [I in keyof OA]: Control }>,\n ) => IRocketStories<OA, RA, ISRS>\n\n // CONFIG chaining method\n // --------------------------------------------------------\n config: <P extends Partial<Omit<Configuration, 'attrs'>>>(\n params: P,\n ) => IRocketStories<OA, RA, ISRS>\n\n // ATTRS chaining method\n // --------------------------------------------------------\n attrs: <P extends Partial<OA>>(params: P) => IRocketStories<OA, RA, ISRS>\n\n // COMPONENT chaining method\n // --------------------------------------------------------\n replaceComponent: <P extends Configuration['component']>(\n param: P,\n ) => P extends RocketType\n ? IRocketStories<ExtractProps<P>, P['$$rocketstyle'], true>\n : IRocketStories<ExtractProps<P>, unknown, false>\n\n // COMPONENT chaining method\n // --------------------------------------------------------\n decorators: <P extends Configuration['decorators']>(\n param: P,\n ) => IRocketStories<OA, RA, ISRS>\n}\n\ntype CreateRocketStories = (options: Configuration) => IRocketStories\n// @ts-ignore\nconst createRocketStories: CreateRocketStories = (options) => {\n const isRocket = isRocketComponent(options.component)\n\n return {\n CONFIG: options,\n // output methods\n main: () =>\n isRocket\n ? rocketstory.renderMain({\n ...options,\n component: options.component as RocketType,\n })\n : simplestory.renderMain(options),\n dimension: (dimension, params = {}) => {\n if (!isRocket) return null\n\n const { ignore = [] } = params\n\n return rocketstory.renderDimension(dimension, {\n ...options,\n component: options.component as RocketType,\n ignore,\n })\n },\n\n render: (renderer) =>\n isRocket\n ? rocketstory.renderRender(renderer)({\n ...options,\n component: options.component as RocketType,\n })\n : simplestory.renderRender(renderer)({\n ...options,\n component: options.component as RocketType,\n }),\n\n list: (params) =>\n isRocket\n ? rocketstory.renderList(params)({\n ...options,\n component: options.component as RocketType,\n })\n : simplestory.renderList(params)({\n ...options,\n component: options.component as RocketType,\n }),\n\n init: {\n component: options.component,\n title: options.name,\n decorators: options.decorators,\n },\n\n // chaining methods\n storyOptions: (storyOptions) => cloneAndEhnance(options, { storyOptions }),\n controls: (controls) => cloneAndEhnance(options, { controls }),\n\n config: ({ component, storyOptions, prefix, name, decorators }) =>\n cloneAndEhnance(options, {\n component,\n storyOptions,\n prefix,\n name,\n decorators,\n }),\n\n attrs: (attrs) => cloneAndEhnance(options, { attrs }),\n\n replaceComponent: (component) => cloneAndEhnance(options, { component }),\n\n decorators: (decorators) => cloneAndEhnance(options, { decorators }),\n }\n}\n\nexport default createRocketStories\n","import type { Configuration, RocketType, ExtractProps } from '~/types'\nimport createRocketStories from '~/rocketstories'\nimport type { IRocketStories } from '~/rocketstories'\n\n// --------------------------------------------------------\n// rocketstories\n// --------------------------------------------------------\nexport type Init = <\n P extends Partial<Omit<Configuration, 'component' | 'attrs'>>,\n>(\n params: P,\n) => <T extends Configuration['component']>(\n component: T,\n) => T extends RocketType\n ? IRocketStories<ExtractProps<T>, T['$$rocketstyle'], true>\n : IRocketStories<ExtractProps<T>, unknown, false>\n\nconst init: Init =\n ({ decorators = [], storyOptions = {}, ...rest }) =>\n (component) =>\n rocketstories(component, { decorators, storyOptions, ...rest })\n\n// --------------------------------------------------------\n// rocketstories\n// --------------------------------------------------------\nexport type Rocketstories = <C extends Configuration['component']>(\n component: C,\n options?: Partial<Omit<Configuration, 'component' | 'attrs'>>,\n) => C extends RocketType\n ? IRocketStories<ExtractProps<C>, C['$$rocketstyle'], true>\n : IRocketStories<ExtractProps<C>, unknown, false>\n\n//@ts-ignore\nconst rocketstories: Rocketstories = (component, options = {}) => {\n const { decorators = [], storyOptions = {} } = options\n\n const result: Configuration = {\n component,\n name: component.displayName || component.name,\n attrs: {},\n storyOptions: {\n gap: 16,\n direction: 'rows',\n alignY: 'top',\n alignX: 'left',\n ...storyOptions,\n },\n decorators,\n controls: {},\n }\n\n return createRocketStories(result)\n}\n\nexport { init, rocketstories }\n"],"names":["context","createContext","useContext","useState","useCallback","useRef","useImperativeHandle","context$1","forwardRef","useMemo","React","isEmpty","render","get","set","merge","config","getTheme","pick","omit","compose","hoistNonReactStatics","rocketstyle","component","Element","styles","element","group","HTML_TAGS","CONTROLS.ELEMENT_CONTROLS","CONTROLS.LIST_CONTROLS","CONTROLS.TEXT_CONTROLS","CONTROLS.OVERLAY_CONTROLS","CONTROLS.ROCKETSTYLE_CONTROLS","contextHook","createElement","Item","NotFound","Fragment","PseudoList","RocketStoryHoc","List","StoryHoc","rocketstory.renderMain","simplestory.renderMain","rocketstory.renderDimension","rocketstory.renderRender","simplestory.renderRender","rocketstory.renderList","simplestory.renderList"],"mappings":"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"}