@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.
- package/dist/code-highlighter.js +1 -4
- package/dist/code-highlighter.js.map +1 -1
- package/dist/custom-elements-jsdocs.json +39 -223
- package/dist/custom-elements.json +391 -2205
- package/dist/elevation.js +55 -2
- package/dist/elevation.js.map +1 -1
- package/dist/flow.js +762 -0
- package/dist/flow.js.map +1 -0
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/loader.js +2 -9
- package/dist/loader.js.map +1 -1
- package/dist/menu-item.js +144 -63
- package/dist/menu-item.js.map +1 -1
- package/dist/menu.js +161 -73
- package/dist/menu.js.map +1 -1
- package/dist/src/flow/flow.d.ts +102 -0
- package/dist/src/flow/index.d.ts +2 -0
- package/dist/src/index.d.ts +2 -4
- package/dist/src/menu/menu/menu.d.ts +10 -9
- package/dist/src/menu/menu-item/menu-item.d.ts +1 -3
- package/dist/src/timeline/timeline.d.ts +0 -1
- package/dist/sub-menu.js +28 -1
- package/dist/sub-menu.js.map +1 -1
- package/dist/timeline-item.js +22 -34
- package/dist/timeline-item.js.map +1 -1
- package/dist/timeline.js +1 -18
- package/dist/timeline.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/readme.md +2 -2
- package/src/code-highlighter/code-highlighter.scss +1 -7
- package/src/elevation/demo/index.html +52 -0
- package/src/elevation/elevation.scss +52 -5
- package/src/elevation/elevation.ts +8 -1
- package/src/flow/flow.scss +195 -0
- package/src/flow/flow.ts +683 -0
- package/src/flow/index.ts +2 -0
- package/src/index.ts +2 -16
- package/src/loader.ts +2 -9
- package/src/menu/menu/copy-component-files.mjs +47 -0
- package/src/menu/menu/menu.scss +55 -17
- package/src/menu/menu/menu.ts +155 -84
- package/src/menu/menu-item/menu-item-colors.scss +3 -3
- package/src/menu/menu-item/menu-item.scss +118 -24
- package/src/menu/menu-item/menu-item.ts +61 -55
- package/src/menu/sub-menu/sub-menu.scss +30 -1
- package/src/timeline/timeline-item.scss +21 -31
- package/src/timeline/timeline-item.ts +2 -1
- package/src/timeline/timeline.scss +0 -10
- package/src/timeline/timeline.ts +0 -2
- package/dist/canvas.js +0 -385
- package/dist/canvas.js.map +0 -1
- package/dist/flow-designer-node-CGSm6cUH.js +0 -553
- package/dist/flow-designer-node-CGSm6cUH.js.map +0 -1
- package/dist/flow-designer-node.js +0 -4
- package/dist/flow-designer-node.js.map +0 -1
- package/dist/flow-designer.js +0 -1417
- package/dist/flow-designer.js.map +0 -1
- package/dist/src/canvas/canvas.d.ts +0 -92
- package/dist/src/canvas/index.d.ts +0 -2
- package/dist/src/flow-designer/commands.d.ts +0 -66
- package/dist/src/flow-designer/flow-designer-node.d.ts +0 -46
- package/dist/src/flow-designer/flow-designer.d.ts +0 -133
- package/dist/src/flow-designer/index.d.ts +0 -7
- package/dist/src/flow-designer/layout.d.ts +0 -30
- package/dist/src/flow-designer/types.d.ts +0 -142
- package/dist/src/flow-designer/validation.d.ts +0 -43
- package/dist/src/flow-designer/workflow-utils.d.ts +0 -40
- package/src/canvas/canvas.scss +0 -72
- package/src/canvas/canvas.ts +0 -413
- package/src/canvas/index.ts +0 -2
- package/src/flow-designer/DEMO.md +0 -239
- package/src/flow-designer/commands.ts +0 -278
- package/src/flow-designer/flow-designer-node.ts +0 -172
- package/src/flow-designer/flow-designer.scss +0 -457
- package/src/flow-designer/flow-designer.ts +0 -611
- package/src/flow-designer/index.ts +0 -41
- package/src/flow-designer/layout.ts +0 -357
- package/src/flow-designer/types.ts +0 -166
- package/src/flow-designer/validation.ts +0 -284
- package/src/flow-designer/workflow-utils.ts +0 -282
- /package/dist/test/{flow-designer.test.d.ts → elevation.test.d.ts} +0 -0
package/dist/flow.js.map
ADDED
|
@@ -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 {
|
|
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-
|
|
494
|
-
importPath: `${distDirectory}/
|
|
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`,
|
package/dist/loader.js.map
CHANGED
|
@@ -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:
|
|
28
|
-
--menu-item-container-shape-start-end:
|
|
29
|
-
--menu-item-container-shape-end-start:
|
|
30
|
-
--menu-item-container-shape-end-end:
|
|
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(--
|
|
89
|
-
--item-leading-trailing-color: var(--
|
|
90
|
-
--item-supporting-text-color: var(--
|
|
91
|
-
--item-
|
|
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(--
|
|
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(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
--focus-ring-container-shape-
|
|
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(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
--skeleton-container-shape-
|
|
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
|
-
--
|
|
123
|
-
--
|
|
124
|
-
--
|
|
125
|
-
--
|
|
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: [
|
|
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(
|
|
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(
|
|
366
|
+
!node.hasAttribute("slot"));
|
|
287
367
|
});
|
|
288
368
|
}
|
|
289
369
|
render() {
|
|
290
370
|
const isElementLink = isLink(this);
|
|
291
|
-
const controls = this.getAttribute(
|
|
371
|
+
const controls = this.getAttribute("aria-controls");
|
|
292
372
|
const cssClasses = {
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
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
|
|
381
|
+
class="${e(cssClasses)}"
|
|
302
382
|
role="menuitem"
|
|
303
|
-
href
|
|
304
|
-
target
|
|
305
|
-
?rel
|
|
306
|
-
?download
|
|
307
|
-
tabindex
|
|
308
|
-
?selected
|
|
309
|
-
aria-disabled
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
aria-
|
|
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
|
|
403
|
+
class="${e(cssClasses)}"
|
|
322
404
|
role="menuitem"
|
|
323
|
-
type
|
|
324
|
-
?disabled
|
|
325
|
-
tabindex
|
|
326
|
-
?selected
|
|
327
|
-
aria-disabled
|
|
328
|
-
aria-haspopup
|
|
329
|
-
aria-controls
|
|
330
|
-
aria-expanded
|
|
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:
|
|
454
|
+
n({ type: Boolean, attribute: "keep-open" })
|
|
371
455
|
], MenuItem.prototype, "keepOpen", void 0);
|
|
372
456
|
__decorate([
|
|
373
|
-
n({ type: Boolean, attribute:
|
|
457
|
+
n({ type: Boolean, attribute: "has-submenu" })
|
|
374
458
|
], MenuItem.prototype, "hasSubmenu", void 0);
|
|
375
459
|
__decorate([
|
|
376
|
-
n({ type: Boolean, attribute:
|
|
460
|
+
n({ type: Boolean, attribute: "submenu-open" })
|
|
377
461
|
], MenuItem.prototype, "submenuOpen", void 0);
|
|
378
462
|
__decorate([
|
|
379
|
-
|
|
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
|