@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.
@@ -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 r="walkerOS";var a={RESULT:`${r}/result`,REQUEST:`${r}/request`,HIGHLIGHT:`${r}/highlight`,LIVE_EVENT:`${r}/live-event`};var S={type:"console",push:(t,e)=>{console.log("Storybook Event:",t);},config:{}},k={type:"live",push:(t,e)=>{let o=previewApi.addons.getChannel();o&&o.emit(a.LIVE_EVENT,t);},config:{}};function D(){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 y(){if(!window.walker)try{let{document:t,window:e}=D();if(!t){console.warn("Document not available, skipping walkerOS initialization");return}let o=await collector.createCollector({run:!0,consent:{functional:!0},sources:{browser:{code:webSourceBrowser.sourceBrowser,config:{settings:{pageview:!0,session:!1,elb:"elb",prefix:"data-elb",scope:t.body||t}},env:{window:e,document:t}}},destinations:{console:{code:S},live:{code:k}}}),{collector:i,elb:n}=o;if(!i)throw new Error("Collector creation failed - no collector returned");window.walker=i,window.elb=n;}catch(t){console.error("Failed to initialize walkerOS:",t);}}var g=previewApi.addons.getChannel(),c=null,m=null,b=()=>{let t=document.querySelector("#storybook-preview-iframe");return t!=null&&t.contentDocument?t.contentDocument:document},s=()=>{let t=b(),e=["#storybook-root","#root",'[data-testid="storybook-root"]',"body"];for(let o of e){let i=t.querySelector(o);if(i)return i}return t.body},x=()=>{let t=b(),e=t.querySelector("#walkeros-highlighting");e&&e.remove(),c=t.createElement("style"),c.id="walkeros-highlighting",c.textContent=`
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 [data-elbglobals] {
18
+ .highlight-globals [${i}] {
16
19
  box-shadow: 0 0 0 2px var(--highlight-globals) !important;
17
20
  }
18
21
 
19
- .highlight-context [data-elbcontext] {
22
+ .highlight-context [${o}] {
20
23
  box-shadow: 0 0 0 2px var(--highlight-context) !important;
21
24
  }
22
25
 
23
- .highlight-entity [data-elb] {
26
+ .highlight-entity [${h}] {
24
27
  box-shadow: 0 0 0 2px var(--highlight-entity) !important;
25
28
  }
26
29
 
27
- .highlight-property [data-elbproperty] {
30
+ .highlight-property [${e}] {
28
31
  box-shadow: 0 0 0 2px var(--highlight-property) !important;
29
32
  }
30
33
 
31
- .highlight-action [data-elbaction] {
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 [data-elb][data-elbaction] {
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 [data-elb][data-elbcontext] {
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 [data-elb][data-elbproperty] {
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 [data-elbaction][data-elbcontext] {
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 [data-elbcontext][data-elbproperty] {
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 [data-elbaction][data-elbproperty] {
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
- [data-elb][data-elbaction][data-elbcontext] {
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
- [data-elb][data-elbaction][data-elbproperty] {
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
- [data-elb][data-elbcontext][data-elbproperty] {
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
- [data-elbaction][data-elbcontext][data-elbproperty] {
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
- [data-elb][data-elbaction][data-elbcontext][data-elbproperty] {
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
- `,t.head.appendChild(c);},p=(t="data-elb")=>{let e=s();if(!e)return;Array.from(e.querySelectorAll("*")).forEach(i=>{let n=Array.from(i.attributes),l=false;n.forEach(h=>{h.name.startsWith(`${t}-`)&&h.name!==`${t}action`&&h.name!==`${t}context`&&h.name!==`${t}globals`&&(l=true);}),l&&i.setAttribute("data-elbproperty","");});},C=t=>{let e=s();e&&(e.classList.remove("highlight-context"),e.classList.remove("highlight-entity"),e.classList.remove("highlight-property"),e.classList.remove("highlight-action"),t&&(p(),t.context&&e.classList.add("highlight-context"),t.entity&&e.classList.add("highlight-entity"),t.property&&e.classList.add("highlight-property"),t.action&&e.classList.add("highlight-action")));};g.addListener(a.REQUEST,t=>{let e=s();if(!e){g.emit(a.RESULT,[]);return}p(t.prefix||"data-elb");let o=webSourceBrowser.getAllEvents(e,t.prefix);g.emit(a.RESULT,o);});g.addListener(a.HIGHLIGHT,t=>{x(),C(t.highlights);});var u=(t,e)=>{var d;e.canvasElement;let o=e.id,i=m!==o,n=e.globals,l=(d=n==null?void 0:n.walkerOS)==null?void 0:d.autoRefresh;i&&(m=o);let h=t();return setTimeout(()=>{y().catch(f=>{console.error("Walker initialization failed:",f);}),x(),p(),i&&l&&window.elb&&window.elb("walker run");},200),h};var O={decorators:[u],globalTypes:{[r]:{description:"walkerOS addon configuration",defaultValue:{autoRefresh:true,prefix:"data-elb",highlights:{context:false,entity:false,property:false,action:false}}}},initialGlobals:{[r]:{autoRefresh:true,prefix:"data-elb",highlights:{context:false,entity:false,property:false,action:false}}}},j=O;module.exports=j;//# sourceMappingURL=preview.cjs.map
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