@redvars/peacock 3.9.0 → 3.9.1

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.
Files changed (83) hide show
  1. package/dist/code-highlighter.js +1 -4
  2. package/dist/code-highlighter.js.map +1 -1
  3. package/dist/custom-elements-jsdocs.json +39 -223
  4. package/dist/custom-elements.json +391 -2205
  5. package/dist/elevation.js +55 -2
  6. package/dist/elevation.js.map +1 -1
  7. package/dist/flow.js +762 -0
  8. package/dist/flow.js.map +1 -0
  9. package/dist/index.js +1 -3
  10. package/dist/index.js.map +1 -1
  11. package/dist/loader.js +2 -9
  12. package/dist/loader.js.map +1 -1
  13. package/dist/menu-item.js +144 -63
  14. package/dist/menu-item.js.map +1 -1
  15. package/dist/menu.js +161 -73
  16. package/dist/menu.js.map +1 -1
  17. package/dist/src/flow/flow.d.ts +102 -0
  18. package/dist/src/flow/index.d.ts +2 -0
  19. package/dist/src/index.d.ts +2 -4
  20. package/dist/src/menu/menu/menu.d.ts +10 -9
  21. package/dist/src/menu/menu-item/menu-item.d.ts +1 -3
  22. package/dist/src/timeline/timeline.d.ts +0 -1
  23. package/dist/sub-menu.js +28 -1
  24. package/dist/sub-menu.js.map +1 -1
  25. package/dist/timeline-item.js +22 -34
  26. package/dist/timeline-item.js.map +1 -1
  27. package/dist/timeline.js +1 -18
  28. package/dist/timeline.js.map +1 -1
  29. package/dist/tsconfig.tsbuildinfo +1 -1
  30. package/package.json +3 -2
  31. package/readme.md +2 -2
  32. package/src/code-highlighter/code-highlighter.scss +1 -7
  33. package/src/elevation/demo/index.html +52 -0
  34. package/src/elevation/elevation.scss +52 -5
  35. package/src/elevation/elevation.ts +8 -1
  36. package/src/flow/flow.scss +195 -0
  37. package/src/flow/flow.ts +683 -0
  38. package/src/flow/index.ts +2 -0
  39. package/src/index.ts +2 -16
  40. package/src/loader.ts +2 -9
  41. package/src/menu/menu/copy-component-files.mjs +47 -0
  42. package/src/menu/menu/menu.scss +55 -17
  43. package/src/menu/menu/menu.ts +155 -84
  44. package/src/menu/menu-item/menu-item-colors.scss +3 -3
  45. package/src/menu/menu-item/menu-item.scss +118 -24
  46. package/src/menu/menu-item/menu-item.ts +61 -55
  47. package/src/menu/sub-menu/sub-menu.scss +30 -1
  48. package/src/timeline/timeline-item.scss +21 -31
  49. package/src/timeline/timeline-item.ts +2 -1
  50. package/src/timeline/timeline.scss +0 -10
  51. package/src/timeline/timeline.ts +0 -2
  52. package/dist/canvas.js +0 -385
  53. package/dist/canvas.js.map +0 -1
  54. package/dist/flow-designer-node-CGSm6cUH.js +0 -553
  55. package/dist/flow-designer-node-CGSm6cUH.js.map +0 -1
  56. package/dist/flow-designer-node.js +0 -4
  57. package/dist/flow-designer-node.js.map +0 -1
  58. package/dist/flow-designer.js +0 -1417
  59. package/dist/flow-designer.js.map +0 -1
  60. package/dist/src/canvas/canvas.d.ts +0 -92
  61. package/dist/src/canvas/index.d.ts +0 -2
  62. package/dist/src/flow-designer/commands.d.ts +0 -66
  63. package/dist/src/flow-designer/flow-designer-node.d.ts +0 -46
  64. package/dist/src/flow-designer/flow-designer.d.ts +0 -133
  65. package/dist/src/flow-designer/index.d.ts +0 -7
  66. package/dist/src/flow-designer/layout.d.ts +0 -30
  67. package/dist/src/flow-designer/types.d.ts +0 -142
  68. package/dist/src/flow-designer/validation.d.ts +0 -43
  69. package/dist/src/flow-designer/workflow-utils.d.ts +0 -40
  70. package/src/canvas/canvas.scss +0 -72
  71. package/src/canvas/canvas.ts +0 -413
  72. package/src/canvas/index.ts +0 -2
  73. package/src/flow-designer/DEMO.md +0 -239
  74. package/src/flow-designer/commands.ts +0 -278
  75. package/src/flow-designer/flow-designer-node.ts +0 -172
  76. package/src/flow-designer/flow-designer.scss +0 -457
  77. package/src/flow-designer/flow-designer.ts +0 -611
  78. package/src/flow-designer/index.ts +0 -41
  79. package/src/flow-designer/layout.ts +0 -357
  80. package/src/flow-designer/types.ts +0 -166
  81. package/src/flow-designer/validation.ts +0 -284
  82. package/src/flow-designer/workflow-utils.ts +0 -282
  83. /package/dist/test/{flow-designer.test.d.ts → elevation.test.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flow.js","sources":["../../src/flow/flow.ts"],"sourcesContent":["import { html, LitElement, nothing, svg } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { classMap } from \"lit/directives/class-map.js\";\nimport IndividualComponent from \"@/IndividualComponent.js\";\nimport styles from \"./flow.scss\";\n\nexport type FlowDirection = \"up\" | \"down\" | \"left\" | \"right\";\n\nexport type FlowStrokeVariant = \"solid\" | \"dashed\" | \"animated-dashed\";\n\nexport interface FlowPoint {\n x: number;\n y: number;\n}\n\nexport interface FlowPathSegment {\n direction: FlowDirection;\n length: number;\n}\n\nexport interface FlowNode {\n id: string;\n position: { x: number; y: number };\n inputs?: (\"top\" | \"left\" | \"bottom\" | \"right\")[];\n outputs?: (\"top\" | \"left\" | \"bottom\" | \"right\")[];\n data: {\n label?: string;\n element?: HTMLElement;\n [key: string]: any;\n } | HTMLElement;\n}\n\nexport interface FlowEdge {\n id: string;\n source: string;\n target: string;\n sourceHandle?: \"top\" | \"left\" | \"bottom\" | \"right\";\n targetHandle?: \"top\" | \"left\" | \"bottom\" | \"right\";\n type?: \"smoothstep\" | \"bezier\" | \"straight\";\n variant?: FlowStrokeVariant;\n label?: string;\n color?: string;\n}\n\n/**\n * @label Flow\n * @tag wc-flow\n * @rawTag flow\n * @summary An interactive node editor canvas with draggable nodes, custom HTML element rendering, and mouse-based edge connection creation on a dotted grid.\n *\n * @example\n * ```html\n * <wc-flow id=\"my-flow\"></wc-flow>\n * <script>\n * const flow = document.getElementById('my-flow');\n * flow.nodes = [\n * { id: '1', position: { x: 50, y: 50 }, data: { label: 'Node 1' } },\n * { id: '2', position: { x: 250, y: 50 }, data: { label: 'Node 2' } }\n * ];\n * flow.edges = [\n * { id: 'e1-2', source: '1', target: '2' }\n * ];\n * </script>\n * ```\n *\n * @cssprop --flow-background - Background color for the canvas wrapper. Defaults to surface-container-low.\n * @cssprop --flow-dot-color - Color of the background grid dots. Defaults to outline-variant.\n * @cssprop --flow-line-color - Default stroke color for lines and connectors. Defaults to on-surface.\n * @cssprop --flow-hover-color - Stroke color on hover for clickable shapes. Defaults to primary.\n * @cssprop --flow-arrow-color - Stroke color for arrow markers. Defaults to on-surface.\n */\n@IndividualComponent\nexport class Flow extends LitElement {\n static styles = [styles];\n\n @property({ type: Array })\n nodes: FlowNode[] = [];\n\n @property({ type: Array })\n edges: FlowEdge[] = [];\n\n @property({ type: Number, reflect: true })\n zoom: number = 1;\n\n @property({ type: Number, reflect: true })\n padding: number = 50;\n\n // Node dimensions tracking\n private nodeDimensions = new Map<string, { width: number; height: number }>();\n\n // Drag node state\n @state()\n private draggingNodeId: string | null = null;\n private dragStartMouseX = 0;\n private dragStartMouseY = 0;\n private dragStartNodeX = 0;\n private dragStartNodeY = 0;\n\n // Connection drag state\n @state()\n private isDrawingConnection = false;\n @state()\n private draggingSourceId: string | null = null;\n @state()\n private draggingSourceHandle: \"top\" | \"left\" | \"bottom\" | \"right\" | null = null;\n @state()\n private connectionStartX = 0;\n @state()\n private connectionStartY = 0;\n @state()\n private currentMouseX = 0;\n @state()\n private currentMouseY = 0;\n\n protected updated() {\n let dimensionsChanged = false;\n this.shadowRoot?.querySelectorAll(\".flow-node\").forEach((el) => {\n const id = el.getAttribute(\"data-id\");\n if (id) {\n const current = this.nodeDimensions.get(id);\n const w = (el as HTMLElement).offsetWidth || 150;\n const h = (el as HTMLElement).offsetHeight || 70;\n if (!current || current.width !== w || current.height !== h) {\n this.nodeDimensions.set(id, { width: w, height: h });\n dimensionsChanged = true;\n }\n }\n });\n if (dimensionsChanged) {\n this.requestUpdate();\n }\n }\n\n // --- Node Dragging Handlers ---\n private onNodeMouseDown(event: MouseEvent, node: FlowNode) {\n const target = event.target as HTMLElement;\n if (\n target.closest(\".handle\") ||\n target.closest(\"button\") ||\n target.closest(\"input\") ||\n target.closest(\"a\")\n ) {\n return;\n }\n event.preventDefault();\n this.draggingNodeId = node.id;\n this.dragStartMouseX = event.clientX;\n this.dragStartMouseY = event.clientY;\n this.dragStartNodeX = node.position.x;\n this.dragStartNodeY = node.position.y;\n\n window.addEventListener(\"mousemove\", this.onNodeMouseMove);\n window.addEventListener(\"mouseup\", this.onNodeMouseUp);\n }\n\n private onNodeMouseMove = (event: MouseEvent) => {\n if (!this.draggingNodeId) return;\n const deltaX = (event.clientX - this.dragStartMouseX) / this.zoom;\n const deltaY = (event.clientY - this.dragStartMouseY) / this.zoom;\n\n const node = this.nodes.find((n) => n.id === this.draggingNodeId);\n if (node) {\n node.position = {\n x: this.dragStartNodeX + deltaX,\n y: this.dragStartNodeY + deltaY,\n };\n this.dispatchEvent(\n new CustomEvent(\"node-drag\", {\n detail: { id: node.id, position: node.position },\n bubbles: true,\n composed: true,\n }),\n );\n this.requestUpdate();\n }\n };\n\n private onNodeMouseUp = () => {\n this.draggingNodeId = null;\n window.removeEventListener(\"mousemove\", this.onNodeMouseMove);\n window.removeEventListener(\"mouseup\", this.onNodeMouseUp);\n };\n\n // --- Handle Helpers ---\n private getNodeInputs(node: FlowNode): (\"top\" | \"left\" | \"bottom\" | \"right\")[] {\n if (node.inputs && Array.isArray(node.inputs)) {\n return node.inputs;\n }\n if (node.data && typeof node.data === \"object\" && Array.isArray((node.data as any).inputs)) {\n return (node.data as any).inputs;\n }\n return [\"left\"];\n }\n\n private getNodeOutputs(node: FlowNode): (\"top\" | \"left\" | \"bottom\" | \"right\")[] {\n if (node.outputs && Array.isArray(node.outputs)) {\n return node.outputs;\n }\n if (node.data && typeof node.data === \"object\" && Array.isArray((node.data as any).outputs)) {\n return (node.data as any).outputs;\n }\n return [\"right\"];\n }\n\n private getHandleCoordinates(\n node: FlowNode,\n position: \"top\" | \"left\" | \"bottom\" | \"right\",\n dim: { width: number; height: number },\n ): FlowPoint {\n const x = node.position.x;\n const y = node.position.y;\n const w = dim.width;\n const h = dim.height;\n\n switch (position) {\n case \"top\":\n return { x: x + w / 2, y };\n case \"bottom\":\n return { x: x + w / 2, y: y + h };\n case \"left\":\n return { x, y: y + h / 2 };\n case \"right\":\n default:\n return { x: x + w, y: y + h / 2 };\n }\n }\n\n // --- Connection Dragging Handlers ---\n private onHandleMouseDown(\n event: MouseEvent,\n node: FlowNode,\n position: \"top\" | \"left\" | \"bottom\" | \"right\",\n ) {\n event.stopPropagation();\n event.preventDefault();\n\n const dim = this.nodeDimensions.get(node.id) || { width: 150, height: 70 };\n this.draggingSourceId = node.id;\n this.draggingSourceHandle = position;\n\n const coords = this.getHandleCoordinates(node, position, dim);\n this.connectionStartX = coords.x;\n this.connectionStartY = coords.y;\n\n this.isDrawingConnection = true;\n this.currentMouseX = this.connectionStartX;\n this.currentMouseY = this.connectionStartY;\n\n window.addEventListener(\"mousemove\", this.onConnectionMouseMove);\n window.addEventListener(\"mouseup\", this.onConnectionMouseUp);\n }\n\n private onConnectionMouseMove = (event: MouseEvent) => {\n if (!this.isDrawingConnection) return;\n\n const workspaceEl = this.shadowRoot?.querySelector(\".flow-workspace\");\n if (workspaceEl) {\n const rect = workspaceEl.getBoundingClientRect();\n const bounds = this.getBounds();\n const viewBoxX = bounds.minX - this.padding;\n const viewBoxY = bounds.minY - this.padding;\n\n this.currentMouseX = viewBoxX + (event.clientX - rect.left) / this.zoom;\n this.currentMouseY = viewBoxY + (event.clientY - rect.top) / this.zoom;\n this.requestUpdate();\n }\n };\n\n private onConnectionMouseUp = (event: MouseEvent) => {\n if (!this.isDrawingConnection) return;\n this.isDrawingConnection = false;\n\n window.removeEventListener(\"mousemove\", this.onConnectionMouseMove);\n window.removeEventListener(\"mouseup\", this.onConnectionMouseUp);\n\n const target = this.shadowRoot?.elementFromPoint(event.clientX, event.clientY);\n const inputHandle = target?.closest(\".handle-input\");\n if (inputHandle) {\n const targetNodeId = inputHandle.getAttribute(\"data-node-id\");\n const targetHandle = inputHandle.getAttribute(\"data-position\") as \"top\" | \"left\" | \"bottom\" | \"right\";\n if (targetNodeId && targetNodeId !== this.draggingSourceId) {\n this.dispatchEvent(\n new CustomEvent(\"connect\", {\n detail: {\n source: this.draggingSourceId,\n target: targetNodeId,\n sourceHandle: this.draggingSourceHandle,\n targetHandle: targetHandle,\n },\n bubbles: true,\n composed: true,\n }),\n );\n }\n }\n this.draggingSourceId = null;\n this.draggingSourceHandle = null;\n this.requestUpdate();\n };\n\n // --- Path Builders ---\n private getRoundedPath(points: FlowPoint[], radius = 12) {\n if (points.length < 3) {\n return points.map((p, i) => (i === 0 ? `M ${p.x} ${p.y}` : `L ${p.x} ${p.y}`)).join(\" \");\n }\n\n let path = `M ${points[0].x} ${points[0].y}`;\n\n for (let i = 1; i < points.length - 1; i++) {\n const prev = points[i - 1];\n const curr = points[i];\n const next = points[i + 1];\n\n const dxp = prev.x - curr.x;\n const dyp = prev.y - curr.y;\n const lenp = Math.hypot(dxp, dyp);\n\n const dxn = next.x - curr.x;\n const dyn = next.y - curr.y;\n const lenn = Math.hypot(dxn, dyn);\n\n if (lenp === 0 || lenn === 0) {\n path += ` L ${curr.x} ${curr.y}`;\n continue;\n }\n\n const r = Math.min(radius, lenp / 2, lenn / 2);\n\n if (r > 0) {\n const x1 = curr.x + (dxp / lenp) * r;\n const y1 = curr.y + (dyp / lenp) * r;\n const x2 = curr.x + (dxn / lenn) * r;\n const y2 = curr.y + (dyn / lenn) * r;\n\n path += ` L ${x1} ${y1} Q ${curr.x} ${curr.y} ${x2} ${y2}`;\n } else {\n path += ` L ${curr.x} ${curr.y}`;\n }\n }\n\n const last = points[points.length - 1];\n path += ` L ${last.x} ${last.y}`;\n return path;\n }\n\n private getSmoothStepPath(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n sourceHandle: \"top\" | \"left\" | \"bottom\" | \"right\" = \"right\",\n targetHandle: \"top\" | \"left\" | \"bottom\" | \"right\" = \"left\",\n ) {\n const isSourceHorizontal = sourceHandle === \"left\" || sourceHandle === \"right\";\n const isTargetHorizontal = targetHandle === \"left\" || targetHandle === \"right\";\n\n let points: FlowPoint[] = [];\n\n if (isSourceHorizontal && isTargetHorizontal) {\n const midX = x1 + (x2 - x1) / 2;\n points = [\n { x: x1, y: y1 },\n { x: midX, y: y1 },\n { x: midX, y: y2 },\n { x: x2, y: y2 },\n ];\n } else if (!isSourceHorizontal && !isTargetHorizontal) {\n const midY = y1 + (y2 - y1) / 2;\n points = [\n { x: x1, y: y1 },\n { x: x1, y: midY },\n { x: x2, y: midY },\n { x: x2, y: y2 },\n ];\n } else if (isSourceHorizontal && !isTargetHorizontal) {\n points = [\n { x: x1, y: y1 },\n { x: x2, y: y1 },\n { x: x2, y: y2 },\n ];\n } else {\n points = [\n { x: x1, y: y1 },\n { x: x1, y: y2 },\n { x: x2, y: y2 },\n ];\n }\n\n return this.getRoundedPath(points, 12);\n }\n\n private getBezierPath(\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n sourceHandle: \"top\" | \"left\" | \"bottom\" | \"right\" = \"right\",\n targetHandle: \"top\" | \"left\" | \"bottom\" | \"right\" = \"left\",\n ) {\n const normals = {\n left: { x: -1, y: 0 },\n right: { x: 1, y: 0 },\n top: { x: 0, y: -1 },\n bottom: { x: 0, y: 1 },\n };\n\n const sNormal = normals[sourceHandle] || { x: 1, y: 0 };\n const tNormal = normals[targetHandle] || { x: -1, y: 0 };\n\n const dx = x2 - x1;\n const dy = y2 - y1;\n const dist = Math.hypot(dx, dy);\n const offset = Math.max(dist / 2, 50);\n\n const cx1 = x1 + sNormal.x * offset;\n const cy1 = y1 + sNormal.y * offset;\n const cx2 = x2 + tNormal.x * offset;\n const cy2 = y2 + tNormal.y * offset;\n\n return `M ${x1} ${y1} C ${cx1} ${cy1}, ${cx2} ${cy2}, ${x2} ${y2}`;\n }\n\n private getStraightPath(x1: number, y1: number, x2: number, y2: number) {\n return `M ${x1} ${y1} L ${x2} ${y2}`;\n }\n\n private drawPath(\n sourceId: string,\n targetId: string,\n type?: \"smoothstep\" | \"bezier\" | \"straight\",\n sourceHandle?: \"top\" | \"left\" | \"bottom\" | \"right\",\n targetHandle?: \"top\" | \"left\" | \"bottom\" | \"right\",\n ) {\n const sourceNode = this.nodes.find((n) => n.id === sourceId);\n const targetNode = this.nodes.find((n) => n.id === targetId);\n if (!sourceNode || !targetNode) return \"\";\n\n const sDim = this.nodeDimensions.get(sourceId) || { width: 150, height: 70 };\n const tDim = this.nodeDimensions.get(targetId) || { width: 150, height: 70 };\n\n const sHandle = sourceHandle || this.getNodeOutputs(sourceNode)[0] || \"right\";\n const tHandle = targetHandle || this.getNodeInputs(targetNode)[0] || \"left\";\n\n const startCoords = this.getHandleCoordinates(sourceNode, sHandle, sDim);\n const endCoords = this.getHandleCoordinates(targetNode, tHandle, tDim);\n\n const edgeType = type || \"smoothstep\";\n if (edgeType === \"bezier\") {\n return this.getBezierPath(startCoords.x, startCoords.y, endCoords.x, endCoords.y, sHandle, tHandle);\n }\n if (edgeType === \"straight\") {\n return this.getStraightPath(startCoords.x, startCoords.y, endCoords.x, endCoords.y);\n }\n return this.getSmoothStepPath(startCoords.x, startCoords.y, endCoords.x, endCoords.y, sHandle, tHandle);\n }\n\n // --- Auto viewbox math ---\n private getBounds() {\n if (this.nodes.length === 0) {\n return { minX: 0, minY: 0, maxX: 400, maxY: 300 };\n }\n let minX = Infinity;\n let minY = Infinity;\n let maxX = -Infinity;\n let maxY = -Infinity;\n\n this.nodes.forEach((node) => {\n const dim = this.nodeDimensions.get(node.id) ||\n { width: 150, height: 70 };\n const x = node.position.x;\n const y = node.position.y;\n if (x < minX) minX = x;\n if (y < minY) minY = y;\n if (x + dim.width > maxX) maxX = x + dim.width;\n if (y + dim.height > maxY) maxY = y + dim.height;\n });\n\n return { minX, minY, maxX, maxY };\n }\n\n // --- Content Renderers ---\n private isCustomNode(node: FlowNode) {\n if (node.data instanceof HTMLElement) {\n return true;\n }\n if (\n node.data &&\n typeof node.data === \"object\" &&\n (node.data as any).element instanceof HTMLElement\n ) {\n return true;\n }\n return false;\n }\n\n private renderNodeContent(node: FlowNode) {\n if (node.data instanceof HTMLElement) {\n return node.data;\n }\n if (\n node.data &&\n typeof node.data === \"object\" &&\n (node.data as any).element instanceof HTMLElement\n ) {\n return (node.data as any).element;\n }\n const label = node.data && typeof node.data === \"object\"\n ? (node.data as any).label || node.id\n : String(node.data);\n return html`\n <div class=\"flow-node-default-card\">\n <div class=\"flow-node-title\">${label}</div>\n </div>\n `;\n }\n\n protected render() {\n const bounds = this.getBounds();\n const viewBoxX = bounds.minX - this.padding;\n const viewBoxY = bounds.minY - this.padding;\n const viewBoxWidth = bounds.maxX - bounds.minX + 2 * this.padding;\n const viewBoxHeight = bounds.maxY - bounds.minY + 2 * this.padding;\n\n const svgViewBox =\n `${viewBoxX} ${viewBoxY} ${viewBoxWidth} ${viewBoxHeight}`;\n\n return html`\n <div class=\"flow-container\">\n <div\n class=\"flow-scroller\"\n style=\"width: ${viewBoxWidth * this.zoom}px; height: ${viewBoxHeight * this.zoom}px; position: relative;\"\n >\n <div\n class=\"flow-workspace\"\n style=\"transform: scale(${this.zoom}); transform-origin: top left; width: ${viewBoxWidth}px; height: ${viewBoxHeight}px; position: absolute; left: 0; top: 0;\"\n >\n <!-- SVG canvas for rendering grid and paths -->\n <svg class=\"flow-svg\" viewBox=\"${svgViewBox}\">\n <defs>\n <pattern\n id=\"dot-grid\"\n width=\"20\"\n height=\"20\"\n patternUnits=\"userSpaceOnUse\"\n >\n <circle cx=\"1\" cy=\"1\" r=\"1\" />\n </pattern>\n <marker\n id=\"arrowhead\"\n markerWidth=\"8\"\n markerHeight=\"8\"\n refX=\"7\"\n refY=\"4\"\n orient=\"auto\"\n >\n <polygon\n points=\"0 0, 8 4, 0 8\"\n fill=\"var(--flow-line-color, var(--color-outline))\"\n />\n </marker>\n </defs>\n\n <!-- Background Grid -->\n <rect\n x=\"${viewBoxX}\"\n y=\"${viewBoxY}\"\n width=\"${viewBoxWidth}\"\n height=\"${viewBoxHeight}\"\n fill=\"url(#dot-grid)\"\n />\n\n <!-- Connection Edges -->\n ${this.edges.map((edge) => {\n const pathString = this.drawPath(\n edge.source,\n edge.target,\n edge.type,\n edge.sourceHandle,\n edge.targetHandle,\n );\n const color = edge.color ||\n \"var(--flow-line-color, var(--color-outline))\";\n const variant = edge.variant || \"solid\";\n return svg`\n <path\n class=\"${classMap({\n \"flow-edge\": true,\n \"variant-dashed\": variant === \"dashed\" ||\n variant === \"animated-dashed\",\n \"variant-animated-dashed\": variant === \"animated-dashed\",\n })}\"\n d=\"${pathString}\"\n stroke=\"${color}\"\n fill=\"none\"\n stroke-width=\"2\"\n marker-end=\"url(#arrowhead)\"\n />\n `;\n })}\n\n <!-- Connection Draft line preview -->\n ${this.isDrawingConnection && this.draggingSourceHandle\n ? svg`\n <path\n class=\"flow-edge-preview\"\n d=\"${this.getBezierPath(\n this.connectionStartX,\n this.connectionStartY,\n this.currentMouseX,\n this.currentMouseY,\n this.draggingSourceHandle,\n ({\n left: \"right\",\n right: \"left\",\n top: \"bottom\",\n bottom: \"top\",\n })[this.draggingSourceHandle] as any\n )}\"\n stroke=\"var(--flow-hover-color, var(--color-primary))\"\n fill=\"none\"\n stroke-width=\"2\"\n stroke-dasharray=\"4 4\"\n />\n `\n : nothing}\n </svg>\n\n <!-- Nodes Workspace -->\n <div\n class=\"flow-nodes\"\n style=\"position: absolute; left: ${-viewBoxX}px; top: ${-viewBoxY}px;\"\n >\n ${this.nodes.map((node) => {\n const inputs = this.getNodeInputs(node);\n const outputs = this.getNodeOutputs(node);\n return html`\n <div\n class=\"${classMap({\n \"flow-node\": true,\n \"flow-node-custom\": this.isCustomNode(node),\n })}\"\n data-id=\"${node.id}\"\n style=\"position: absolute; left: ${node.position\n .x}px; top: ${node.position.y}px;\"\n @mousedown=\"${(e: MouseEvent) =>\n this.onNodeMouseDown(e, node)}\"\n >\n <!-- Input connection handles -->\n ${inputs.map((pos) => html`\n <div\n class=\"handle handle-input handle-position-${pos}\"\n data-node-id=\"${node.id}\"\n data-position=\"${pos}\"\n >\n </div>\n `)}\n\n <!-- Node Inner Content -->\n <div class=\"flow-node-content\">\n ${this.renderNodeContent(node)}\n </div>\n\n <!-- Output connection handles -->\n ${outputs.map((pos) => html`\n <div\n class=\"handle handle-output handle-position-${pos}\"\n data-node-id=\"${node.id}\"\n data-position=\"${pos}\"\n @mousedown=\"${(e: MouseEvent) =>\n this.onHandleMouseDown(e, node, pos)}\"\n >\n </div>\n `)}\n </div>\n `;\n })}\n </div>\n </div>\n </div>\n </div>\n `;\n }\n}\n"],"names":["LitElement","html","svg","classMap","nothing","styles","property","state"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -75,9 +75,7 @@ export { NavigationRailItem } from './navigation-rail-item.js';
75
75
  export { Calendar } from './calendar.js';
76
76
  export { CalendarColumnView } from './calendar-column-view.js';
77
77
  export { CalendarMonthView } from './calendar-month-view.js';
78
- export { Canvas } from './canvas.js';
79
- export { FlowDesigner } from './flow-designer.js';
80
- export { F as FlowDesignerNode } from './flow-designer-node-CGSm6cUH.js';
78
+ export { Flow } from './flow.js';
81
79
  export { ConditionBuilder } from './condition-builder.js';
82
80
  export { CbPredicate } from './cb-predicate.js';
83
81
  export { CbCompoundExpression } from './cb-compound-expression.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
package/dist/loader.js CHANGED
@@ -490,15 +490,8 @@ const loaderConfig = {
490
490
  'wc-calendar-month-view': {
491
491
  importPath: `${distDirectory}/calendar-month-view.js`,
492
492
  },
493
- 'wc-canvas': {
494
- importPath: `${distDirectory}/canvas.js`,
495
- },
496
- 'wc-flow-designer': {
497
- importPath: `${distDirectory}/flow-designer.js`,
498
- dependencies: ['wc-flow-designer-node'],
499
- },
500
- 'wc-flow-designer-node': {
501
- importPath: `${distDirectory}/flow-designer-node.js`,
493
+ 'wc-flow': {
494
+ importPath: `${distDirectory}/flow.js`,
502
495
  },
503
496
  'wc-chart-doughnut': {
504
497
  importPath: `${distDirectory}/chart-doughnut.js`,
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","import { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\n\n// Eager loaded\nimport { Elevation } from '@/elevation/elevation.js';\nimport { FocusRing } from '@/focus-ring/focus-ring.js';\nimport { Ripple } from '@/ripple/ripple.js';\nimport { Icon } from '@/icon/icon.js';\nimport { Avatar } from '@/avatar/avatar.js';\nimport { Badge } from '@/badge/badge.js';\nimport { Divider } from '@/divider/divider.js';\nimport { Button } from '@/button/button/button.js';\nimport ButtonGroup from '@/button/button-group/button-group.js';\nimport { IconButton } from '@/button/icon-button/icon-button.js';\nimport { Fab } from '@/button/fab/fab.js';\nimport { SegmentedButton } from '@/segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from '@/segmented-button/segmented-button-group.js';\nimport { SplitButton } from '@/split-button/split-button.js';\nimport { DropdownButton } from '@/dropdown-button/dropdown-button.js';\nimport { Input } from '@/input/input.js';\nimport { UrlField } from '@/url-field/url-field.js';\nimport { Field } from '@/field/field.js';\nimport { NumberField } from '@/number-field/number-field.js';\nimport { DatePicker } from '@/date-picker/date-picker.js';\nimport { TimePicker } from '@/time-picker/time-picker.js';\nimport { Textarea } from '@/textarea/textarea.js';\nimport { Switch } from '@/switch/switch.js';\nimport { Checkbox } from '@/checkbox/checkbox.js';\nimport { Radio } from '@/radio/radio.js';\n\nimport { Menu } from '@/menu/menu/menu.js';\nimport { MenuItem } from '@/menu/menu-item/menu-item.js';\nimport { SubMenu } from '@/menu/sub-menu/sub-menu.js';\nimport { Item } from '@/item/item.js';\nimport { List } from '@/list/list.js';\nimport { ListItem } from '@/list/list-item.js';\nimport { Timeline } from '@/timeline/timeline.js';\nimport { TimelineItem } from '@/timeline/timeline-item.js';\n\nimport { Accordion } from '@/accordion/accordion.js';\nimport { Link } from '@/link/link.js';\nimport { Tag } from '@/chip/tag/tag.js';\nimport { Chip } from '@/chip/chip/chip.js';\nimport { ChipSet } from '@/chip/chip-set/chip-set.js';\nimport { LinearProgress } from '@/progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from '@/progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from '@/tooltip/tooltip.js';\nimport { Popover } from '@/popover/popover.js';\nimport { PopoverContent } from '@/popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from '@/breadcrumb/index.js';\n\nimport { Skeleton } from '@/skeleton/skeleton.js';\nimport { Spinner } from '@/spinner/spinner.js';\n\nimport { EmptyState } from '@/empty-state/empty-state.js';\nimport { Container } from '@/container/container.js';\nimport { Image } from '@/image/image.js';\nimport { Svg } from '@/svg/svg.js';\n\nimport { TabGroup } from '@/tabs/tab-group.js';\nimport { Tabs } from '@/tabs/tabs.js';\nimport { Tab } from '@/tabs/tab.js';\nimport { TabPanel } from '@/tabs/tab-panel.js';\nimport { Slider } from '@/slider/slider.js';\nimport { ColorPicker } from '@/color-picker/color-picker.js';\nimport { Table } from '@/table/table.js';\nimport { Pagination } from '@/pagination/pagination.js';\nimport { SidebarMenu } from '@/sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from '@/sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from '@/sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from '@/card/card.js';\nimport { CardContent } from '@/card/card-content.js';\nimport { Alert } from '@/alert/alert.js';\nimport { Notification } from '@/notification/notification.js';\nimport { NotificationManager } from '@/notification-manager/notification-manager.js';\nimport { Snackbar } from '@/snackbar/snackbar.js';\nimport { BottomSheet } from '@/bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from '@/side-sheet/side-sheet.js';\nimport { Modal } from '@/modal/modal.js';\nimport { Select } from '@/select/select.js';\nimport { SelectOptionElement } from '@/select/option.js';\nimport { Search } from '@/search/search.js';\nimport { Toolbar } from '@/toolbar/toolbar.js';\nimport { AppBar } from '@/app-bar/app-bar.js';\nimport { NavigationRail } from '@/navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from '@/navigation-rail/navigation-rail-item.js';\n\nconst distDirectory = `${import.meta.url}/..`;\n\nconst url = new URL(import.meta.url);\nconst params = url.searchParams;\n\n// Example: accessing app.js?theme=dark&user=123\nconst includeStyles = params.has('styles');\n\nif (includeStyles) {\n await loadCSS(`${distDirectory}/assets/styles.css`);\n}\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-chip-set': {\n CustomElementClass: ChipSet,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-alert': {\n CustomElementClass: Alert,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-markdown-editor': {\n importPath: `${distDirectory}/markdown-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-list': {\n CustomElementClass: List,\n },\n 'wc-list-item': {\n CustomElementClass: ListItem,\n },\n 'wc-timeline': {\n CustomElementClass: Timeline,\n },\n 'wc-timeline-item': {\n CustomElementClass: TimelineItem,\n },\n 'wc-item': {\n CustomElementClass: Item,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-svg': {\n CustomElementClass: Svg,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-color-picker': {\n CustomElementClass: ColorPicker,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-app-bar': {\n CustomElementClass: AppBar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n importPath: `${distDirectory}/calendar.js`,\n dependencies: ['wc-calendar-column-view', 'wc-calendar-month-view'],\n },\n 'wc-calendar-column-view': {\n importPath: `${distDirectory}/calendar-column-view.js`,\n },\n 'wc-calendar-month-view': {\n importPath: `${distDirectory}/calendar-month-view.js`,\n },\n 'wc-canvas': {\n importPath: `${distDirectory}/canvas.js`,\n },\n 'wc-flow-designer': {\n importPath: `${distDirectory}/flow-designer.js`,\n dependencies: ['wc-flow-designer-node'],\n },\n 'wc-flow-designer-node': {\n importPath: `${distDirectory}/flow-designer-node.js`,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n importPath: `${distDirectory}/condition-builder.js`,\n dependencies: [\n 'wc-cb-predicate',\n 'wc-cb-compound-expression',\n 'wc-cb-expression',\n 'wc-cb-divider',\n ],\n },\n 'wc-cb-predicate': {\n importPath: `${distDirectory}/cb-predicate.js`,\n },\n 'wc-cb-compound-expression': {\n importPath: `${distDirectory}/cb-compound-expression.js`,\n },\n 'wc-cb-expression': {\n importPath: `${distDirectory}/cb-expression.js`,\n },\n 'wc-cb-divider': {\n importPath: `${distDirectory}/cb-divider.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sources":["../../src/LoaderUtils.ts","../../src/CssLoader.ts","../../src/loader.ts"],"sourcesContent":["interface ComponentConfig {\n CustomElementClass?: any; // earger load\n importPath?: string; // lazy load\n dependencies?: string[];\n}\n\ninterface LoaderConfig {\n components?: Record<string, ComponentConfig>;\n}\n\nexport { LoaderConfig };\n\nexport class LoaderUtils {\n private _loaderConfig: LoaderConfig;\n\n private _observer: MutationObserver | undefined;\n\n constructor(loaderConfig: LoaderConfig) {\n this._loaderConfig = loaderConfig;\n }\n\n static registerComponent(tagName: string, CustomElementClass: any) {\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n }\n\n start() {\n this.eagerLoadComponents();\n this.lazyLoadComponents(document);\n }\n\n eagerLoadComponents() {\n if (!this._loaderConfig.components) return;\n for (const [name, value] of Object.entries(this._loaderConfig.components)) {\n if (value.CustomElementClass)\n LoaderUtils.registerComponent(name, value.CustomElementClass);\n }\n }\n\n async registerAsync(tagName: string): Promise<void> {\n if (customElements.get(tagName)) return;\n\n if (!this._loaderConfig.components) return;\n\n const config = this._loaderConfig.components[tagName];\n if (!config || !config.importPath) return;\n\n try {\n const module = await import(config.importPath);\n\n // Runtime definition: grabbing the class from the module\n const CustomElementClass =\n module.default || module[Object.keys(module)[0]];\n\n if (CustomElementClass && !customElements.get(tagName)) {\n customElements.define(tagName, CustomElementClass);\n }\n\n // Handle dependencies recursively\n if (config.dependencies) {\n for (const dep of config.dependencies) {\n // eslint-disable-next-line no-await-in-loop\n await this.registerAsync(dep);\n }\n }\n } catch (error) {\n console.error(\n `Unable to load <${tagName}> from ${config.importPath}`,\n error,\n );\n }\n }\n\n async load(root: Element | Document): Promise<void> {\n const rootTagName =\n root instanceof Element ? root.tagName.toLowerCase() : '';\n\n const tags = Array.from(root.querySelectorAll(':not(:defined)')).map(el =>\n el.tagName.toLowerCase(),\n );\n\n if (rootTagName.includes('-') && !customElements.get(rootTagName)) {\n tags.push(rootTagName);\n }\n\n const tagsToRegister = [...new Set(tags)];\n await Promise.allSettled(\n tagsToRegister.map(tagName => this.registerAsync(tagName)),\n );\n }\n\n lazyLoadComponents(root: any) {\n this._observer = new MutationObserver(mutations => {\n for (const { addedNodes } of mutations) {\n for (const node of addedNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n this.load(node as Element);\n }\n }\n }\n });\n\n const target = root instanceof Document ? root.documentElement : root;\n this.load(target);\n\n this._observer.observe(target, {\n subtree: true,\n childList: true,\n });\n }\n}\n","const sheetCache = new Map<string, CSSStyleSheet>();\n\nasync function loadCSS(\n url: string,\n options: any = {}\n): Promise<CSSStyleSheet> {\n const {\n priority = \"high\",\n cache = \"force-cache\",\n media = \"all\",\n } = options;\n\n // Return cached sheet immediately\n if (sheetCache.has(url)) {\n const cached = sheetCache.get(url)!;\n if (!document.adoptedStyleSheets.includes(cached)) {\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, cached];\n }\n return cached;\n }\n\n const response = await fetch(url, {\n cache,\n priority,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to load CSS [${response.status}]: ${url}`);\n }\n\n const css = await response.text();\n const sheet = new CSSStyleSheet({ media });\n\n sheet.replaceSync(css);\n sheetCache.set(url, sheet);\n document.adoptedStyleSheets = [...document.adoptedStyleSheets, sheet];\n\n return sheet;\n}\n\nasync function loadMultipleCSS(\n urls: string[],\n options: any = {}\n): Promise<CSSStyleSheet[]> {\n return Promise.all(urls.map((url) => loadCSS(url, options)));\n}\n\nfunction unloadCSS(url: string): boolean {\n const sheet = sheetCache.get(url);\n if (!sheet) return false;\n\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => s !== sheet\n );\n sheetCache.delete(url);\n return true;\n}\n\nfunction clearAllCSS(): void {\n document.adoptedStyleSheets = document.adoptedStyleSheets.filter(\n (s) => ![...sheetCache.values()].includes(s)\n );\n sheetCache.clear();\n}\n\nexport { loadCSS, loadMultipleCSS, unloadCSS, clearAllCSS };","import { LoaderConfig, LoaderUtils } from './LoaderUtils.js';\nimport { loadCSS } from './CssLoader.js';\n\n// Eager loaded\nimport { Elevation } from '@/elevation/elevation.js';\nimport { FocusRing } from '@/focus-ring/focus-ring.js';\nimport { Ripple } from '@/ripple/ripple.js';\nimport { Icon } from '@/icon/icon.js';\nimport { Avatar } from '@/avatar/avatar.js';\nimport { Badge } from '@/badge/badge.js';\nimport { Divider } from '@/divider/divider.js';\nimport { Button } from '@/button/button/button.js';\nimport ButtonGroup from '@/button/button-group/button-group.js';\nimport { IconButton } from '@/button/icon-button/icon-button.js';\nimport { Fab } from '@/button/fab/fab.js';\nimport { SegmentedButton } from '@/segmented-button/segmented-button.js';\nimport { SegmentedButtonGroup } from '@/segmented-button/segmented-button-group.js';\nimport { SplitButton } from '@/split-button/split-button.js';\nimport { DropdownButton } from '@/dropdown-button/dropdown-button.js';\nimport { Input } from '@/input/input.js';\nimport { UrlField } from '@/url-field/url-field.js';\nimport { Field } from '@/field/field.js';\nimport { NumberField } from '@/number-field/number-field.js';\nimport { DatePicker } from '@/date-picker/date-picker.js';\nimport { TimePicker } from '@/time-picker/time-picker.js';\nimport { Textarea } from '@/textarea/textarea.js';\nimport { Switch } from '@/switch/switch.js';\nimport { Checkbox } from '@/checkbox/checkbox.js';\nimport { Radio } from '@/radio/radio.js';\n\nimport { Menu } from '@/menu/menu/menu.js';\nimport { MenuItem } from '@/menu/menu-item/menu-item.js';\nimport { SubMenu } from '@/menu/sub-menu/sub-menu.js';\nimport { Item } from '@/item/item.js';\nimport { List } from '@/list/list.js';\nimport { ListItem } from '@/list/list-item.js';\nimport { Timeline } from '@/timeline/timeline.js';\nimport { TimelineItem } from '@/timeline/timeline-item.js';\n\nimport { Accordion } from '@/accordion/accordion.js';\nimport { Link } from '@/link/link.js';\nimport { Tag } from '@/chip/tag/tag.js';\nimport { Chip } from '@/chip/chip/chip.js';\nimport { ChipSet } from '@/chip/chip-set/chip-set.js';\nimport { LinearProgress } from '@/progress/linear-progress/linear-progress.js';\nimport { CircularProgress } from '@/progress/circular-progress/circular-progress.js';\n\nimport { Tooltip } from '@/tooltip/tooltip.js';\nimport { Popover } from '@/popover/popover.js';\nimport { PopoverContent } from '@/popover/popover-content.js';\nimport { Breadcrumb, BreadcrumbItem } from '@/breadcrumb/index.js';\n\nimport { Skeleton } from '@/skeleton/skeleton.js';\nimport { Spinner } from '@/spinner/spinner.js';\n\nimport { EmptyState } from '@/empty-state/empty-state.js';\nimport { Container } from '@/container/container.js';\nimport { Image } from '@/image/image.js';\nimport { Svg } from '@/svg/svg.js';\n\nimport { TabGroup } from '@/tabs/tab-group.js';\nimport { Tabs } from '@/tabs/tabs.js';\nimport { Tab } from '@/tabs/tab.js';\nimport { TabPanel } from '@/tabs/tab-panel.js';\nimport { Slider } from '@/slider/slider.js';\nimport { ColorPicker } from '@/color-picker/color-picker.js';\nimport { Table } from '@/table/table.js';\nimport { Pagination } from '@/pagination/pagination.js';\nimport { SidebarMenu } from '@/sidebar-menu/sidebar-menu.js';\nimport { SidebarMenuItem } from '@/sidebar-menu/sidebar-menu-item.js';\nimport { SidebarSubMenu } from '@/sidebar-menu/sidebar-sub-menu.js';\nimport { Card } from '@/card/card.js';\nimport { CardContent } from '@/card/card-content.js';\nimport { Alert } from '@/alert/alert.js';\nimport { Notification } from '@/notification/notification.js';\nimport { NotificationManager } from '@/notification-manager/notification-manager.js';\nimport { Snackbar } from '@/snackbar/snackbar.js';\nimport { BottomSheet } from '@/bottom-sheet/bottom-sheet.js';\nimport { SideSheet } from '@/side-sheet/side-sheet.js';\nimport { Modal } from '@/modal/modal.js';\nimport { Select } from '@/select/select.js';\nimport { SelectOptionElement } from '@/select/option.js';\nimport { Search } from '@/search/search.js';\nimport { Toolbar } from '@/toolbar/toolbar.js';\nimport { AppBar } from '@/app-bar/app-bar.js';\nimport { NavigationRail } from '@/navigation-rail/navigation-rail.js';\nimport { NavigationRailItem } from '@/navigation-rail/navigation-rail-item.js';\n\nconst distDirectory = `${import.meta.url}/..`;\n\nconst url = new URL(import.meta.url);\nconst params = url.searchParams;\n\n// Example: accessing app.js?theme=dark&user=123\nconst includeStyles = params.has('styles');\n\nif (includeStyles) {\n await loadCSS(`${distDirectory}/assets/styles.css`);\n}\n\n/*\nimport tooltipStyles from './popover/tooltip.css-component.scss';\n\nfunction buildSheet(styleSheet: any) {\n const sheet = new CSSStyleSheet();\n // Add rules\n sheet.replaceSync(styleSheet.toString());\n return sheet;\n}\n\nconst styleSheets = [\n// buildSheet(cssComponentsStyleSheet),\n// buildSheet(linkStyles),\n// buildSheet(textStylesheet),\n buildSheet(tooltipStyles),\n];\n\ndocument.adoptedStyleSheets = styleSheets;\n*/\n\nconst loaderConfig: LoaderConfig = {\n components: {\n 'wc-icon': {\n CustomElementClass: Icon,\n // importPath: './component/icon.js', - for lazy load give path instead of CustomElementClass\n },\n 'wc-focus-ring': {\n CustomElementClass: FocusRing,\n },\n 'wc-avatar': {\n CustomElementClass: Avatar,\n },\n 'wc-badge': {\n CustomElementClass: Badge,\n },\n 'wc-button': {\n CustomElementClass: Button,\n },\n 'wc-icon-button': {\n CustomElementClass: IconButton,\n },\n 'wc-fab': {\n CustomElementClass: Fab,\n },\n 'wc-button-group': {\n CustomElementClass: ButtonGroup,\n },\n 'wc-segmented-button': {\n CustomElementClass: SegmentedButton,\n },\n 'wc-segmented-button-group': {\n CustomElementClass: SegmentedButtonGroup,\n },\n 'wc-split-button': {\n CustomElementClass: SplitButton,\n },\n 'wc-dropdown-button': {\n CustomElementClass: DropdownButton,\n },\n 'wc-divider': {\n CustomElementClass: Divider,\n },\n 'wc-elevation': {\n CustomElementClass: Elevation,\n },\n 'wc-clock': {\n importPath: `${distDirectory}/clock.js`,\n },\n 'wc-ripple': {\n CustomElementClass: Ripple,\n },\n 'wc-accordion': {\n CustomElementClass: Accordion,\n },\n 'wc-accordion-item': {\n CustomElementClass: Accordion.Item,\n },\n 'wc-tabs': {\n CustomElementClass: Tabs,\n },\n 'wc-tab-group': {\n CustomElementClass: TabGroup,\n },\n 'wc-tab': {\n CustomElementClass: Tab,\n },\n 'wc-tab-panel': {\n CustomElementClass: TabPanel,\n },\n 'wc-link': {\n CustomElementClass: Link,\n },\n 'wc-chip': {\n CustomElementClass: Chip,\n },\n 'wc-chip-set': {\n CustomElementClass: ChipSet,\n },\n 'wc-card': {\n CustomElementClass: Card,\n },\n 'wc-card-content': {\n CustomElementClass: CardContent,\n },\n 'wc-alert': {\n CustomElementClass: Alert,\n },\n 'wc-notification': {\n CustomElementClass: Notification,\n },\n 'wc-notification-manager': {\n CustomElementClass: NotificationManager,\n },\n 'wc-tag': {\n CustomElementClass: Tag,\n },\n 'wc-linear-progress': {\n CustomElementClass: LinearProgress,\n },\n 'wc-circular-progress': {\n CustomElementClass: CircularProgress,\n },\n 'wc-skeleton': {\n CustomElementClass: Skeleton,\n },\n\n 'wc-field': {\n CustomElementClass: Field,\n },\n 'wc-input': {\n CustomElementClass: Input,\n },\n 'wc-url-field': {\n CustomElementClass: UrlField,\n },\n 'wc-number-field': {\n CustomElementClass: NumberField,\n },\n 'wc-textarea': {\n CustomElementClass: Textarea,\n },\n 'wc-date-picker': {\n CustomElementClass: DatePicker,\n },\n 'wc-time-picker': {\n CustomElementClass: TimePicker,\n },\n 'wc-tooltip': {\n CustomElementClass: Tooltip,\n },\n 'wc-popover': {\n CustomElementClass: Popover,\n },\n 'wc-popover-content': {\n CustomElementClass: PopoverContent,\n },\n 'wc-number-counter': {\n importPath: `${distDirectory}/number-counter.js`,\n },\n 'wc-code-editor': {\n importPath: `${distDirectory}/code-editor.js`,\n },\n 'wc-html-editor': {\n importPath: `${distDirectory}/html-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-markdown-editor': {\n importPath: `${distDirectory}/markdown-editor.js`,\n dependencies: ['wc-code-editor'],\n },\n 'wc-code-highlighter': {\n importPath: `${distDirectory}/code-highlighter.js`,\n },\n 'wc-breadcrumb': {\n CustomElementClass: Breadcrumb,\n },\n 'wc-breadcrumb-item': {\n CustomElementClass: BreadcrumbItem,\n },\n 'wc-switch': {\n CustomElementClass: Switch,\n },\n 'wc-checkbox': {\n CustomElementClass: Checkbox,\n },\n 'wc-radio': {\n CustomElementClass: Radio,\n },\n 'wc-spinner': {\n CustomElementClass: Spinner,\n },\n 'wc-empty-state': {\n CustomElementClass: EmptyState,\n },\n 'wc-menu': {\n CustomElementClass: Menu,\n },\n 'wc-menu-item': {\n CustomElementClass: MenuItem,\n },\n 'wc-sub-menu': {\n CustomElementClass: SubMenu,\n },\n 'wc-list': {\n CustomElementClass: List,\n },\n 'wc-list-item': {\n CustomElementClass: ListItem,\n },\n 'wc-timeline': {\n CustomElementClass: Timeline,\n },\n 'wc-timeline-item': {\n CustomElementClass: TimelineItem,\n },\n 'wc-item': {\n CustomElementClass: Item,\n },\n 'wc-container': {\n CustomElementClass: Container,\n },\n 'wc-image': {\n CustomElementClass: Image,\n },\n 'wc-svg': {\n CustomElementClass: Svg,\n },\n 'wc-slider': {\n CustomElementClass: Slider,\n },\n 'wc-color-picker': {\n CustomElementClass: ColorPicker,\n },\n 'wc-table': {\n CustomElementClass: Table,\n },\n 'wc-pagination': {\n CustomElementClass: Pagination,\n },\n 'wc-sidebar-menu': {\n CustomElementClass: SidebarMenu,\n },\n 'wc-sidebar-menu-item': {\n CustomElementClass: SidebarMenuItem,\n },\n 'wc-sidebar-sub-menu': {\n CustomElementClass: SidebarSubMenu,\n },\n 'wc-snackbar': {\n CustomElementClass: Snackbar,\n },\n 'wc-bottom-sheet': {\n CustomElementClass: BottomSheet,\n },\n 'wc-side-sheet': {\n CustomElementClass: SideSheet,\n },\n 'wc-modal': {\n CustomElementClass: Modal,\n },\n 'wc-select': {\n CustomElementClass: Select,\n },\n 'wc-option': {\n CustomElementClass: SelectOptionElement,\n },\n 'wc-search': {\n CustomElementClass: Search,\n },\n 'wc-toolbar': {\n CustomElementClass: Toolbar,\n },\n 'wc-app-bar': {\n CustomElementClass: AppBar,\n },\n 'wc-navigation-rail': {\n CustomElementClass: NavigationRail,\n },\n 'wc-navigation-rail-item': {\n CustomElementClass: NavigationRailItem,\n },\n 'wc-calendar': {\n importPath: `${distDirectory}/calendar.js`,\n dependencies: ['wc-calendar-column-view', 'wc-calendar-month-view'],\n },\n 'wc-calendar-column-view': {\n importPath: `${distDirectory}/calendar-column-view.js`,\n },\n 'wc-calendar-month-view': {\n importPath: `${distDirectory}/calendar-month-view.js`,\n },\n 'wc-flow': {\n importPath: `${distDirectory}/flow.js`,\n },\n 'wc-chart-doughnut': {\n importPath: `${distDirectory}/chart-doughnut.js`,\n },\n 'wc-chart-pie': {\n importPath: `${distDirectory}/chart-pie.js`,\n },\n 'wc-chart-bar': {\n importPath: `${distDirectory}/chart-bar.js`,\n },\n 'wc-chart-stacked-bar': {\n importPath: `${distDirectory}/chart-stacked-bar.js`,\n },\n 'wc-condition-builder': {\n importPath: `${distDirectory}/condition-builder.js`,\n dependencies: [\n 'wc-cb-predicate',\n 'wc-cb-compound-expression',\n 'wc-cb-expression',\n 'wc-cb-divider',\n ],\n },\n 'wc-cb-predicate': {\n importPath: `${distDirectory}/cb-predicate.js`,\n },\n 'wc-cb-compound-expression': {\n importPath: `${distDirectory}/cb-compound-expression.js`,\n },\n 'wc-cb-expression': {\n importPath: `${distDirectory}/cb-expression.js`,\n },\n 'wc-cb-divider': {\n importPath: `${distDirectory}/cb-divider.js`,\n },\n },\n};\n\nnew LoaderUtils(loaderConfig).start();\n"],"names":[],"mappings":"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"}
package/dist/menu-item.js CHANGED
@@ -24,10 +24,12 @@ var css_248z$1 = i`* {
24
24
  :host {
25
25
  outline: none;
26
26
  position: relative;
27
- --menu-item-container-shape-start-start: var(--shape-corner-extra-small);
28
- --menu-item-container-shape-start-end: var(--shape-corner-extra-small);
29
- --menu-item-container-shape-end-start: var(--shape-corner-extra-small);
30
- --menu-item-container-shape-end-end: var(--shape-corner-extra-small);
27
+ --menu-item-backdrop-container-shape-start-start: none;
28
+ --menu-item-backdrop-container-shape-start-end: none;
29
+ --menu-item-backdrop-container-shape-end-start: none;
30
+ --menu-item-backdrop-container-shape-end-end: none;
31
+ --menu-item-backdrop-elevation-level-block-start: none;
32
+ --menu-item-backdrop-elevation-level-block-end: none;
31
33
  }
32
34
 
33
35
  /*
@@ -60,10 +62,42 @@ var css_248z$1 = i`* {
60
62
  padding-top: 2px;
61
63
  padding-inline: var(--spacing-050);
62
64
  }
63
- .menu-item .menu-item-background {
65
+ .menu-item .menu-item-backdrop-background {
64
66
  background-color: var(--menu-item-container-color);
65
67
  position: absolute;
66
68
  inset: 0px;
69
+ border-start-start-radius: var(--menu-item-backdrop-container-shape-start-start);
70
+ border-start-end-radius: var(--menu-item-backdrop-container-shape-start-end);
71
+ border-end-start-radius: var(--menu-item-backdrop-container-shape-end-start);
72
+ border-end-end-radius: var(--menu-item-backdrop-container-shape-end-end);
73
+ }
74
+ .menu-item .menu-item-backdrop-elevation {
75
+ --elevation-container-shape-start-start: var(
76
+ --menu-item-backdrop-container-shape-start-start
77
+ );
78
+ --elevation-container-shape-start-end: var(
79
+ --menu-item-backdrop-container-shape-start-end
80
+ );
81
+ --elevation-container-shape-end-start: var(
82
+ --menu-item-backdrop-container-shape-end-start
83
+ );
84
+ --elevation-container-shape-end-end: var(
85
+ --menu-item-backdrop-container-shape-end-end
86
+ );
87
+ --elevation-level-block-start: var(
88
+ --menu-item-backdrop-elevation-level-block-start
89
+ );
90
+ --elevation-level-block-end: var(
91
+ --menu-item-backdrop-elevation-level-block-end
92
+ );
93
+ --elevation-level-inline-start: var(
94
+ --menu-item-backdrop-elevation-level-inline-start,
95
+ 1
96
+ );
97
+ --elevation-level-inline-end: var(
98
+ --menu-item-backdrop-elevation-level-inline-end,
99
+ 1
100
+ );
67
101
  }
68
102
  .menu-item .menu-item-content {
69
103
  --item-height: 1.5rem;
@@ -85,23 +119,33 @@ var css_248z$1 = i`* {
85
119
  --item-label-font-weight: var(--typography-label-large-font-weight);
86
120
  --item-label-line-height: var(--typography-label-large-line-height);
87
121
  --item-label-letter-spacing: var(--typography-label-large-letter-spacing);
88
- --item-label-text-color: var(--menu-item-label-color);
89
- --item-leading-trailing-color: var(--menu-item-label-color);
90
- --item-supporting-text-color: var(--menu-item-label-color);
91
- --item-container-selected-color: var(--menu-item-container-selected-color);
92
- --item-label-text-selected-color: var(--menu-item-label-selected-color);
93
- --item-icon-size: var(--button-icon-size, var(--_button-icon-size));
122
+ --item-label-text-color: var(--private-item-label-text-color);
123
+ --item-leading-trailing-color: var(--private-item-label-text-color);
124
+ --item-supporting-text-color: var(--private-item-label-text-color);
125
+ --item-icon-size: var(--menu-item-icon-size, var(--private-item-icon-size));
94
126
  }
95
127
  .menu-item .menu-item-content .background {
96
- background-color: var(--menu-item-container-color);
128
+ background-color: var(--private-item-container-color);
97
129
  opacity: var(--_container-opacity, 1);
98
130
  border-radius: var(--shape-corner-medium);
131
+ border-start-start-radius: var(--private-item-container-shape-start-start);
132
+ border-start-end-radius: var(--private-item-container-shape-start-end);
133
+ border-end-start-radius: var(--private-item-container-shape-end-start);
134
+ border-end-end-radius: var(--private-item-container-shape-end-end);
99
135
  }
100
136
  .menu-item .menu-item-content .focus-ring {
101
- --focus-ring-container-shape-start-start: var(--shape-corner-medium);
102
- --focus-ring-container-shape-start-end: var(--shape-corner-medium);
103
- --focus-ring-container-shape-end-start: var(--shape-corner-medium);
104
- --focus-ring-container-shape-end-end: var(--shape-corner-medium);
137
+ --focus-ring-container-shape-start-start: var(
138
+ --private-item-container-shape-start-start
139
+ );
140
+ --focus-ring-container-shape-start-end: var(
141
+ --private-item-container-shape-start-start
142
+ );
143
+ --focus-ring-container-shape-end-start: var(
144
+ --private-item-container-shape-start-start
145
+ );
146
+ --focus-ring-container-shape-end-end: var(
147
+ --private-item-container-shape-start-start
148
+ );
105
149
  z-index: 2;
106
150
  --focus-ring-inset: 0px;
107
151
  }
@@ -112,17 +156,55 @@ var css_248z$1 = i`* {
112
156
  }
113
157
  .menu-item .menu-item-content .skeleton {
114
158
  z-index: 2;
115
- --skeleton-container-shape-start-start: var(--shape-corner-medium);
116
- --skeleton-container-shape-start-end: var(--shape-corner-medium);
117
- --skeleton-container-shape-end-start: var(--shape-corner-medium);
118
- --skeleton-container-shape-end-end: var(--shape-corner-medium);
159
+ --skeleton-container-shape-start-start: var(
160
+ --private-item-container-shape-start-start
161
+ );
162
+ --skeleton-container-shape-start-end: var(
163
+ --private-item-container-shape-start-end
164
+ );
165
+ --skeleton-container-shape-end-start: var(
166
+ --private-item-container-shape-end-start
167
+ );
168
+ --skeleton-container-shape-end-end: var(
169
+ --private-item-container-shape-end-end
170
+ );
171
+ }
172
+
173
+ :host {
174
+ --private-item-container-color: var(--menu-item-container-color);
175
+ --private-item-label-text-color: var(--menu-item-label-color);
176
+ --private-item-container-shape-start-start: var(--shape-corner-medium);
177
+ --private-item-container-shape-start-end: var(--shape-corner-medium);
178
+ --private-item-container-shape-end-start: var(--shape-corner-medium);
179
+ --private-item-container-shape-end-end: var(--shape-corner-medium);
119
180
  }
120
181
 
121
182
  :host([selected]) {
122
- --menu-item-container-shape-start-start: var(--shape-corner-large);
123
- --menu-item-container-shape-start-end: var(--shape-corner-large);
124
- --menu-item-container-shape-end-start: var(--shape-corner-large);
125
- --menu-item-container-shape-end-end: var(--shape-corner-large);
183
+ --private-item-container-color: var(--menu-item-container-selected-color);
184
+ --private-item-label-text-color: var(--menu-item-label-selected-color);
185
+ --private-item-container-shape-start-start: var(--shape-corner-large);
186
+ --private-item-container-shape-start-end: var(--shape-corner-large);
187
+ --private-item-container-shape-end-start: var(--shape-corner-large);
188
+ --private-item-container-shape-end-end: var(--shape-corner-large);
189
+ }
190
+
191
+ :host([disabled]),
192
+ :host([soft-disabled]) {
193
+ cursor: not-allowed;
194
+ --private-item-label-text-color: var(--color-on-surface);
195
+ --_container-opacity: 0.12;
196
+ }
197
+ :host([disabled]) .ripple,
198
+ :host([soft-disabled]) .ripple {
199
+ display: none;
200
+ }
201
+
202
+ :host-context([variant=standard]) {
203
+ --menu-item-container-color: var(--color-surface-container);
204
+ }
205
+
206
+ :host-context([variant=vibrant]) {
207
+ --menu-item-container-color: var(--color-tertiary-container);
126
208
  }`;
127
209
 
128
210
  var css_248z = i`:host-context([variant=standard]) {
@@ -227,7 +309,7 @@ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1
227
309
  super(...arguments);
228
310
  // ── Properties ───────────────────────────────────────────────────────────
229
311
  /** The value associated with this menu item, used to identify it on selection. */
230
- this.value = '';
312
+ this.value = "";
231
313
  /** Whether this menu item is currently selected/highlighted. */
232
314
  this.selected = false;
233
315
  /** When true, the menu stays open after this item is activated. */
@@ -236,8 +318,6 @@ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1
236
318
  this.hasSubmenu = false;
237
319
  /** Whether the associated submenu is currently open. */
238
320
  this.submenuOpen = false;
239
- /** Visual variant of the menu item. */
240
- this.variant = 'standard';
241
321
  // ── Private fields ────────────────────────────────────────────────────────
242
322
  /** MutationObserver that triggers re-render when slotted content changes. */
243
323
  this._contentObserver = new MutationObserver(() => {
@@ -254,7 +334,7 @@ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1
254
334
  childList: true,
255
335
  characterData: true,
256
336
  attributes: true,
257
- attributeFilter: ['slot'],
337
+ attributeFilter: ["slot"],
258
338
  });
259
339
  }
260
340
  disconnectedCallback() {
@@ -275,41 +355,43 @@ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1
275
355
  this.itemElement?.blur();
276
356
  }
277
357
  _hasNamedSlot(...names) {
278
- return names.some(name => Array.from(this.children).some(child => child.getAttribute('slot') === name));
358
+ return names.some((name) => Array.from(this.children).some((child) => child.getAttribute("slot") === name));
279
359
  }
280
360
  _hasDefaultSlot() {
281
- return Array.from(this.childNodes).some(node => {
361
+ return Array.from(this.childNodes).some((node) => {
282
362
  if (node.nodeType === Node.TEXT_NODE) {
283
363
  return Boolean(node.textContent?.trim());
284
364
  }
285
365
  return (node.nodeType === Node.ELEMENT_NODE &&
286
- !node.hasAttribute('slot'));
366
+ !node.hasAttribute("slot"));
287
367
  });
288
368
  }
289
369
  render() {
290
370
  const isElementLink = isLink(this);
291
- const controls = this.getAttribute('aria-controls');
371
+ const controls = this.getAttribute("aria-controls");
292
372
  const cssClasses = {
293
- 'menu-item': true,
294
- 'native-button': !isElementLink,
295
- 'native-link': isElementLink,
373
+ "menu-item": true,
374
+ "native-button": !isElementLink,
375
+ "native-link": isElementLink,
296
376
  };
297
377
  if (isElementLink) {
298
378
  return b `
299
379
  <a
300
380
  id="menu-item"
301
- class=${e(cssClasses)}
381
+ class="${e(cssClasses)}"
302
382
  role="menuitem"
303
- href=${o(this.href)}
304
- target=${this.target}
305
- ?rel=${this.rel}
306
- ?download=${this.download}
307
- tabindex=${this.disabled ? '-1' : String(this.tabIndex)}
308
- ?selected=${this.selected}
309
- aria-disabled=${this.disabled || this.softDisabled ? 'true' : A}
310
- aria-haspopup=${this.hasSubmenu ? 'menu' : A}
311
- aria-controls=${o(this.hasSubmenu && controls ? controls : undefined)}
312
- aria-expanded=${o(this.hasSubmenu ? String(this.submenuOpen) : undefined)}
383
+ href="${o(this.href)}"
384
+ target="${this.target}"
385
+ ?rel="${this.rel}"
386
+ ?download="${this.download}"
387
+ tabindex="${this.disabled ? "-1" : String(this.tabIndex)}"
388
+ ?selected="${this.selected}"
389
+ aria-disabled="${this.disabled || this.softDisabled
390
+ ? "true"
391
+ : A}"
392
+ aria-haspopup="${this.hasSubmenu ? "menu" : A}"
393
+ aria-controls="${o(this.hasSubmenu && controls ? controls : undefined)}"
394
+ aria-expanded="${o(this.hasSubmenu ? String(this.submenuOpen) : undefined)}"
313
395
  >
314
396
  ${this.renderContent()}
315
397
  </a>
@@ -318,16 +400,16 @@ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1
318
400
  return b `
319
401
  <button
320
402
  id="menu-item"
321
- class=${e(cssClasses)}
403
+ class="${e(cssClasses)}"
322
404
  role="menuitem"
323
- type=${this.htmlType}
324
- ?disabled=${this.disabled}
325
- tabindex=${String(this.tabIndex)}
326
- ?selected=${this.selected}
327
- aria-disabled=${this.softDisabled ? 'true' : A}
328
- aria-haspopup=${this.hasSubmenu ? 'menu' : A}
329
- aria-controls=${o(this.hasSubmenu && controls ? controls : undefined)}
330
- aria-expanded=${o(this.hasSubmenu ? String(this.submenuOpen) : undefined)}
405
+ type="${this.htmlType}"
406
+ ?disabled="${this.disabled}"
407
+ tabindex="${String(this.tabIndex)}"
408
+ ?selected="${this.selected}"
409
+ aria-disabled="${this.softDisabled ? "true" : A}"
410
+ aria-haspopup="${this.hasSubmenu ? "menu" : A}"
411
+ aria-controls="${o(this.hasSubmenu && controls ? controls : undefined)}"
412
+ aria-expanded="${o(this.hasSubmenu ? String(this.submenuOpen) : undefined)}"
331
413
  >
332
414
  ${this.renderContent()}
333
415
  </button>
@@ -335,7 +417,9 @@ let MenuItem = class MenuItem extends NativeButtonMixin(NativeHyperlinkMixin(i$1
335
417
  }
336
418
  renderContent() {
337
419
  return b `
338
- <div class="menu-item-background"></div>
420
+ <div class="menu-item-backdrop-background"></div>
421
+ <wc-elevation class="menu-item-backdrop-elevation"></wc-elevation>
422
+
339
423
  <wc-item class="menu-item-content">
340
424
  <wc-focus-ring
341
425
  class="focus-ring"
@@ -367,19 +451,16 @@ __decorate([
367
451
  n({ type: Boolean, reflect: true })
368
452
  ], MenuItem.prototype, "selected", void 0);
369
453
  __decorate([
370
- n({ type: Boolean, attribute: 'keep-open' })
454
+ n({ type: Boolean, attribute: "keep-open" })
371
455
  ], MenuItem.prototype, "keepOpen", void 0);
372
456
  __decorate([
373
- n({ type: Boolean, attribute: 'has-submenu' })
457
+ n({ type: Boolean, attribute: "has-submenu" })
374
458
  ], MenuItem.prototype, "hasSubmenu", void 0);
375
459
  __decorate([
376
- n({ type: Boolean, attribute: 'submenu-open' })
460
+ n({ type: Boolean, attribute: "submenu-open" })
377
461
  ], MenuItem.prototype, "submenuOpen", void 0);
378
462
  __decorate([
379
- n({ type: String, reflect: true })
380
- ], MenuItem.prototype, "variant", void 0);
381
- __decorate([
382
- e$1('#menu-item')
463
+ e$1("#menu-item")
383
464
  ], MenuItem.prototype, "itemElement", void 0);
384
465
  MenuItem = __decorate([
385
466
  IndividualComponent