@walkeros/storybook-addon 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +87 -176
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +3 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/manager.css +2 -0
- package/dist/manager.css.map +1 -0
- package/dist/manager.js +1 -1
- package/dist/manager.js.map +1 -1
- package/dist/preview.cjs +143 -18
- package/dist/preview.cjs.map +1 -1
- package/dist/preview.js +143 -18
- package/dist/preview.js.map +1 -1
- package/package.json +1 -1
package/dist/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/constants.ts","../src/components/List.tsx","../src/components/HighlightButtons.tsx","../src/utils/eventPreview.ts","../src/utils/formatEventTitle.tsx","../src/components/Panel.tsx","../src/manager.tsx"],"names":["ADDON_ID","PANEL_ID","EVENTS","ListWrapper","styled","Wrapper","theme","Icon","ArrowDownIcon","HeaderBar","Description","ListItem","memo","item","isOpen","onToggle","useState","React","Fragment","List","items","idx","HighlightButtons","config","toggleHighlight","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","useTheme","Button","createEventDataPreview","event","sections","formatValue","value","v","formatSection","obj","sectionName","entries","key","dataSection","contextSection","formatEventTitle","index","dataPreview","eventNumber","eventName","baseTitle","Panel","props","api","useStorybookApi","globals","updateGlobals","useGlobals","defaultConfig","events","setState","liveEvents","setLiveEvents","updateConfig","newConfig","type","newHighlights","emit","useChannel","newEvents","prev","updateEvents","useCallback","useEffect","storyEvents","CURRENT_STORY_WAS_SET","SELECT_STORY","STORY_RENDERED","STORY_ARGS_UPDATED","getEventTitle","form","getLiveEventTitle","clearLiveEvents","AddonPanel","TabsState","Placeholder","SyntaxHighlighter","Form","e","addons","types","viewMode","active"],"mappings":"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","file":"manager.js","sourcesContent":["export const ADDON_ID = 'walkerOS';\nexport const PANEL_ID = `${ADDON_ID}/panel`;\nexport const KEY = `walkerOS`;\n\nexport const EVENTS = {\n RESULT: `${ADDON_ID}/result`,\n REQUEST: `${ADDON_ID}/request`,\n HIGHLIGHT: `${ADDON_ID}/highlight`,\n LIVE_EVENT: `${ADDON_ID}/live-event`,\n};\n","import { ArrowDownIcon } from '@storybook/icons';\nimport React, { Fragment, useState, memo } from 'react';\nimport { styled } from 'storybook/theming';\n\ntype Item = {\n title: string | React.ReactNode;\n content: string | React.ReactNode;\n};\n\ninterface ListItemProps {\n item: Item;\n}\n\ninterface ListProps {\n items: Item[];\n}\n\nconst ListWrapper = styled.ul({\n listStyle: 'none',\n fontSize: 14,\n padding: 0,\n margin: 0,\n});\n\nconst Wrapper = styled.div(({ theme }) => ({\n display: 'flex',\n width: '100%',\n borderBottom: `1px solid ${theme.appBorderColor}`,\n '&:hover': {\n background: theme.background.hoverable,\n },\n}));\n\nconst Icon = styled(ArrowDownIcon)(({ theme }) => ({\n height: 10,\n width: 10,\n minWidth: 10,\n color: theme.color.mediumdark,\n marginRight: 10,\n transition: 'transform 0.1s ease-in-out',\n alignSelf: 'center',\n display: 'inline-flex',\n}));\n\nconst HeaderBar = styled.div(({ theme }) => ({\n padding: '6px 12px',\n paddingLeft: 9,\n background: 'none',\n color: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n borderLeft: '3px solid transparent',\n width: '100%',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n\n '&:focus': {\n outline: '0 none',\n borderLeft: `3px solid ${theme.color.secondary}`,\n },\n\n '& .event-base': {\n color: 'inherit',\n fontWeight: '500',\n },\n\n '& .event-separator': {\n color: theme.color.mediumdark,\n fontWeight: '300',\n },\n\n '& .event-preview': {\n color: theme.color.mediumdark,\n fontWeight: '400',\n },\n}));\n\nconst Description = styled.div(({ theme }) => ({\n padding: theme.layoutMargin,\n background: theme.background.content,\n fontFamily: theme.typography.fonts.mono,\n whiteSpace: 'pre-wrap',\n textAlign: 'left',\n}));\n\nexport const ListItem: React.FC<ListItemProps> = memo(({ item }) => {\n const [isOpen, onToggle] = useState(false);\n\n return (\n <Fragment>\n <Wrapper>\n <HeaderBar onClick={() => onToggle(!isOpen)} role=\"button\">\n <Icon\n style={{\n transform: `rotate(${isOpen ? 0 : -90}deg)`,\n }}\n />\n {item.title}\n </HeaderBar>\n </Wrapper>\n {isOpen ? <Description>{item.content}</Description> : null}\n </Fragment>\n );\n});\n\nexport const List: React.FC<ListProps> = memo(({ items }) => (\n <ListWrapper>\n {items.map((item, idx) => (\n <ListItem key={`${item.title}-${idx}`} item={item}></ListItem>\n ))}\n </ListWrapper>\n));\n","import type { WalkerOSAddon } from '../types';\nimport React from 'react';\nimport { Button } from 'storybook/internal/components';\nimport { useTheme } from 'storybook/theming';\n\ninterface HighlightButtonsProps {\n config: WalkerOSAddon;\n toggleHighlight: (type: keyof WalkerOSAddon['highlights']) => void;\n}\n\nexport const HighlightButtons: React.FC<HighlightButtonsProps> = ({\n config,\n toggleHighlight,\n}) => {\n const theme = useTheme();\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '4px',\n alignItems: 'center',\n }}\n >\n <span\n style={{\n fontSize: '12px',\n color: theme.color.mediumdark,\n marginRight: '8px',\n }}\n >\n Highlight:\n </span>\n <Button\n size=\"small\"\n variant={config.highlights?.context ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('context')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: config.highlights?.context\n ? '#ffbd44cc'\n : 'transparent',\n color: config.highlights?.context ? '#000' : theme.color.mediumdark,\n border: `1px solid ${config.highlights?.context ? '#ffbd44' : theme.color.border}`,\n }}\n >\n Context\n </Button>\n <Button\n size=\"small\"\n variant={config.highlights?.entity ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('entity')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: config.highlights?.entity\n ? '#00ca4ecc'\n : 'transparent',\n color: config.highlights?.entity ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${config.highlights?.entity ? '#00ca4e' : theme.color.border}`,\n }}\n >\n Entity\n </Button>\n <Button\n size=\"small\"\n variant={config.highlights?.property ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('property')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: config.highlights?.property\n ? '#ff605ccc'\n : 'transparent',\n color: config.highlights?.property ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${config.highlights?.property ? '#ff605c' : theme.color.border}`,\n }}\n >\n Property\n </Button>\n <Button\n size=\"small\"\n variant={config.highlights?.action ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('action')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: config.highlights?.action\n ? '#9900ffcc'\n : 'transparent',\n color: config.highlights?.action ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${config.highlights?.action ? '#9900ff' : theme.color.border}`,\n }}\n >\n Action\n </Button>\n </div>\n );\n};\n","import type { WalkerOS } from '@walkeros/core';\n\n/**\n * Creates a formatted data preview from a walkerOS event\n * Shows data and context properties in JSON-like syntax\n */\nexport function createEventDataPreview(event: WalkerOS.Event): string {\n const sections: string[] = [];\n\n // Helper to format value\n const formatValue = (value: unknown): string => {\n if (value === null || value === undefined) {\n return 'null';\n }\n if (typeof value === 'string') {\n return `\"${value}\"`;\n }\n if (Array.isArray(value)) {\n const items = value\n .map((v) => (typeof v === 'string' ? `\"${v}\"` : String(v)))\n .join(', ');\n return `[${items}]`;\n }\n if (typeof value === 'object') {\n return '{...}';\n }\n return String(value);\n };\n\n // Helper to format a section (data or context)\n const formatSection = (obj: unknown, sectionName: string): string | null => {\n if (\n !obj ||\n typeof obj !== 'object' ||\n obj === null ||\n Object.keys(obj as Record<string, unknown>).length === 0\n ) {\n return null;\n }\n\n const entries = Object.entries(obj as Record<string, unknown>)\n .map(([key, value]) => `${key}: ${formatValue(value)}`)\n .join(', ');\n\n return `${sectionName}: { ${entries} }`;\n };\n\n // Process data section first\n if (event.data) {\n const dataSection = formatSection(event.data, 'data');\n if (dataSection) {\n sections.push(dataSection);\n }\n }\n\n // Process context section second\n if (event.context) {\n const contextSection = formatSection(event.context, 'context');\n if (contextSection) {\n sections.push(contextSection);\n }\n }\n\n return sections.join('; ');\n}\n","import React from 'react';\nimport type { WalkerOS } from '@walkeros/core';\nimport { createEventDataPreview } from './eventPreview';\n\n/**\n * Formats an event title with consistent styling across Events and Live Events tabs\n */\nexport function formatEventTitle(\n event: WalkerOS.Event,\n index: number,\n): React.ReactNode {\n const dataPreview = createEventDataPreview(event);\n\n // Build base title components\n const eventNumber = `#${index + 1}`;\n const eventName = `${event.entity} ${event.action}`;\n\n // Construct base title\n const baseTitle = `${eventNumber} ${eventName}`;\n\n // Return styled JSX\n if (!dataPreview) {\n return <span className=\"event-base\">{baseTitle}</span>;\n }\n\n return (\n <>\n <span className=\"event-base\">{baseTitle}</span>\n <span className=\"event-separator\"> - </span>\n <span className=\"event-preview\">{dataPreview}</span>\n </>\n );\n}\n","import type { WalkerOSAddon } from '../types';\nimport type { Walker } from '@walkeros/web-core';\nimport type { WalkerOS } from '@walkeros/core';\nimport React, { Fragment, memo, useCallback, useEffect, useState } from 'react';\nimport {\n AddonPanel,\n Placeholder,\n TabsState,\n SyntaxHighlighter,\n Button,\n Form,\n} from 'storybook/internal/components';\nimport { useChannel, useGlobals, useStorybookApi } from 'storybook/manager-api';\nimport { useTheme } from 'storybook/theming';\nimport {\n STORY_ARGS_UPDATED,\n CURRENT_STORY_WAS_SET,\n SELECT_STORY,\n STORY_RENDERED,\n} from 'storybook/internal/core-events';\n\nimport { ADDON_ID, EVENTS } from '../constants';\nimport { List } from './List';\nimport { HighlightButtons } from './HighlightButtons';\nimport { formatEventTitle } from '../utils/formatEventTitle';\n\ninterface PanelProps {\n active: boolean;\n walkerOSAddon: WalkerOSAddon;\n}\n\nexport const Panel: React.FC<PanelProps> = memo(function MyPanel(props) {\n const theme = useTheme();\n const api = useStorybookApi();\n\n const [globals, updateGlobals] = useGlobals();\n\n const defaultConfig: WalkerOSAddon = {\n autoRefresh: true,\n prefix: 'data-elb',\n highlights: {\n context: false,\n entity: false,\n property: false,\n action: false,\n },\n };\n const config = {\n ...defaultConfig,\n ...globals[ADDON_ID],\n highlights: {\n ...defaultConfig.highlights,\n ...(globals[ADDON_ID]?.highlights || {}),\n },\n } as WalkerOSAddon;\n\n const [events, setState] = useState<Walker.Events>([]);\n const [liveEvents, setLiveEvents] = useState<WalkerOS.Event[]>([]);\n\n const updateConfig = (key: keyof WalkerOSAddon, value: unknown) => {\n const newConfig = { ...config, [key]: value };\n updateGlobals({ [ADDON_ID]: newConfig });\n };\n\n const toggleHighlight = (type: keyof WalkerOSAddon['highlights']) => {\n const newHighlights = {\n ...config.highlights,\n [type]: !config.highlights?.[type],\n };\n const newConfig = { ...config, highlights: newHighlights };\n updateGlobals({ [ADDON_ID]: newConfig });\n\n // Send highlighting update to preview\n emit(EVENTS.HIGHLIGHT, newConfig);\n };\n\n // https://storybook.js.org/docs/react/addons/addons-api#usechannel\n const emit = useChannel({\n [EVENTS.RESULT]: (newEvents: Walker.Events) => {\n setState(newEvents);\n },\n [EVENTS.LIVE_EVENT]: (event: WalkerOS.Event) => {\n setLiveEvents((prev) =>\n [{ ...event, timestamp: Date.now() }].concat(prev).slice(0, 50),\n );\n },\n });\n\n const updateEvents = useCallback(() => {\n emit(EVENTS.REQUEST, config);\n }, [config, emit]);\n\n // Initial auto-refresh on page load\n useEffect(() => {\n if (config.autoRefresh) {\n updateEvents();\n }\n }, []); // Only run once on mount\n\n // Auto-refresh on story navigation and args updates\n useEffect(() => {\n if (!config.autoRefresh) return;\n\n // Events to listen for\n const storyEvents = [\n CURRENT_STORY_WAS_SET,\n SELECT_STORY,\n STORY_RENDERED,\n STORY_ARGS_UPDATED,\n ];\n\n // Listen for story navigation and control changes\n storyEvents.forEach((event) => api.on(event, updateEvents));\n // Cleanup listeners on unmount\n return () => storyEvents.forEach((event) => api.off(event, updateEvents));\n }, [api, updateEvents, config.autoRefresh]);\n\n const getEventTitle = (events: Walker.Events) => {\n const form = events.length == 1 ? 'Event' : 'Events';\n return `${events.length} ${form}`;\n };\n\n const getLiveEventTitle = () => {\n const form = liveEvents.length == 1 ? 'Event' : 'Events';\n return `${liveEvents.length} Live ${form}`;\n };\n\n const clearLiveEvents = () => {\n setLiveEvents([]);\n };\n\n const formatTime = (timestamp: number) => {\n return new Date(timestamp).toLocaleTimeString();\n };\n\n return (\n <AddonPanel {...props}>\n <TabsState\n initial=\"live\"\n backgroundColor={theme.background.hoverable as string}\n >\n <div id=\"events\" title={getEventTitle(events)}>\n <Placeholder>\n <Fragment>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: '12px',\n padding: '8px',\n backgroundColor: theme.background.app,\n borderRadius: '4px',\n border: `1px solid ${theme.color.border}`,\n }}\n >\n <Button onClick={updateEvents}>Update events</Button>\n <HighlightButtons\n config={config}\n toggleHighlight={toggleHighlight}\n />\n </div>\n </Fragment>\n {events.length > 0 ? (\n <List\n items={events.map((item, index) => {\n return {\n title: formatEventTitle(item, index),\n content: (\n <SyntaxHighlighter\n language=\"json\"\n copyable={true}\n bordered={true}\n padded={true}\n >\n {JSON.stringify(item, null, 2)}\n </SyntaxHighlighter>\n ),\n };\n })}\n />\n ) : (\n <p>No events yet</p>\n )}\n </Placeholder>\n </div>\n <div id=\"live\" title={getLiveEventTitle()}>\n <Placeholder>\n <Fragment>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: '12px',\n padding: '8px',\n backgroundColor: theme.background.app,\n borderRadius: '4px',\n border: `1px solid ${theme.color.border}`,\n }}\n >\n <div\n style={{ display: 'flex', gap: '8px', alignItems: 'center' }}\n >\n <Button size=\"small\" onClick={clearLiveEvents}>\n Clear Events\n </Button>\n </div>\n <HighlightButtons\n config={config}\n toggleHighlight={toggleHighlight}\n />\n </div>\n </Fragment>\n {liveEvents.length > 0 ? (\n <List\n items={liveEvents.map((event, index) => {\n return {\n title: formatEventTitle(\n event,\n liveEvents.length - index - 1,\n ),\n content: (\n <SyntaxHighlighter\n language=\"json\"\n copyable={true}\n bordered={true}\n padded={true}\n >\n {JSON.stringify(event, null, 2)}\n </SyntaxHighlighter>\n ),\n };\n })}\n />\n ) : (\n <p\n style={{\n textAlign: 'center',\n color: theme.color.mediumdark,\n padding: '20px',\n }}\n >\n Waiting for live events...\n <br />\n <small>\n Interact with components to see events appear here in\n real-time\n </small>\n </p>\n )}\n </Placeholder>\n </div>\n <div id=\"config\" title=\"Config\">\n <Placeholder>\n <Fragment>\n <Form.Field label=\"Auto-refresh\">\n <input\n type=\"checkbox\"\n id=\"autoRefresh\"\n checked={config.autoRefresh}\n onChange={(e) =>\n updateConfig('autoRefresh', e.target.checked)\n }\n />\n </Form.Field>\n <Form.Field label=\"Prefix\">\n <Form.Input\n name=\"Prefix\"\n value={config.prefix}\n placeholder={config.prefix}\n onChange={(e) =>\n updateConfig('prefix', (e.target as HTMLInputElement).value)\n }\n size=\"flex\"\n />\n </Form.Field>\n </Fragment>\n </Placeholder>\n </div>\n </TabsState>\n </AddonPanel>\n );\n});\n","import React from 'react';\nimport { addons, types } from 'storybook/manager-api';\n\nimport { Panel } from './components/Panel';\nimport { ADDON_ID, PANEL_ID } from './constants';\n\n/**\n * Note: if you want to use JSX in this file, rename it to `manager.tsx`\n * and update the entry prop in tsup.config.ts to use \"src/manager.tsx\",\n */\n\naddons.register(ADDON_ID, (api) => {\n addons.add(PANEL_ID, {\n type: types.PANEL,\n title: ADDON_ID,\n match: ({ viewMode }) => viewMode === 'story',\n render: ({ active }) => <Panel active={!!active} />,\n });\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/constants.ts","../src/components/List.tsx","../src/components/HighlightButtons.tsx","../src/components/AttributeTreeView.tsx","../src/utils/eventPreview.ts","../src/utils/formatEventTitle.tsx","../src/components/Panel.tsx","../src/manager.tsx"],"names":["ADDON_ID","PANEL_ID","EVENTS","ListWrapper","styled","Wrapper","theme","Icon","ArrowDownIcon","HeaderBar","Description","ListItem","memo","item","isOpen","onToggle","useState","React","Fragment","List","items","idx","HighlightButtons","highlights","toggleHighlight","useTheme","Button","formatValueForBadge","value","keys","AttributeBadge","type","label","colors","displayText","AttributeNodeComponent","node","depth","expanded","setExpanded","showDetails","setShowDetails","hasAttributes","hasChildren","properties","key","displayLabel","displayValue","SyntaxHighlighter","child","index","AttributeTreeView","tree","createEventDataPreview","event","sections","formatValue","v","formatSection","obj","sectionName","entries","dataSection","contextSection","formatEventTitle","dataPreview","eventNumber","eventName","baseTitle","Panel","props","api","useStorybookApi","parameters","config","setHighlights","events","setState","liveEvents","setLiveEvents","attributeTree","setAttributeTree","newHighlights","emit","useChannel","newEvents","prev","updateEvents","useCallback","updateAttributes","useEffect","storyEvents","CURRENT_STORY_WAS_SET","SELECT_STORY","STORY_RENDERED","STORY_ARGS_UPDATED","updateAll","getEventTitle","form","getLiveEventTitle","clearLiveEvents","getAttributeTitle","countAttributes","nodes","total","nodeAttributeCount","validProperties","attributeCount","AddonPanel","TabsState","Placeholder","addons","types","viewMode","active"],"mappings":"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","file":"manager.js","sourcesContent":["export const ADDON_ID = 'walkerOS';\nexport const PANEL_ID = `${ADDON_ID}/panel`;\nexport const KEY = `walkerOS`;\n\nexport const EVENTS = {\n RESULT: `${ADDON_ID}/result`,\n REQUEST: `${ADDON_ID}/request`,\n HIGHLIGHT: `${ADDON_ID}/highlight`,\n LIVE_EVENT: `${ADDON_ID}/live-event`,\n ATTRIBUTES_RESULT: `${ADDON_ID}/attributes-result`,\n ATTRIBUTES_REQUEST: `${ADDON_ID}/attributes-request`,\n};\n","import { ArrowDownIcon } from '@storybook/icons';\nimport React, { Fragment, useState, memo } from 'react';\nimport { styled } from 'storybook/theming';\n\ntype Item = {\n title: string | React.ReactNode;\n content: string | React.ReactNode;\n};\n\ninterface ListItemProps {\n item: Item;\n}\n\ninterface ListProps {\n items: Item[];\n}\n\nconst ListWrapper = styled.ul({\n listStyle: 'none',\n fontSize: 14,\n padding: 0,\n margin: 0,\n});\n\nconst Wrapper = styled.div(({ theme }) => ({\n display: 'flex',\n width: '100%',\n borderBottom: `1px solid ${theme.appBorderColor}`,\n '&:hover': {\n background: theme.background.hoverable,\n },\n}));\n\nconst Icon = styled(ArrowDownIcon)(({ theme }) => ({\n height: 10,\n width: 10,\n minWidth: 10,\n color: theme.color.mediumdark,\n marginRight: 10,\n transition: 'transform 0.1s ease-in-out',\n alignSelf: 'center',\n display: 'inline-flex',\n}));\n\nconst HeaderBar = styled.div(({ theme }) => ({\n padding: '6px 12px',\n paddingLeft: 9,\n background: 'none',\n color: 'inherit',\n textAlign: 'left',\n cursor: 'pointer',\n borderLeft: '3px solid transparent',\n width: '100%',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n\n '&:focus': {\n outline: '0 none',\n borderLeft: `3px solid ${theme.color.secondary}`,\n },\n\n '& .event-base': {\n color: 'inherit',\n fontWeight: '500',\n },\n\n '& .event-separator': {\n color: theme.color.mediumdark,\n fontWeight: '300',\n },\n\n '& .event-preview': {\n color: theme.color.mediumdark,\n fontWeight: '400',\n },\n}));\n\nconst Description = styled.div(({ theme }) => ({\n padding: theme.layoutMargin,\n background: theme.background.content,\n fontFamily: theme.typography.fonts.mono,\n whiteSpace: 'pre-wrap',\n textAlign: 'left',\n}));\n\nexport const ListItem: React.FC<ListItemProps> = memo(({ item }) => {\n const [isOpen, onToggle] = useState(false);\n\n return (\n <Fragment>\n <Wrapper>\n <HeaderBar onClick={() => onToggle(!isOpen)} role=\"button\">\n <Icon\n style={{\n transform: `rotate(${isOpen ? 0 : -90}deg)`,\n }}\n />\n {item.title}\n </HeaderBar>\n </Wrapper>\n {isOpen ? <Description>{item.content}</Description> : null}\n </Fragment>\n );\n});\n\nexport const List: React.FC<ListProps> = memo(({ items }) => (\n <ListWrapper>\n {items.map((item, idx) => (\n <ListItem key={`${item.title}-${idx}`} item={item}></ListItem>\n ))}\n </ListWrapper>\n));\n","import type { WalkerOSAddon } from '../types';\nimport React from 'react';\nimport { Button } from 'storybook/internal/components';\nimport { useTheme } from 'storybook/theming';\n\ninterface HighlightButtonsProps {\n highlights: {\n context: boolean;\n entity: boolean;\n property: boolean;\n action: boolean;\n globals: boolean;\n };\n toggleHighlight: (type: keyof HighlightButtonsProps['highlights']) => void;\n}\n\nexport const HighlightButtons: React.FC<HighlightButtonsProps> = ({\n highlights,\n toggleHighlight,\n}) => {\n const theme = useTheme();\n\n return (\n <div\n style={{\n display: 'flex',\n gap: '4px',\n alignItems: 'center',\n }}\n >\n <span\n style={{\n fontSize: '12px',\n color: theme.color.mediumdark,\n marginRight: '8px',\n }}\n >\n Highlight:\n </span>\n <Button\n size=\"small\"\n variant={highlights.globals ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('globals')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: highlights.globals ? '#4fc3f7cc' : 'transparent',\n color: highlights.globals ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${highlights.globals ? '#4fc3f7' : theme.color.border}`,\n }}\n >\n Globals\n </Button>\n <Button\n size=\"small\"\n variant={highlights.context ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('context')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: highlights.context ? '#ffbd44cc' : 'transparent',\n color: highlights.context ? '#000' : theme.color.mediumdark,\n border: `1px solid ${highlights.context ? '#ffbd44' : theme.color.border}`,\n }}\n >\n Context\n </Button>\n <Button\n size=\"small\"\n variant={highlights.entity ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('entity')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: highlights.entity ? '#00ca4ecc' : 'transparent',\n color: highlights.entity ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${highlights.entity ? '#00ca4e' : theme.color.border}`,\n }}\n >\n Entity\n </Button>\n <Button\n size=\"small\"\n variant={highlights.property ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('property')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: highlights.property ? '#ff605ccc' : 'transparent',\n color: highlights.property ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${highlights.property ? '#ff605c' : theme.color.border}`,\n }}\n >\n Property\n </Button>\n <Button\n size=\"small\"\n variant={highlights.action ? 'solid' : 'outline'}\n onClick={() => toggleHighlight('action')}\n style={{\n fontSize: '11px',\n padding: '4px 8px',\n backgroundColor: highlights.action ? '#9900ffcc' : 'transparent',\n color: highlights.action ? '#fff' : theme.color.mediumdark,\n border: `1px solid ${highlights.action ? '#9900ff' : theme.color.border}`,\n }}\n >\n Action\n </Button>\n </div>\n );\n};\n","import React, { useState } from 'react';\nimport { SyntaxHighlighter } from 'storybook/internal/components';\nimport { useTheme } from 'storybook/theming';\nimport type { AttributeNode } from '../types';\nimport type { WalkerOS } from '@walkeros/core';\n\n// Utility to format complex values for display in badges\nconst formatValueForBadge = (value: unknown): string => {\n if (typeof value === 'string') return value;\n if (typeof value === 'number' || typeof value === 'boolean')\n return String(value);\n if (value === null || value === undefined) return '';\n if (typeof value === 'object') {\n if (Array.isArray(value)) {\n return value.length <= 3\n ? value.join(', ')\n : `${value.slice(0, 3).join(', ')}...`;\n }\n // For objects, show the actual keys instead of just the count\n const keys = Object.keys(value);\n if (keys.length === 0) return '';\n if (keys.length <= 3) {\n return keys.join(', ');\n }\n return `${keys.slice(0, 3).join(', ')}...`;\n }\n return String(value);\n};\n\ninterface AttributeTreeViewProps {\n tree: AttributeNode[];\n depth?: number;\n}\n\ninterface AttributeBadgeProps {\n type: 'entity' | 'action' | 'context' | 'globals' | 'data';\n label: string;\n value?: string;\n}\n\nconst AttributeBadge: React.FC<AttributeBadgeProps> = ({\n type,\n label,\n value,\n}) => {\n const colors = {\n entity: '#00ca4e',\n action: '#9900ff',\n context: '#ffbd44',\n globals: '#4fc3f7',\n data: '#ff605c',\n };\n\n const displayText = value ? `${label}: ${value}` : label;\n\n return (\n <span\n style={{\n display: 'inline-block',\n padding: '2px 6px',\n margin: '0 4px',\n fontSize: '14px',\n color: 'black',\n backgroundColor: colors[type],\n borderRadius: '3px',\n maxWidth: '200px',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }}\n title={displayText}\n >\n <span>\n {type === 'data' ? (\n value ? (\n <>\n <strong>{label}:</strong> {value}\n </>\n ) : (\n <strong>{label}</strong>\n )\n ) : (\n <>\n <strong>{type}:</strong> {displayText}\n </>\n )}\n </span>\n </span>\n );\n};\n\nconst AttributeNodeComponent: React.FC<{\n node: AttributeNode;\n depth: number;\n}> = ({ node, depth }) => {\n const [expanded, setExpanded] = useState(true);\n const [showDetails, setShowDetails] = useState(false);\n const theme = useTheme();\n\n const hasAttributes =\n node.attributes.entity ||\n node.attributes.action ||\n node.attributes.context ||\n node.attributes.globals ||\n node.attributes.properties;\n\n const hasChildren = node.children.length > 0;\n\n return (\n <div\n style={{\n marginLeft: depth * 16,\n borderLeft: depth > 0 ? `1px solid ${theme.color.border}` : 'none',\n paddingLeft: depth > 0 ? '8px' : '0',\n }}\n >\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n padding: '4px 0',\n }}\n >\n {hasChildren ? (\n <span\n style={{\n marginRight: '8px',\n color: theme.color.mediumdark,\n cursor: 'pointer',\n userSelect: 'none',\n display: 'inline-block',\n width: '12px',\n textAlign: 'center',\n }}\n onClick={() => setExpanded(!expanded)}\n title={expanded ? 'Collapse' : 'Expand'}\n >\n {expanded ? '▼' : '▶'}\n </span>\n ) : (\n <span\n style={{\n marginRight: '8px',\n width: '12px',\n display: 'inline-block',\n }}\n />\n )}\n\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n cursor: hasAttributes ? 'pointer' : 'default',\n flex: 1,\n }}\n onClick={\n hasAttributes ? () => setShowDetails(!showDetails) : undefined\n }\n >\n {node.attributes.entity && (\n <AttributeBadge type=\"entity\" label={node.attributes.entity} />\n )}\n\n {node.attributes.action && (\n <AttributeBadge type=\"action\" label={node.attributes.action} />\n )}\n\n {node.attributes.context &&\n Object.keys(node.attributes.context).length > 0 && (\n <AttributeBadge\n key=\"context\"\n type=\"context\"\n label={Object.keys(node.attributes.context).join(', ')}\n />\n )}\n\n {node.attributes.globals &&\n Object.keys(node.attributes.globals).length > 0 && (\n <AttributeBadge\n key=\"globals\"\n type=\"globals\"\n label={Object.keys(node.attributes.globals).join(', ')}\n />\n )}\n\n {node.attributes.properties &&\n (() => {\n const properties = node.attributes.properties;\n const validEntries = Object.entries(properties).filter(\n ([key, value]) => {\n // Skip empty objects and null/undefined values\n if (\n typeof value === 'object' &&\n value !== null &&\n Object.keys(value).length === 0\n )\n return false;\n return value !== null && value !== undefined && value !== '';\n },\n );\n\n return validEntries.map(([key, value]) => {\n // If key is empty/generic, name it \"generic\", otherwise use \"data-{key}\"\n const displayLabel = key ? `data-${key}` : 'data-generic';\n const displayValue = formatValueForBadge(value);\n return (\n <AttributeBadge\n key={`data-${key}`}\n type=\"data\"\n label={displayLabel}\n value={displayValue}\n />\n );\n });\n })()}\n </div>\n </div>\n\n {showDetails && hasAttributes && node.htmlMarkup && (\n <div\n style={{ marginTop: '8px', marginBottom: '8px', textAlign: 'left' }}\n >\n <SyntaxHighlighter\n language=\"html\"\n copyable={true}\n bordered={true}\n padded={true}\n >\n {node.htmlMarkup}\n </SyntaxHighlighter>\n </div>\n )}\n\n {expanded && hasChildren && (\n <div>\n {node.children.map((child, index) => (\n <AttributeNodeComponent\n key={index}\n node={child}\n depth={depth + 1}\n />\n ))}\n </div>\n )}\n </div>\n );\n};\n\nexport const AttributeTreeView: React.FC<AttributeTreeViewProps> = ({\n tree,\n depth = 0,\n}) => {\n const theme = useTheme();\n\n if (tree.length === 0) {\n return (\n <div\n style={{\n color: theme.color.mediumdark,\n padding: '20px',\n }}\n >\n No walker attributes found\n <br />\n <small>\n Make sure your components have walker attributes like data-elb,\n data-elbaction, etc.\n </small>\n </div>\n );\n }\n\n return (\n <div>\n {tree.map((node, index) => (\n <AttributeNodeComponent key={index} node={node} depth={depth} />\n ))}\n </div>\n );\n};\n","import type { WalkerOS } from '@walkeros/core';\nimport type { Walker } from '@walkeros/web-core';\n\n/**\n * Creates a formatted data preview from a walkerOS event\n * Shows data and context properties in JSON-like syntax\n */\nexport function createEventDataPreview(\n event: WalkerOS.Event | Walker.Event,\n): string {\n const sections: string[] = [];\n\n // Helper to format value\n const formatValue = (value: unknown): string => {\n if (value === null || value === undefined) {\n return 'null';\n }\n if (typeof value === 'string') {\n return `\"${value}\"`;\n }\n if (Array.isArray(value)) {\n const items = value\n .map((v) => (typeof v === 'string' ? `\"${v}\"` : String(v)))\n .join(', ');\n return `[${items}]`;\n }\n if (typeof value === 'object') {\n return '{...}';\n }\n return String(value);\n };\n\n // Helper to format a section (data or context)\n const formatSection = (obj: unknown, sectionName: string): string | null => {\n if (\n !obj ||\n typeof obj !== 'object' ||\n obj === null ||\n Object.keys(obj as Record<string, unknown>).length === 0\n ) {\n return null;\n }\n\n const entries = Object.entries(obj as Record<string, unknown>)\n .map(([key, value]) => `${key}: ${formatValue(value)}`)\n .join(', ');\n\n return `${sectionName}: { ${entries} }`;\n };\n\n // Process data section first\n if (event.data) {\n const dataSection = formatSection(event.data, 'data');\n if (dataSection) {\n sections.push(dataSection);\n }\n }\n\n // Process context section second\n if (event.context) {\n const contextSection = formatSection(event.context, 'context');\n if (contextSection) {\n sections.push(contextSection);\n }\n }\n\n return sections.join('; ');\n}\n","import React from 'react';\nimport type { WalkerOS } from '@walkeros/core';\nimport type { Walker } from '@walkeros/web-core';\nimport { createEventDataPreview } from './eventPreview';\n\n/**\n * Formats an event title with consistent styling across Events and Live Events tabs\n */\nexport function formatEventTitle(\n event: WalkerOS.Event | Walker.Event,\n index: number,\n): React.ReactNode {\n const dataPreview = createEventDataPreview(event);\n\n // Build base title components\n const eventNumber = `#${index + 1}`;\n // Handle both WalkerOS.Event (has name property) and Walker.Event (has entity/action)\n const eventName =\n 'name' in event ? event.name : `${event.entity} ${event.action}`;\n\n // Construct base title\n const baseTitle = `${eventNumber} ${eventName}`;\n\n // Return styled JSX\n if (!dataPreview) {\n return <span className=\"event-base\">{baseTitle}</span>;\n }\n\n return (\n <>\n <span className=\"event-base\">{baseTitle}</span>\n <span className=\"event-separator\"> - </span>\n <span className=\"event-preview\">{dataPreview}</span>\n </>\n );\n}\n","import type { WalkerOSAddon, AttributeNode } from '../types';\nimport type { WalkerOS } from '@walkeros/core';\nimport React, { Fragment, memo, useCallback, useEffect, useState } from 'react';\nimport {\n AddonPanel,\n Placeholder,\n TabsState,\n SyntaxHighlighter,\n Button,\n} from 'storybook/internal/components';\nimport { useChannel, useStorybookApi } from 'storybook/manager-api';\nimport { useTheme } from 'storybook/theming';\nimport {\n STORY_ARGS_UPDATED,\n CURRENT_STORY_WAS_SET,\n SELECT_STORY,\n STORY_RENDERED,\n} from 'storybook/internal/core-events';\n\nimport { ADDON_ID, EVENTS } from '../constants';\nimport { List } from './List';\nimport { HighlightButtons } from './HighlightButtons';\nimport { AttributeTreeView } from './AttributeTreeView';\nimport { formatEventTitle } from '../utils/formatEventTitle';\n\ninterface PanelProps {\n active: boolean;\n walkerOSAddon: WalkerOSAddon;\n}\n\nexport const Panel: React.FC<PanelProps> = memo(function MyPanel(props) {\n const theme = useTheme();\n const api = useStorybookApi();\n const { parameters } = api.getCurrentStoryData() || {};\n\n const defaultConfig = {\n autoRefresh: true,\n prefix: 'data-elb',\n };\n\n const config = {\n ...defaultConfig,\n ...parameters?.[ADDON_ID],\n };\n\n // Highlights are now local state, not persistent config\n const [highlights, setHighlights] = useState({\n context: false,\n entity: false,\n property: false,\n action: false,\n globals: false,\n });\n\n const [events, setState] = useState<WalkerOS.Event[]>([]);\n const [liveEvents, setLiveEvents] = useState<WalkerOS.Event[]>([]);\n const [attributeTree, setAttributeTree] = useState<AttributeNode[]>([]);\n\n const toggleHighlight = (type: keyof typeof highlights) => {\n const newHighlights = {\n ...highlights,\n [type]: !highlights[type],\n };\n setHighlights(newHighlights);\n\n // Send highlighting update to preview with current config + highlights\n emit(EVENTS.HIGHLIGHT, { ...config, highlights: newHighlights });\n };\n\n // https://storybook.js.org/docs/react/addons/addons-api#usechannel\n const emit = useChannel({\n [EVENTS.RESULT]: (newEvents: WalkerOS.Event[]) => {\n setState(newEvents);\n },\n [EVENTS.LIVE_EVENT]: (event: WalkerOS.Event) => {\n setLiveEvents((prev) =>\n [{ ...event, timestamp: Date.now() }].concat(prev).slice(0, 50),\n );\n },\n [EVENTS.ATTRIBUTES_RESULT]: (tree: AttributeNode[]) => {\n setAttributeTree(tree);\n },\n });\n\n const updateEvents = useCallback(() => {\n emit(EVENTS.REQUEST, { ...config, highlights });\n }, [config, highlights, emit]);\n\n const updateAttributes = useCallback(() => {\n emit(EVENTS.ATTRIBUTES_REQUEST, { ...config, highlights });\n }, [config, highlights, emit]);\n\n // Initial auto-refresh on page load\n useEffect(() => {\n if (config.autoRefresh) {\n updateEvents();\n updateAttributes();\n }\n }, []); // Only run once on mount\n\n // Auto-refresh on story navigation and args updates\n useEffect(() => {\n if (!config.autoRefresh) return;\n\n // Events to listen for\n const storyEvents = [\n CURRENT_STORY_WAS_SET,\n SELECT_STORY,\n STORY_RENDERED,\n STORY_ARGS_UPDATED,\n ];\n\n // Combined update function for events and attributes\n const updateAll = () => {\n updateEvents();\n updateAttributes();\n };\n\n // Listen for story navigation and control changes\n storyEvents.forEach((event) => api.on(event, updateAll));\n // Cleanup listeners on unmount\n return () => storyEvents.forEach((event) => api.off(event, updateAll));\n }, [api, updateEvents, updateAttributes, config.autoRefresh]);\n\n const getEventTitle = (events: WalkerOS.Event[]) => {\n const form = events.length == 1 ? 'Event' : 'Events';\n return `${events.length} ${form}`;\n };\n\n const getLiveEventTitle = () => {\n const form = liveEvents.length == 1 ? 'Event' : 'Events';\n return `${liveEvents.length} Live ${form}`;\n };\n\n const clearLiveEvents = () => {\n setLiveEvents([]);\n };\n\n const formatTime = (timestamp: number) => {\n return new Date(timestamp).toLocaleTimeString();\n };\n\n const getAttributeTitle = () => {\n // Count all walker attributes (badges) across all nodes\n const countAttributes = (nodes: AttributeNode[]): number => {\n return nodes.reduce((total, node) => {\n let nodeAttributeCount = 0;\n\n // Count entity, action, context, globals\n if (node.attributes.entity) nodeAttributeCount++;\n if (node.attributes.action) nodeAttributeCount++;\n if (\n node.attributes.context &&\n Object.keys(node.attributes.context).length > 0\n ) {\n nodeAttributeCount++; // Count context as 1 attribute\n }\n if (\n node.attributes.globals &&\n Object.keys(node.attributes.globals).length > 0\n ) {\n nodeAttributeCount++; // Count globals as 1 attribute\n }\n\n // Count data properties (ignore custom properties like data-elbproperty)\n if (node.attributes.properties) {\n const validProperties = Object.entries(\n node.attributes.properties,\n ).filter(([key, value]) => {\n // Skip empty objects and null/undefined values\n if (\n typeof value === 'object' &&\n value !== null &&\n Object.keys(value).length === 0\n )\n return false;\n return value !== null && value !== undefined && value !== '';\n });\n nodeAttributeCount += validProperties.length;\n }\n\n return (\n total + nodeAttributeCount + countAttributes(node.children || [])\n );\n }, 0);\n };\n\n const attributeCount = countAttributes(attributeTree);\n const form = attributeCount === 1 ? 'Attribute' : 'Attributes';\n return `${attributeCount} ${form}`;\n };\n\n return (\n <AddonPanel {...props}>\n <TabsState\n initial=\"live\"\n backgroundColor={theme.background.hoverable as string}\n >\n <div id=\"events\" title={getEventTitle(events)}>\n <Placeholder>\n <Fragment>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: '12px',\n padding: '8px',\n backgroundColor: theme.background.app,\n borderRadius: '4px',\n border: `1px solid ${theme.color.border}`,\n }}\n >\n <Button onClick={updateEvents}>Update events</Button>\n <HighlightButtons\n highlights={highlights}\n toggleHighlight={toggleHighlight}\n />\n </div>\n </Fragment>\n {events.length > 0 ? (\n <List\n items={events.map((item, index) => {\n return {\n title: formatEventTitle(item, index),\n content: (\n <SyntaxHighlighter\n language=\"json\"\n copyable={true}\n bordered={true}\n padded={true}\n >\n {JSON.stringify(item, null, 2)}\n </SyntaxHighlighter>\n ),\n };\n })}\n />\n ) : (\n <p>No events yet</p>\n )}\n </Placeholder>\n </div>\n <div id=\"live\" title={getLiveEventTitle()}>\n <Placeholder>\n <Fragment>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: '12px',\n padding: '8px',\n backgroundColor: theme.background.app,\n borderRadius: '4px',\n border: `1px solid ${theme.color.border}`,\n }}\n >\n <div\n style={{ display: 'flex', gap: '8px', alignItems: 'center' }}\n >\n <Button size=\"small\" onClick={clearLiveEvents}>\n Clear Events\n </Button>\n </div>\n <HighlightButtons\n highlights={highlights}\n toggleHighlight={toggleHighlight}\n />\n </div>\n </Fragment>\n {liveEvents.length > 0 ? (\n <List\n items={liveEvents.map((event, index) => {\n return {\n title: formatEventTitle(\n event,\n liveEvents.length - index - 1,\n ),\n content: (\n <SyntaxHighlighter\n language=\"json\"\n copyable={true}\n bordered={true}\n padded={true}\n >\n {JSON.stringify(event, null, 2)}\n </SyntaxHighlighter>\n ),\n };\n })}\n />\n ) : (\n <p\n style={{\n textAlign: 'center',\n color: theme.color.mediumdark,\n padding: '20px',\n }}\n >\n Waiting for live events...\n <br />\n <small>\n Interact with components to see events appear here in\n real-time\n </small>\n </p>\n )}\n </Placeholder>\n </div>\n <div id=\"attributes\" title={getAttributeTitle()}>\n <Placeholder>\n <Fragment>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: '12px',\n padding: '8px',\n backgroundColor: theme.background.app,\n borderRadius: '4px',\n border: `1px solid ${theme.color.border}`,\n }}\n >\n <Button onClick={updateAttributes}>Update attributes</Button>\n <HighlightButtons\n highlights={highlights}\n toggleHighlight={toggleHighlight}\n />\n </div>\n </Fragment>\n <AttributeTreeView tree={attributeTree} />\n </Placeholder>\n </div>\n </TabsState>\n </AddonPanel>\n );\n});\n","import React from 'react';\nimport { addons, types } from 'storybook/manager-api';\n\nimport { Panel } from './components/Panel';\nimport { ADDON_ID, PANEL_ID } from './constants';\n\n/**\n * Note: if you want to use JSX in this file, rename it to `manager.tsx`\n * and update the entry prop in tsup.config.ts to use \"src/manager.tsx\",\n */\n\naddons.register(ADDON_ID, (api) => {\n addons.add(PANEL_ID, {\n type: types.PANEL,\n title: ADDON_ID,\n match: ({ viewMode }) => viewMode === 'story',\n render: ({ active }) => <Panel active={!!active} />,\n });\n});\n"]}
|
package/dist/preview.cjs
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
'use strict';var previewApi=require('storybook/preview-api'),webSourceBrowser=require('@walkeros/web-source-browser'),collector=require('@walkeros/collector');var
|
|
1
|
+
'use strict';var previewApi=require('storybook/preview-api'),webSourceBrowser=require('@walkeros/web-source-browser'),collector=require('@walkeros/collector');var g="walkerOS";var c={RESULT:`${g}/result`,REQUEST:`${g}/request`,HIGHLIGHT:`${g}/highlight`,LIVE_EVENT:`${g}/live-event`,ATTRIBUTES_RESULT:`${g}/attributes-result`,ATTRIBUTES_REQUEST:`${g}/attributes-request`};var N={type:"console",push:(t,i)=>{console.log("Storybook Event:",t);},config:{}},O={type:"live",push:(t,i)=>{let o=previewApi.addons.getChannel();o&&o.emit(c.LIVE_EVENT,t);},config:{}};function I(){try{let t=parent.document.querySelector("#storybook-preview-iframe");if(t!=null&&t.contentDocument&&(t!=null&&t.contentWindow))return {document:t.contentDocument,window:t.contentWindow}}catch(t){}return {document,window}}async function S(t){if(!window.__storybookWalker)try{let{document:i,window:o}=I();if(!i){console.warn("Document not available, skipping walkerOS initialization");return}let h=await collector.createCollector({run:!0,consent:{functional:!0},sources:{browser:{code:webSourceBrowser.sourceBrowser,config:{settings:{pageview:!0,session:!1,elb:"__storybookElb",prefix:(t==null?void 0:t.prefix)||"data-elb",scope:i.body||i}},env:{window:o,document:i}}},destinations:{console:{code:N},live:{code:O}}}),{collector:e,elb:l}=h;if(!e)throw new Error("Collector creation failed - no collector returned");window.__storybookWalker=e,window.__storybookElb=l;}catch(i){console.error("Failed to initialize walkerOS:",i);}}var w=()=>{let t=document.querySelector("#storybook-preview-iframe");return t!=null&&t.contentDocument?t.contentDocument:document},b=()=>{let t=w(),i=["#storybook-root","#root",'[data-testid="storybook-root"]',"body"];for(let o of i){let h=t.querySelector(o);if(h)return h}return t.body},k=t=>{let i=[],o=t;for(;o&&o!==document.body&&o.parentElement;){let h=o.tagName.toLowerCase();o.id?h+=`#${o.id}`:o.className&&typeof o.className=="string"&&(h+=`.${o.className.split(" ").filter(e=>e).join(".")}`),i.unshift(h),o=o.parentElement;}return i.join(" > ")},d=(t,i="data-elb")=>{Array.from(t.querySelectorAll("*")).forEach(h=>{let e=Array.from(h.attributes),l=false;e.forEach(p=>{p.name.startsWith(`${i}-`)&&p.name!==`${i}action`&&p.name!==`${i}context`&&p.name!==`${i}globals`&&(l=true);}),l&&h.setAttribute(`${i}property`,"");});};var C=t=>{if(!t)return "";let i=t.tagName.toLowerCase(),o=[];if(Array.from(t.attributes).forEach(e=>{o.push(`${e.name}="${e.value}"`);}),o.length===0)return `<${i}></${i}>`;if(o.length===1)return `<${i} ${o[0]}></${i}>`;let h=o.map(e=>` ${e}`).join(`
|
|
2
|
+
`);return `<${i}
|
|
3
|
+
${h}
|
|
4
|
+
></${i}>`},A=(t,i="data-elb")=>{let o=[],h=new Map,e=webSourceBrowser.getElbAttributeName(i),l=webSourceBrowser.getElbAttributeName(i,"action",false),p=webSourceBrowser.getElbAttributeName(i,"context",false),x=webSourceBrowser.getElbAttributeName(i,"globals",false);return Array.from(t.querySelectorAll("*")).filter(r=>Array.from(r.attributes).some(n=>n.name===e||n.name===l||n.name===p||n.name===x||n.name.startsWith(`${i}-`))).forEach(r=>{if(h.has(r))return;let n={element:r.tagName.toLowerCase(),path:k(r),htmlMarkup:C(r),attributes:{},children:[]};r.hasAttribute(e)&&(n.attributes.entity=r.getAttribute(e)||""),r.hasAttribute(l)&&(n.attributes.action=r.getAttribute(l)||"");try{let a=webSourceBrowser.getElbValues(i,r,"context",!1);Object.keys(a).length>0&&(n.attributes.context=a);}catch(a){}try{let a=webSourceBrowser.getElbValues(i,r,"globals",!1);Object.keys(a).length>0&&(n.attributes.globals=a);}catch(a){}let s={};Array.from(r.attributes).forEach(a=>{if(a.name.startsWith(`${i}-`)){let $=a.name.substring(i.length+1);try{s[$]=webSourceBrowser.getElbValues(i,r,$,!0);}catch(G){s[$]=a.value;}}}),Object.keys(s).length>0&&(n.attributes.properties=s),h.set(r,n);}),h.forEach((r,n)=>{let s=n.parentElement,a=null;for(;s&&s!==t;){if(h.has(s)){a=h.get(s);break}s=s.parentElement;}a?a.children.push(r):o.push(r);}),o};var H=t=>{let i=`${t}globals`,o=`${t}context`,h=t,e=`${t}property`;return `
|
|
2
5
|
/* Highlight colors - original from website */
|
|
3
6
|
:root {
|
|
4
7
|
--highlight-globals: #4fc3f7cc;
|
|
@@ -12,66 +15,140 @@
|
|
|
12
15
|
--highlight-separator: rgba(255, 255, 255, 0.05);
|
|
13
16
|
}
|
|
14
17
|
|
|
15
|
-
.highlight-globals [
|
|
18
|
+
.highlight-globals [${i}] {
|
|
16
19
|
box-shadow: 0 0 0 2px var(--highlight-globals) !important;
|
|
17
20
|
}
|
|
18
21
|
|
|
19
|
-
.highlight-context [
|
|
22
|
+
.highlight-context [${o}] {
|
|
20
23
|
box-shadow: 0 0 0 2px var(--highlight-context) !important;
|
|
21
24
|
}
|
|
22
25
|
|
|
23
|
-
.highlight-entity [
|
|
26
|
+
.highlight-entity [${h}] {
|
|
24
27
|
box-shadow: 0 0 0 2px var(--highlight-entity) !important;
|
|
25
28
|
}
|
|
26
29
|
|
|
27
|
-
.highlight-property [
|
|
30
|
+
.highlight-property [${e}] {
|
|
28
31
|
box-shadow: 0 0 0 2px var(--highlight-property) !important;
|
|
29
32
|
}
|
|
30
33
|
|
|
31
|
-
.highlight-action [
|
|
34
|
+
.highlight-action [${t}action] {
|
|
32
35
|
box-shadow: 0 0 0 2px var(--highlight-action) !important;
|
|
33
36
|
}
|
|
34
37
|
|
|
35
38
|
/* Combined highlights with layered solid borders */
|
|
36
|
-
.highlight-entity.highlight-action [
|
|
39
|
+
.highlight-entity.highlight-action [${h}][${t}action] {
|
|
37
40
|
box-shadow:
|
|
38
41
|
0 0 0 2px var(--highlight-action),
|
|
39
42
|
0 0 0 4px var(--highlight-entity) !important;
|
|
40
43
|
}
|
|
41
44
|
|
|
42
|
-
.highlight-entity.highlight-context [
|
|
45
|
+
.highlight-entity.highlight-context [${h}][${o}] {
|
|
43
46
|
box-shadow:
|
|
44
47
|
0 0 0 2px var(--highlight-entity),
|
|
45
48
|
0 0 0 4px var(--highlight-context) !important;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
|
-
.highlight-entity.highlight-property [
|
|
51
|
+
.highlight-entity.highlight-property [${h}][${e}] {
|
|
49
52
|
box-shadow:
|
|
50
53
|
0 0 0 2px var(--highlight-entity),
|
|
51
54
|
0 0 0 4px var(--highlight-property) !important;
|
|
52
55
|
}
|
|
53
56
|
|
|
54
|
-
.highlight-action.highlight-context [
|
|
57
|
+
.highlight-action.highlight-context [${t}action][${o}] {
|
|
55
58
|
box-shadow:
|
|
56
59
|
0 0 0 2px var(--highlight-action),
|
|
57
60
|
0 0 0 4px var(--highlight-context) !important;
|
|
58
61
|
}
|
|
59
62
|
|
|
60
|
-
.highlight-context.highlight-property [
|
|
63
|
+
.highlight-context.highlight-property [${o}][${e}] {
|
|
61
64
|
box-shadow:
|
|
62
65
|
0 0 0 2px var(--highlight-context),
|
|
63
66
|
0 0 0 4px var(--highlight-property) !important;
|
|
64
67
|
}
|
|
65
68
|
|
|
66
|
-
.highlight-action.highlight-property [
|
|
69
|
+
.highlight-action.highlight-property [${t}action][${e}] {
|
|
67
70
|
box-shadow:
|
|
68
71
|
0 0 0 2px var(--highlight-action),
|
|
69
72
|
0 0 0 4px var(--highlight-property) !important;
|
|
70
73
|
}
|
|
71
74
|
|
|
75
|
+
/* Globals combinations */
|
|
76
|
+
.highlight-globals.highlight-entity [${i}][${h}] {
|
|
77
|
+
box-shadow:
|
|
78
|
+
0 0 0 2px var(--highlight-globals),
|
|
79
|
+
0 0 0 4px var(--highlight-entity) !important;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.highlight-globals.highlight-action [${i}][${t}action] {
|
|
83
|
+
box-shadow:
|
|
84
|
+
0 0 0 2px var(--highlight-globals),
|
|
85
|
+
0 0 0 4px var(--highlight-action) !important;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
.highlight-globals.highlight-context [${i}][${o}] {
|
|
89
|
+
box-shadow:
|
|
90
|
+
0 0 0 2px var(--highlight-globals),
|
|
91
|
+
0 0 0 4px var(--highlight-context) !important;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.highlight-globals.highlight-property [${i}][${e}] {
|
|
95
|
+
box-shadow:
|
|
96
|
+
0 0 0 2px var(--highlight-globals),
|
|
97
|
+
0 0 0 4px var(--highlight-property) !important;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/* Triple combinations with globals */
|
|
101
|
+
.highlight-globals.highlight-entity.highlight-action
|
|
102
|
+
[${i}][${h}][${t}action] {
|
|
103
|
+
box-shadow:
|
|
104
|
+
0 0 0 2px var(--highlight-globals),
|
|
105
|
+
0 0 0 4px var(--highlight-entity),
|
|
106
|
+
0 0 0 6px var(--highlight-action) !important;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.highlight-globals.highlight-entity.highlight-context
|
|
110
|
+
[${i}][${h}][${o}] {
|
|
111
|
+
box-shadow:
|
|
112
|
+
0 0 0 2px var(--highlight-globals),
|
|
113
|
+
0 0 0 4px var(--highlight-entity),
|
|
114
|
+
0 0 0 6px var(--highlight-context) !important;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
.highlight-globals.highlight-entity.highlight-property
|
|
118
|
+
[${i}][${h}][${e}] {
|
|
119
|
+
box-shadow:
|
|
120
|
+
0 0 0 2px var(--highlight-globals),
|
|
121
|
+
0 0 0 4px var(--highlight-entity),
|
|
122
|
+
0 0 0 6px var(--highlight-property) !important;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
.highlight-globals.highlight-action.highlight-context
|
|
126
|
+
[${i}][${t}action][${o}] {
|
|
127
|
+
box-shadow:
|
|
128
|
+
0 0 0 2px var(--highlight-globals),
|
|
129
|
+
0 0 0 4px var(--highlight-action),
|
|
130
|
+
0 0 0 6px var(--highlight-context) !important;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.highlight-globals.highlight-action.highlight-property
|
|
134
|
+
[${i}][${t}action][${e}] {
|
|
135
|
+
box-shadow:
|
|
136
|
+
0 0 0 2px var(--highlight-globals),
|
|
137
|
+
0 0 0 4px var(--highlight-action),
|
|
138
|
+
0 0 0 6px var(--highlight-property) !important;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
.highlight-globals.highlight-context.highlight-property
|
|
142
|
+
[${i}][${o}][${e}] {
|
|
143
|
+
box-shadow:
|
|
144
|
+
0 0 0 2px var(--highlight-globals),
|
|
145
|
+
0 0 0 4px var(--highlight-context),
|
|
146
|
+
0 0 0 6px var(--highlight-property) !important;
|
|
147
|
+
}
|
|
148
|
+
|
|
72
149
|
/* Triple combinations with distinct layers */
|
|
73
150
|
.highlight-entity.highlight-action.highlight-context
|
|
74
|
-
[
|
|
151
|
+
[${h}][${t}action][${o}] {
|
|
75
152
|
box-shadow:
|
|
76
153
|
0 0 0 2px var(--highlight-action),
|
|
77
154
|
0 0 0 4px var(--highlight-entity),
|
|
@@ -80,7 +157,7 @@
|
|
|
80
157
|
|
|
81
158
|
/* Triple combinations with property */
|
|
82
159
|
.highlight-entity.highlight-action.highlight-property
|
|
83
|
-
[
|
|
160
|
+
[${h}][${t}action][${e}] {
|
|
84
161
|
box-shadow:
|
|
85
162
|
0 0 0 2px var(--highlight-action),
|
|
86
163
|
0 0 0 4px var(--highlight-entity),
|
|
@@ -88,7 +165,7 @@
|
|
|
88
165
|
}
|
|
89
166
|
|
|
90
167
|
.highlight-entity.highlight-context.highlight-property
|
|
91
|
-
[
|
|
168
|
+
[${h}][${o}][${e}] {
|
|
92
169
|
box-shadow:
|
|
93
170
|
0 0 0 2px var(--highlight-context),
|
|
94
171
|
0 0 0 4px var(--highlight-entity),
|
|
@@ -96,21 +173,69 @@
|
|
|
96
173
|
}
|
|
97
174
|
|
|
98
175
|
.highlight-action.highlight-context.highlight-property
|
|
99
|
-
[
|
|
176
|
+
[${t}action][${o}][${e}] {
|
|
100
177
|
box-shadow:
|
|
101
178
|
0 0 0 2px var(--highlight-action),
|
|
102
179
|
0 0 0 4px var(--highlight-context),
|
|
103
180
|
0 0 0 6px var(--highlight-property) !important;
|
|
104
181
|
}
|
|
105
182
|
|
|
183
|
+
/* Quadruple combinations with globals */
|
|
184
|
+
.highlight-globals.highlight-entity.highlight-action.highlight-context
|
|
185
|
+
[${i}][${h}][${t}action][${o}] {
|
|
186
|
+
box-shadow:
|
|
187
|
+
0 0 0 2px var(--highlight-globals),
|
|
188
|
+
0 0 0 4px var(--highlight-entity),
|
|
189
|
+
0 0 0 6px var(--highlight-action),
|
|
190
|
+
0 0 0 8px var(--highlight-context) !important;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
.highlight-globals.highlight-entity.highlight-action.highlight-property
|
|
194
|
+
[${i}][${h}][${t}action][${e}] {
|
|
195
|
+
box-shadow:
|
|
196
|
+
0 0 0 2px var(--highlight-globals),
|
|
197
|
+
0 0 0 4px var(--highlight-entity),
|
|
198
|
+
0 0 0 6px var(--highlight-action),
|
|
199
|
+
0 0 0 8px var(--highlight-property) !important;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
.highlight-globals.highlight-entity.highlight-context.highlight-property
|
|
203
|
+
[${i}][${h}][${o}][${e}] {
|
|
204
|
+
box-shadow:
|
|
205
|
+
0 0 0 2px var(--highlight-globals),
|
|
206
|
+
0 0 0 4px var(--highlight-entity),
|
|
207
|
+
0 0 0 6px var(--highlight-context),
|
|
208
|
+
0 0 0 8px var(--highlight-property) !important;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.highlight-globals.highlight-action.highlight-context.highlight-property
|
|
212
|
+
[${i}][${t}action][${o}][${e}] {
|
|
213
|
+
box-shadow:
|
|
214
|
+
0 0 0 2px var(--highlight-globals),
|
|
215
|
+
0 0 0 4px var(--highlight-action),
|
|
216
|
+
0 0 0 6px var(--highlight-context),
|
|
217
|
+
0 0 0 8px var(--highlight-property) !important;
|
|
218
|
+
}
|
|
219
|
+
|
|
106
220
|
/* Quadruple combination */
|
|
107
221
|
.highlight-entity.highlight-action.highlight-context.highlight-property
|
|
108
|
-
[
|
|
222
|
+
[${h}][${t}action][${o}][${e}] {
|
|
109
223
|
box-shadow:
|
|
110
224
|
0 0 0 2px var(--highlight-action),
|
|
111
225
|
0 0 0 4px var(--highlight-entity),
|
|
112
226
|
0 0 0 6px var(--highlight-context),
|
|
113
227
|
0 0 0 8px var(--highlight-property) !important;
|
|
114
228
|
}
|
|
115
|
-
|
|
229
|
+
|
|
230
|
+
/* Quintuple combination with all attributes */
|
|
231
|
+
.highlight-globals.highlight-entity.highlight-action.highlight-context.highlight-property
|
|
232
|
+
[${i}][${h}][${t}action][${o}][${e}] {
|
|
233
|
+
box-shadow:
|
|
234
|
+
0 0 0 2px var(--highlight-globals),
|
|
235
|
+
0 0 0 4px var(--highlight-entity),
|
|
236
|
+
0 0 0 6px var(--highlight-action),
|
|
237
|
+
0 0 0 8px var(--highlight-context),
|
|
238
|
+
0 0 0 10px var(--highlight-property) !important;
|
|
239
|
+
}
|
|
240
|
+
`},T=(t,i="data-elb")=>{let o=t.querySelector("#walkeros-highlighting");o&&o.remove();let h=t.createElement("style");h.id="walkeros-highlighting";let e=H(i);h.textContent=e,t.head.appendChild(h);};var U=(t,i="data-elb")=>{let o=b();o&&(o.classList.remove("highlight-context"),o.classList.remove("highlight-entity"),o.classList.remove("highlight-property"),o.classList.remove("highlight-action"),o.classList.remove("highlight-globals"),t&&(d(o,i),t.context&&o.classList.add("highlight-context"),t.entity&&o.classList.add("highlight-entity"),t.property&&o.classList.add("highlight-property"),t.action&&o.classList.add("highlight-action"),t.globals&&o.classList.add("highlight-globals")));},E=(t,i="data-elb")=>{let o=w();T(o,i),U(t,i);};var m=previewApi.addons.getChannel(),L=null;m.addListener(c.REQUEST,t=>{let i=b();if(!i){m.emit(c.RESULT,[]);return}d(i,t.prefix||"data-elb");let o=webSourceBrowser.getAllEvents(i,t.prefix),h=webSourceBrowser.getGlobals(t.prefix||"data-elb",i),e=o.map(l=>Object.keys(h).length>0?{...l,globals:h}:l);m.emit(c.RESULT,e);});m.addListener(c.HIGHLIGHT,t=>{E(t.highlights,t.prefix);});m.addListener(c.ATTRIBUTES_REQUEST,t=>{let i=b();if(!i){m.emit(c.ATTRIBUTES_RESULT,[]);return}let o=A(i,t.prefix||"data-elb");m.emit(c.ATTRIBUTES_RESULT,o);});var R=(t,i)=>{var x;let o=i.id,h=L!==o,{parameters:e}=i,l=(x=e==null?void 0:e[g])==null?void 0:x.autoRefresh;h&&(L=o);let p=t();return setTimeout(()=>{var r;let y=((r=e==null?void 0:e[g])==null?void 0:r.prefix)||"data-elb";S({prefix:y,autoRefresh:l}).catch(n=>{console.error("Walker initialization failed:",n);});let v=b();v&&(E(void 0,y),d(v,y)),h&&l&&window.__storybookElb&&window.__storybookElb("walker run");},200),p};var q={decorators:[R],parameters:{[g]:{autoRefresh:true,prefix:"data-elb"}}},dt=q;module.exports=dt;//# sourceMappingURL=preview.cjs.map
|
|
116
241
|
//# sourceMappingURL=preview.cjs.map
|