meadow-integration 1.0.38 → 1.0.40

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.
@@ -565,7 +565,7 @@ if(this._ViewInstance&&this._OriginalDestination){this._ViewInstance.options.Def
565
565
  /**
566
566
  * CSS for the flow container, SVG container, panning/connecting cursors, and grid pattern.
567
567
  * @returns {string}
568
- */_inherits(PictProviderFlowCSS,_libFableServiceProvi3);return _createClass(PictProviderFlowCSS,[{key:"getContainerCSS",value:function getContainerCSS(){return/*css*/"\n\t\t.pict-flow-container {\n\t\t\t/* \u2500\u2500 Design Tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\t\t\t Override these custom properties to theme the flow diagram.\n\t\t\t Node-type classes (.pict-flow-node-{type}) can scope-override\n\t\t\t any variable for per-type variation. */\n\n\t\t\t/* Text */\n\t\t\t--pf-text-primary: #2c3e50;\n\t\t\t--pf-text-heading: #1a252f;\n\t\t\t--pf-text-secondary: #7f8c8d;\n\t\t\t--pf-text-tertiary: #8e99a4;\n\t\t\t--pf-text-placeholder: #95a5a6;\n\n\t\t\t/* Node */\n\t\t\t--pf-node-body-fill: #ffffff;\n\t\t\t--pf-node-body-stroke: #d0d4d8;\n\t\t\t--pf-node-body-stroke-hover: #b0b8c0;\n\t\t\t--pf-node-body-stroke-width: 1;\n\t\t\t--pf-node-body-radius: 8px;\n\t\t\t--pf-node-shadow: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.10));\n\t\t\t--pf-node-shadow-hover: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15));\n\t\t\t--pf-node-shadow-selected: drop-shadow(0 2px 8px rgba(52, 152, 219, 0.25));\n\t\t\t--pf-node-shadow-dragging: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.20));\n\t\t\t--pf-node-title-fill: #ffffff;\n\t\t\t--pf-node-title-size: 11.5px;\n\t\t\t--pf-node-title-weight: 600;\n\t\t\t--pf-node-title-bar-color: #2c3e50;\n\t\t\t--pf-node-type-label-fill: #a0a8b0;\n\t\t\t--pf-node-selected-stroke: #3498db;\n\n\t\t\t/* Node Variants */\n\t\t\t--pf-node-start-fill: #eafaf1;\n\t\t\t--pf-node-start-stroke: #27ae60;\n\t\t\t--pf-node-end-fill: #e8f8f5;\n\t\t\t--pf-node-end-stroke: #1abc9c;\n\t\t\t--pf-node-halt-fill: #fdedec;\n\t\t\t--pf-node-halt-stroke: #e74c3c;\n\t\t\t--pf-node-decision-fill: #fff9e6;\n\t\t\t--pf-node-decision-stroke: #f39c12;\n\n\t\t\t/* Ports */\n\t\t\t--pf-port-input-fill: #3498db;\n\t\t\t--pf-port-output-fill: #2ecc71;\n\t\t\t--pf-port-stroke: #ffffff;\n\t\t\t--pf-port-stroke-width: 2;\n\t\t\t--pf-port-label-bg: rgba(255, 253, 240, 0.5);\n\t\t\t--pf-port-label-text: #2c3e50;\n\n\t\t\t/* Port Type Colors */\n\t\t\t--pf-port-event-in-fill: #3498db;\n\t\t\t--pf-port-event-out-fill: #2ecc71;\n\t\t\t--pf-port-setting-fill: #e67e22;\n\t\t\t--pf-port-value-fill: #f1c40f;\n\t\t\t--pf-port-error-fill: #e74c3c;\n\n\t\t\t/* Connection Type Colors (match source port) */\n\t\t\t--pf-connection-event-in-stroke: #3498db;\n\t\t\t--pf-connection-event-out-stroke: #2ecc71;\n\t\t\t--pf-connection-setting-stroke: #e67e22;\n\t\t\t--pf-connection-value-stroke: #f1c40f;\n\t\t\t--pf-connection-error-stroke: #e74c3c;\n\n\t\t\t/* Connections */\n\t\t\t--pf-connection-stroke: #95a5a6;\n\t\t\t--pf-connection-stroke-hover: #7f8c8d;\n\t\t\t--pf-connection-selected-stroke: #3498db;\n\n\t\t\t/* Panels */\n\t\t\t--pf-panel-bg: #ffffff;\n\t\t\t--pf-panel-border: #d0d4d8;\n\t\t\t--pf-panel-radius: 8px;\n\t\t\t--pf-panel-shadow: 0 4px 12px rgba(0,0,0,0.10), 0 1px 3px rgba(0,0,0,0.06);\n\t\t\t--pf-panel-titlebar-bg: #f7f8fa;\n\t\t\t--pf-panel-titlebar-border: #e8eaed;\n\t\t\t--pf-panel-title-color: #2c3e50;\n\n\t\t\t/* Tabs */\n\t\t\t--pf-tab-text: #8e99a4;\n\t\t\t--pf-tab-text-hover: #5a6a7a;\n\t\t\t--pf-tab-active-border: var(--pf-node-selected-stroke);\n\t\t\t--pf-resize-handle-hover: #e0e3e6;\n\n\t\t\t/* Forms & Inputs */\n\t\t\t--pf-input-border: #d5d8dc;\n\t\t\t--pf-input-border-focus: #3498db;\n\t\t\t--pf-divider-light: #ecf0f1;\n\t\t\t--pf-divider-medium: #e8eaed;\n\n\t\t\t/* Buttons */\n\t\t\t--pf-button-border: #bdc3c7;\n\t\t\t--pf-button-hover-border: #95a5a6;\n\t\t\t--pf-button-hover-bg: #ecf0f1;\n\t\t\t--pf-button-active-bg: #d5dbdb;\n\t\t\t--pf-button-danger-text: #e74c3c;\n\t\t\t--pf-button-danger-hover-bg: #fdedec;\n\t\t\t--pf-button-close-color: #b0b8c0;\n\n\t\t\t/* Badges */\n\t\t\t--pf-badge-category-bg: #f0f2f4;\n\t\t\t--pf-badge-category-text: #6b7b8d;\n\t\t\t--pf-badge-code-bg: #eaf2f8;\n\t\t\t--pf-badge-code-text: #2980b9;\n\n\t\t\t/* Info Panel */\n\t\t\t--pf-port-item-bg: #f8f9fa;\n\n\t\t\t/* Toolbar */\n\t\t\t--pf-toolbar-bg: #ffffff;\n\t\t\t--pf-toolbar-border: #e0e0e0;\n\n\t\t\t/* Palette Cards */\n\t\t\t--pf-card-border: #d5d8dc;\n\t\t\t--pf-card-hover-bg: #eaf2f8;\n\t\t\t--pf-card-hover-shadow: 0 1px 3px rgba(52, 152, 219, 0.15);\n\n\t\t\t/* Canvas */\n\t\t\t--pf-canvas-bg: #fafafa;\n\t\t\t--pf-grid-stroke: #e8e8e8;\n\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tmin-height: 400px;\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: var(--pf-canvas-bg);\n\t\t\tborder: 1px solid var(--pf-toolbar-border);\n\t\t\tborder-radius: 4px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\t.pict-flow-svg-container {\n\t\t\tflex: 1;\n\t\t\tmin-height: 0;\n\t\t\tposition: relative;\n\t\t}\n\t\t.pict-flow-svg {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tcursor: grab;\n\t\t\tuser-select: none;\n\t\t\t-webkit-user-select: none;\n\t\t}\n\t\t.pict-flow-svg.panning {\n\t\t\tcursor: grabbing;\n\t\t}\n\t\t.pict-flow-svg.connecting {\n\t\t\tcursor: crosshair;\n\t\t}\n\t\t.pict-flow-grid-pattern line {\n\t\t\tstroke: var(--pf-grid-stroke);\n\t\t\tstroke-width: 0.5;\n\t\t}\n\t\t";}// ── Nodes ──────────────────────────────────────────────────────────────
568
+ */_inherits(PictProviderFlowCSS,_libFableServiceProvi3);return _createClass(PictProviderFlowCSS,[{key:"getContainerCSS",value:function getContainerCSS(){return/*css*/"\n\t\t.pict-flow-container {\n\t\t\t/* \u2500\u2500 Design Tokens \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n\t\t\t Override these custom properties to theme the flow diagram.\n\t\t\t Node-type classes (.pict-flow-node-{type}) can scope-override\n\t\t\t any variable for per-type variation. */\n\n\t\t\t/* Text */\n\t\t\t--pf-text-primary: #2c3e50;\n\t\t\t--pf-text-heading: #1a252f;\n\t\t\t--pf-text-secondary: #7f8c8d;\n\t\t\t--pf-text-tertiary: #8e99a4;\n\t\t\t--pf-text-placeholder: #95a5a6;\n\n\t\t\t/* Node */\n\t\t\t--pf-node-body-fill: var(--theme-color-background-panel, #ffffff);\n\t\t\t--pf-node-body-stroke: #d0d4d8;\n\t\t\t--pf-node-body-stroke-hover: #b0b8c0;\n\t\t\t--pf-node-body-stroke-width: 1;\n\t\t\t--pf-node-body-radius: 8px;\n\t\t\t--pf-node-shadow: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.10));\n\t\t\t--pf-node-shadow-hover: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.15));\n\t\t\t--pf-node-shadow-selected: drop-shadow(0 2px 8px rgba(52, 152, 219, 0.25));\n\t\t\t--pf-node-shadow-dragging: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.20));\n\t\t\t--pf-node-title-fill: var(--theme-color-background-panel, #ffffff);\n\t\t\t--pf-node-title-size: 11.5px;\n\t\t\t--pf-node-title-weight: 600;\n\t\t\t--pf-node-title-bar-color: #2c3e50;\n\t\t\t--pf-node-type-label-fill: #a0a8b0;\n\t\t\t--pf-node-selected-stroke: #3498db;\n\n\t\t\t/* Node Variants */\n\t\t\t--pf-node-start-fill: #eafaf1;\n\t\t\t--pf-node-start-stroke: var(--theme-color-status-success, #27ae60);\n\t\t\t--pf-node-end-fill: #e8f8f5;\n\t\t\t--pf-node-end-stroke: #1abc9c;\n\t\t\t--pf-node-halt-fill: #fdedec;\n\t\t\t--pf-node-halt-stroke: var(--theme-color-status-error, #e74c3c);\n\t\t\t--pf-node-decision-fill: #fff9e6;\n\t\t\t--pf-node-decision-stroke: var(--theme-color-status-warning, #f39c12);\n\n\t\t\t/* Ports */\n\t\t\t--pf-port-input-fill: #3498db;\n\t\t\t--pf-port-output-fill: var(--theme-color-status-success, #2ecc71);\n\t\t\t--pf-port-stroke: var(--theme-color-background-panel, #ffffff);\n\t\t\t--pf-port-stroke-width: 2;\n\t\t\t--pf-port-label-bg: rgba(255, 253, 240, 0.5);\n\t\t\t--pf-port-label-text: #2c3e50;\n\n\t\t\t/* Port Type Colors */\n\t\t\t--pf-port-event-in-fill: #3498db;\n\t\t\t--pf-port-event-out-fill: var(--theme-color-status-success, #2ecc71);\n\t\t\t--pf-port-setting-fill: #e67e22;\n\t\t\t--pf-port-value-fill: #f1c40f;\n\t\t\t--pf-port-error-fill: var(--theme-color-status-error, #e74c3c);\n\n\t\t\t/* Connection Type Colors (match source port) */\n\t\t\t--pf-connection-event-in-stroke: #3498db;\n\t\t\t--pf-connection-event-out-stroke: var(--theme-color-status-success, #2ecc71);\n\t\t\t--pf-connection-setting-stroke: #e67e22;\n\t\t\t--pf-connection-value-stroke: #f1c40f;\n\t\t\t--pf-connection-error-stroke: var(--theme-color-status-error, #e74c3c);\n\n\t\t\t/* Connections */\n\t\t\t--pf-connection-stroke: #95a5a6;\n\t\t\t--pf-connection-stroke-hover: #7f8c8d;\n\t\t\t--pf-connection-selected-stroke: #3498db;\n\n\t\t\t/* Panels */\n\t\t\t--pf-panel-bg: #ffffff;\n\t\t\t--pf-panel-border: #d0d4d8;\n\t\t\t--pf-panel-radius: 8px;\n\t\t\t--pf-panel-shadow: 0 4px 12px rgba(0,0,0,0.10), 0 1px 3px rgba(0,0,0,0.06);\n\t\t\t--pf-panel-titlebar-bg: #f7f8fa;\n\t\t\t--pf-panel-titlebar-border: #e8eaed;\n\t\t\t--pf-panel-title-color: #2c3e50;\n\n\t\t\t/* Tabs */\n\t\t\t--pf-tab-text: #8e99a4;\n\t\t\t--pf-tab-text-hover: #5a6a7a;\n\t\t\t--pf-tab-active-border: var(--pf-node-selected-stroke);\n\t\t\t--pf-resize-handle-hover: #e0e3e6;\n\n\t\t\t/* Forms & Inputs */\n\t\t\t--pf-input-border: #d5d8dc;\n\t\t\t--pf-input-border-focus: #3498db;\n\t\t\t--pf-divider-light: #ecf0f1;\n\t\t\t--pf-divider-medium: #e8eaed;\n\n\t\t\t/* Buttons */\n\t\t\t--pf-button-border: #bdc3c7;\n\t\t\t--pf-button-hover-border: #95a5a6;\n\t\t\t--pf-button-hover-bg: #ecf0f1;\n\t\t\t--pf-button-active-bg: #d5dbdb;\n\t\t\t--pf-button-danger-text: #e74c3c;\n\t\t\t--pf-button-danger-hover-bg: #fdedec;\n\t\t\t--pf-button-close-color: #b0b8c0;\n\n\t\t\t/* Badges */\n\t\t\t--pf-badge-category-bg: #f0f2f4;\n\t\t\t--pf-badge-category-text: #6b7b8d;\n\t\t\t--pf-badge-code-bg: #eaf2f8;\n\t\t\t--pf-badge-code-text: #2980b9;\n\n\t\t\t/* Info Panel */\n\t\t\t--pf-port-item-bg: #f8f9fa;\n\n\t\t\t/* Toolbar */\n\t\t\t--pf-toolbar-bg: #ffffff;\n\t\t\t--pf-toolbar-border: var(--theme-color-border-default, #e0e0e0);\n\n\t\t\t/* Palette Cards */\n\t\t\t--pf-card-border: #d5d8dc;\n\t\t\t--pf-card-hover-bg: #eaf2f8;\n\t\t\t--pf-card-hover-shadow: 0 1px 3px rgba(52, 152, 219, 0.15);\n\n\t\t\t/* Canvas */\n\t\t\t--pf-canvas-bg: #fafafa;\n\t\t\t--pf-grid-stroke: var(--theme-color-border-light, #e8e8e8);\n\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tmin-height: 400px;\n\t\t\toverflow: hidden;\n\t\t\tbackground-color: var(--pf-canvas-bg);\n\t\t\tborder: 1px solid var(--pf-toolbar-border);\n\t\t\tborder-radius: 4px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\t\t.pict-flow-svg-container {\n\t\t\tflex: 1;\n\t\t\tmin-height: 0;\n\t\t\tposition: relative;\n\t\t}\n\t\t.pict-flow-svg {\n\t\t\twidth: 100%;\n\t\t\theight: 100%;\n\t\t\tcursor: grab;\n\t\t\tuser-select: none;\n\t\t\t-webkit-user-select: none;\n\t\t}\n\t\t.pict-flow-svg.panning {\n\t\t\tcursor: grabbing;\n\t\t}\n\t\t.pict-flow-svg.connecting {\n\t\t\tcursor: crosshair;\n\t\t}\n\t\t.pict-flow-grid-pattern line {\n\t\t\tstroke: var(--pf-grid-stroke);\n\t\t\tstroke-width: 0.5;\n\t\t}\n\t\t";}// ── Nodes ──────────────────────────────────────────────────────────────
569
569
  /**
570
570
  * CSS for base node styling: body, hover/selected/dragging states, title bar, title text, type label.
571
571
  * @returns {string}
@@ -1311,8 +1311,8 @@ this._Themes['sketch']={Key:'sketch',Label:'Sketch',CSSVariables:{'--pf-node-bod
1311
1311
  this._Themes['blueprint']={Key:'blueprint',Label:'Blueprint',CSSVariables:{'--pf-node-body-fill':'rgba(255,255,255,0.05)','--pf-node-body-stroke':'#ffffff','--pf-node-body-stroke-width':'1','--pf-node-body-radius':'0px','--pf-node-shadow':'none','--pf-node-shadow-hover':'none','--pf-node-shadow-selected':'none','--pf-node-shadow-dragging':'none','--pf-node-title-fill':'#ffffff','--pf-node-title-size':'11px','--pf-node-title-weight':'400','--pf-node-title-bar-color':'rgba(255,255,255,0.1)','--pf-node-type-label-fill':'rgba(255,255,255,0.5)','--pf-node-selected-stroke':'#ffdd44','--pf-port-input-fill':'#88bbff','--pf-port-output-fill':'#88ffbb','--pf-port-stroke':'#1a3a6a','--pf-connection-stroke':'rgba(255,255,255,0.6)','--pf-connection-selected-stroke':'#ffdd44','--pf-canvas-bg':'#1a3a6a','--pf-grid-stroke':'rgba(255,255,255,0.08)','--pf-panel-bg':'#1a3a6a','--pf-panel-border':'rgba(255,255,255,0.3)','--pf-panel-radius':'0px','--pf-panel-shadow':'none','--pf-panel-titlebar-bg':'rgba(255,255,255,0.05)','--pf-panel-titlebar-border':'rgba(255,255,255,0.15)','--pf-panel-title-color':'#ffffff'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title,\n\t\t\t\t.pict-flow-node-type-label,\n\t\t\t\t.pict-flow-port-label,\n\t\t\t\t.pict-flow-node-card-code {\n\t\t\t\t\tfont-family: \"Courier New\", monospace !important;\n\t\t\t\t\ttext-transform: uppercase;\n\t\t\t\t\tletter-spacing: 1px;\n\t\t\t\t}\n\t\t\t\t.pict-flow-container {\n\t\t\t\t\tborder-color: #0d2244;\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: brightness(0) invert(1) !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar {\n\t\t\t\t\tbackground-color: #142e54;\n\t\t\t\t\tborder-bottom-color: rgba(255,255,255,0.15);\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn {\n\t\t\t\t\tbackground-color: rgba(255,255,255,0.05);\n\t\t\t\t\tborder-color: rgba(255,255,255,0.2);\n\t\t\t\t\tcolor: #ffffff;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn:hover {\n\t\t\t\t\tbackground-color: rgba(255,255,255,0.1);\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'bracket',BracketConfig:{SerifLength:18,TitleSeparator:true},ConnectionConfig:{StrokeDashArray:'8 4',StrokeWidth:1,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:false,DefaultLevel:0,MaxJitterPx:0,AffectsNodes:false,AffectsConnections:false},ShapeOverrides:{'arrowhead-connection':{Fill:'rgba(255,255,255,0.6)'},'arrowhead-connection-selected':{Fill:'#ffdd44'}}};// ── 4. Mono (Black & White) ──────────────────────────────────
1312
1312
  this._Themes['mono']={Key:'mono',Label:'Monochrome',CSSVariables:{'--pf-node-body-fill':'#ffffff','--pf-node-body-stroke':'#000000','--pf-node-body-stroke-width':'1','--pf-node-body-radius':'0px','--pf-node-shadow':'none','--pf-node-shadow-hover':'none','--pf-node-shadow-selected':'none','--pf-node-shadow-dragging':'none','--pf-node-title-fill':'#ffffff','--pf-node-title-size':'11px','--pf-node-title-weight':'600','--pf-node-title-bar-color':'#000000','--pf-node-type-label-fill':'#888888','--pf-node-selected-stroke':'#444444','--pf-port-input-fill':'#000000','--pf-port-output-fill':'#666666','--pf-port-stroke':'#ffffff','--pf-connection-stroke':'#000000','--pf-connection-selected-stroke':'#444444','--pf-canvas-bg':'#ffffff','--pf-grid-stroke':'#eeeeee','--pf-panel-bg':'#ffffff','--pf-panel-border':'#000000','--pf-panel-radius':'0px','--pf-panel-shadow':'none','--pf-panel-titlebar-bg':'#f0f0f0','--pf-panel-titlebar-border':'#000000','--pf-panel-title-color':'#000000'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title {\n\t\t\t\t\tfont-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: brightness(0) invert(1) !important;\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'rect',BracketConfig:null,ConnectionConfig:{StrokeDashArray:null,StrokeWidth:1,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:false,DefaultLevel:0,MaxJitterPx:0,AffectsNodes:false,AffectsConnections:false},ShapeOverrides:{'arrowhead-connection':{Fill:'#000000'},'arrowhead-connection-selected':{Fill:'#444444'}}};// ── 5. Retro 80s (Neon) ──────────────────────────────────────
1313
1313
  this._Themes['retro-80s']={Key:'retro-80s',Label:'80s Retro',CSSVariables:{'--pf-node-body-fill':'#1a0a2e','--pf-node-body-stroke':'#ff00ff','--pf-node-body-stroke-width':'2','--pf-node-body-radius':'0px','--pf-node-shadow':'drop-shadow(0 0 8px rgba(255,0,255,0.4))','--pf-node-shadow-hover':'drop-shadow(0 0 12px rgba(255,0,255,0.6))','--pf-node-shadow-selected':'drop-shadow(0 0 16px rgba(0,255,255,0.5))','--pf-node-shadow-dragging':'drop-shadow(0 0 20px rgba(255,0,255,0.7))','--pf-node-title-fill':'#00ffff','--pf-node-title-size':'11px','--pf-node-title-weight':'700','--pf-node-title-bar-color':'#2a0a4e','--pf-node-type-label-fill':'#ff66ff','--pf-node-selected-stroke':'#00ffff','--pf-port-input-fill':'#ff00ff','--pf-port-output-fill':'#00ff66','--pf-port-stroke':'#1a0a2e','--pf-connection-stroke':'#ff00ff','--pf-connection-selected-stroke':'#00ffff','--pf-canvas-bg':'#0a0015','--pf-grid-stroke':'#1a0a2e','--pf-panel-bg':'#1a0a2e','--pf-panel-border':'#ff00ff','--pf-panel-radius':'0px','--pf-panel-shadow':'0 0 20px rgba(255,0,255,0.3)','--pf-panel-titlebar-bg':'#2a0a4e','--pf-panel-titlebar-border':'#ff00ff','--pf-panel-title-color':'#00ffff'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title,\n\t\t\t\t.pict-flow-node-type-label,\n\t\t\t\t.pict-flow-port-label,\n\t\t\t\t.pict-flow-node-card-code {\n\t\t\t\t\tfont-family: \"Courier New\", monospace !important;\n\t\t\t\t\ttext-transform: uppercase;\n\t\t\t\t\tletter-spacing: 0.5px;\n\t\t\t\t}\n\t\t\t\t.pict-flow-connection {\n\t\t\t\t\tfilter: drop-shadow(0 0 3px rgba(255,0,255,0.4));\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: brightness(0) invert(1) hue-rotate(180deg) !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar {\n\t\t\t\t\tbackground-color: #1a0a2e;\n\t\t\t\t\tborder-bottom-color: #ff00ff;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn {\n\t\t\t\t\tbackground-color: #1a0a2e;\n\t\t\t\t\tborder-color: #ff00ff;\n\t\t\t\t\tcolor: #00ffff;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn:hover {\n\t\t\t\t\tbackground-color: #2a0a4e;\n\t\t\t\t}\n\t\t\t\t.pict-flow-container {\n\t\t\t\t\tborder-color: #ff00ff;\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'rect',BracketConfig:null,ConnectionConfig:{StrokeDashArray:null,StrokeWidth:2,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:false,DefaultLevel:0,MaxJitterPx:0,AffectsNodes:false,AffectsConnections:false},ShapeOverrides:{'arrowhead-connection':{Fill:'#ff00ff'},'arrowhead-connection-selected':{Fill:'#00ffff'}}};// ── 6. Retro 90s (Windows) ───────────────────────────────────
1314
- this._Themes['retro-90s']={Key:'retro-90s',Label:'90s Retro',CSSVariables:{'--pf-node-body-fill':'#c0c0c0','--pf-node-body-stroke':'#808080','--pf-node-body-stroke-width':'1','--pf-node-body-radius':'0px','--pf-node-shadow':'drop-shadow(2px 2px 0px #404040)','--pf-node-shadow-hover':'drop-shadow(3px 3px 0px #404040)','--pf-node-shadow-selected':'drop-shadow(2px 2px 0px #008080)','--pf-node-shadow-dragging':'drop-shadow(4px 4px 0px #404040)','--pf-node-title-fill':'#ffffff','--pf-node-title-size':'11px','--pf-node-title-weight':'700','--pf-node-title-bar-color':'#000080','--pf-node-type-label-fill':'#606060','--pf-node-selected-stroke':'#008080','--pf-port-input-fill':'#000080','--pf-port-output-fill':'#008000','--pf-port-stroke':'#c0c0c0','--pf-connection-stroke':'#808080','--pf-connection-selected-stroke':'#008080','--pf-canvas-bg':'#008080','--pf-grid-stroke':'rgba(0,0,0,0.06)','--pf-panel-bg':'#c0c0c0','--pf-panel-border':'#808080','--pf-panel-radius':'0px','--pf-panel-shadow':'2px 2px 0px #404040','--pf-panel-titlebar-bg':'#000080','--pf-panel-titlebar-border':'#c0c0c0','--pf-panel-title-color':'#ffffff'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title,\n\t\t\t\t.pict-flow-node-type-label,\n\t\t\t\t.pict-flow-port-label,\n\t\t\t\t.pict-flow-node-card-code {\n\t\t\t\t\tfont-family: \"MS Sans Serif\", \"Arial\", sans-serif !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: brightness(0) invert(1) !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar {\n\t\t\t\t\tbackground-color: #c0c0c0;\n\t\t\t\t\tborder-bottom: 2px solid #808080;\n\t\t\t\t\tborder-top: 1px solid #ffffff;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn {\n\t\t\t\t\tbackground-color: #c0c0c0;\n\t\t\t\t\tborder: 2px outset #c0c0c0;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\tcolor: #000000;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn:hover {\n\t\t\t\t\tbackground-color: #d0d0d0;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn:active {\n\t\t\t\t\tborder-style: inset;\n\t\t\t\t}\n\t\t\t\t.pict-flow-container {\n\t\t\t\t\tborder: 2px outset #c0c0c0;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'rect',BracketConfig:null,ConnectionConfig:{StrokeDashArray:null,StrokeWidth:2,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:false,DefaultLevel:0,MaxJitterPx:0,AffectsNodes:false,AffectsConnections:false},ShapeOverrides:{'arrowhead-connection':{Fill:'#808080'},'arrowhead-connection-selected':{Fill:'#008080'}}};// ── 7. Whiteboard (Minimal brackets, no fills) ──────────────
1315
- this._Themes['whiteboard']={Key:'whiteboard',Label:'Whiteboard',CSSVariables:{'--pf-node-body-fill':'transparent','--pf-node-body-stroke':'#555555','--pf-node-body-stroke-width':'2','--pf-node-body-radius':'0px','--pf-node-shadow':'none','--pf-node-shadow-hover':'none','--pf-node-shadow-selected':'none','--pf-node-shadow-dragging':'none','--pf-node-title-fill':'#333333','--pf-node-title-size':'12px','--pf-node-title-weight':'600','--pf-node-title-bar-color':'transparent','--pf-node-type-label-fill':'#999999','--pf-node-selected-stroke':'#2255aa','--pf-port-input-fill':'#5577bb','--pf-port-output-fill':'#55aa77','--pf-port-stroke':'#ffffff','--pf-connection-stroke':'#888888','--pf-connection-selected-stroke':'#2255aa','--pf-canvas-bg':'#ffffff','--pf-grid-stroke':'#f0f0f0','--pf-panel-bg':'#ffffff','--pf-panel-border':'#cccccc','--pf-panel-radius':'0px','--pf-panel-shadow':'2px 2px 0px rgba(0,0,0,0.06)','--pf-panel-titlebar-bg':'#f8f8f8','--pf-panel-titlebar-border':'#e0e0e0','--pf-panel-title-color':'#333333'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title,\n\t\t\t\t.pict-flow-node-type-label,\n\t\t\t\t.pict-flow-port-label,\n\t\t\t\t.pict-flow-node-card-code {\n\t\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif !important;\n\t\t\t\t}\n\t\t\t\t/* Node-type bracket colors \u2014 each type gets its own bracket color */\n\t\t\t\t.pict-flow-node-start .pict-flow-node-bracket { stroke: #27ae60; }\n\t\t\t\t.pict-flow-node-end .pict-flow-node-bracket { stroke: #1abc9c; }\n\t\t\t\t.pict-flow-node-halt .pict-flow-node-bracket { stroke: #e74c3c; }\n\t\t\t\t.pict-flow-node-decision .pict-flow-node-bracket { stroke: #f39c12; }\n\t\t\t\t.pict-flow-node-default .pict-flow-node-bracket { stroke: #3498db; }\n\t\t\t\t.pict-flow-node-action .pict-flow-node-bracket { stroke: #2c3e50; }\n\t\t\t\t/* Override variant rules: no fills/strokes on body rects in whiteboard */\n\t\t\t\t.pict-flow-node-decision .pict-flow-node-body,\n\t\t\t\t.pict-flow-node-start .pict-flow-node-body,\n\t\t\t\t.pict-flow-node-end .pict-flow-node-body,\n\t\t\t\t.pict-flow-node-halt .pict-flow-node-body {\n\t\t\t\t\tfill: transparent;\n\t\t\t\t\tstroke: transparent;\n\t\t\t\t\tstroke-width: 0;\n\t\t\t\t}\n\t\t\t\t/* Title bar fills transparent too */\n\t\t\t\t.pict-flow-node .pict-flow-node-bracket-title-fill {\n\t\t\t\t\tfill: transparent !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: none !important;\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'bracket',BracketConfig:{SerifLength:22,TitleSeparator:false},ConnectionConfig:{StrokeDashArray:null,StrokeWidth:1.5,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:true,DefaultLevel:0.3,MaxJitterPx:3,AffectsNodes:true,AffectsConnections:true},ShapeOverrides:{'arrowhead-connection':{Fill:'#888888'},'arrowhead-connection-selected':{Fill:'#2255aa'}}};}// ── Public API ────────────────────────────────────────────────────────
1314
+ this._Themes['retro-90s']={Key:'retro-90s',Label:'90s Retro',CSSVariables:{'--pf-node-body-fill':'#c0c0c0','--pf-node-body-stroke':'#808080','--pf-node-body-stroke-width':'1','--pf-node-body-radius':'0px','--pf-node-shadow':'drop-shadow(2px 2px 0px #404040)','--pf-node-shadow-hover':'drop-shadow(3px 3px 0px #404040)','--pf-node-shadow-selected':'drop-shadow(2px 2px 0px #008080)','--pf-node-shadow-dragging':'drop-shadow(4px 4px 0px #404040)','--pf-node-title-fill':'#ffffff','--pf-node-title-size':'11px','--pf-node-title-weight':'700','--pf-node-title-bar-color':'#000080','--pf-node-type-label-fill':'#606060','--pf-node-selected-stroke':'#008080','--pf-port-input-fill':'#000080','--pf-port-output-fill':'#008000','--pf-port-stroke':'#c0c0c0','--pf-connection-stroke':'#808080','--pf-connection-selected-stroke':'#008080','--pf-canvas-bg':'#008080','--pf-grid-stroke':'rgba(0,0,0,0.06)','--pf-panel-bg':'#c0c0c0','--pf-panel-border':'#808080','--pf-panel-radius':'0px','--pf-panel-shadow':'2px 2px 0px #404040','--pf-panel-titlebar-bg':'#000080','--pf-panel-titlebar-border':'#c0c0c0','--pf-panel-title-color':'#ffffff'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title,\n\t\t\t\t.pict-flow-node-type-label,\n\t\t\t\t.pict-flow-port-label,\n\t\t\t\t.pict-flow-node-card-code {\n\t\t\t\t\tfont-family: \"MS Sans Serif\", \"Arial\", sans-serif !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: brightness(0) invert(1) !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar {\n\t\t\t\t\tbackground-color: #c0c0c0;\n\t\t\t\t\tborder-bottom: 2px solid #808080;\n\t\t\t\t\tborder-top: 1px solid #ffffff;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn {\n\t\t\t\t\tbackground-color: #c0c0c0;\n\t\t\t\t\tborder: 2px outset #c0c0c0;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t\tcolor: #000000;\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn:hover {\n\t\t\t\t\tbackground-color: var(--theme-color-border-default, #d0d0d0);\n\t\t\t\t}\n\t\t\t\t.pict-flow-toolbar-btn:active {\n\t\t\t\t\tborder-style: inset;\n\t\t\t\t}\n\t\t\t\t.pict-flow-container {\n\t\t\t\t\tborder: 2px outset #c0c0c0;\n\t\t\t\t\tborder-radius: 0;\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'rect',BracketConfig:null,ConnectionConfig:{StrokeDashArray:null,StrokeWidth:2,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:false,DefaultLevel:0,MaxJitterPx:0,AffectsNodes:false,AffectsConnections:false},ShapeOverrides:{'arrowhead-connection':{Fill:'#808080'},'arrowhead-connection-selected':{Fill:'#008080'}}};// ── 7. Whiteboard (Minimal brackets, no fills) ──────────────
1315
+ this._Themes['whiteboard']={Key:'whiteboard',Label:'Whiteboard',CSSVariables:{'--pf-node-body-fill':'transparent','--pf-node-body-stroke':'#555555','--pf-node-body-stroke-width':'2','--pf-node-body-radius':'0px','--pf-node-shadow':'none','--pf-node-shadow-hover':'none','--pf-node-shadow-selected':'none','--pf-node-shadow-dragging':'none','--pf-node-title-fill':'#333333','--pf-node-title-size':'12px','--pf-node-title-weight':'600','--pf-node-title-bar-color':'transparent','--pf-node-type-label-fill':'#999999','--pf-node-selected-stroke':'#2255aa','--pf-port-input-fill':'#5577bb','--pf-port-output-fill':'#55aa77','--pf-port-stroke':'#ffffff','--pf-connection-stroke':'#888888','--pf-connection-selected-stroke':'#2255aa','--pf-canvas-bg':'#ffffff','--pf-grid-stroke':'#f0f0f0','--pf-panel-bg':'#ffffff','--pf-panel-border':'#cccccc','--pf-panel-radius':'0px','--pf-panel-shadow':'2px 2px 0px rgba(0,0,0,0.06)','--pf-panel-titlebar-bg':'#f8f8f8','--pf-panel-titlebar-border':'#e0e0e0','--pf-panel-title-color':'#333333'},AdditionalCSS:"\n\t\t\t\t.pict-flow-node-title,\n\t\t\t\t.pict-flow-node-type-label,\n\t\t\t\t.pict-flow-port-label,\n\t\t\t\t.pict-flow-node-card-code {\n\t\t\t\t\tfont-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, sans-serif !important;\n\t\t\t\t}\n\t\t\t\t/* Node-type bracket colors \u2014 each type gets its own bracket color */\n\t\t\t\t.pict-flow-node-start .pict-flow-node-bracket { stroke: var(--theme-color-status-success, #27ae60); }\n\t\t\t\t.pict-flow-node-end .pict-flow-node-bracket { stroke: #1abc9c; }\n\t\t\t\t.pict-flow-node-halt .pict-flow-node-bracket { stroke: var(--theme-color-status-error, #e74c3c); }\n\t\t\t\t.pict-flow-node-decision .pict-flow-node-bracket { stroke: var(--theme-color-status-warning, #f39c12); }\n\t\t\t\t.pict-flow-node-default .pict-flow-node-bracket { stroke: #3498db; }\n\t\t\t\t.pict-flow-node-action .pict-flow-node-bracket { stroke: #2c3e50; }\n\t\t\t\t/* Override variant rules: no fills/strokes on body rects in whiteboard */\n\t\t\t\t.pict-flow-node-decision .pict-flow-node-body,\n\t\t\t\t.pict-flow-node-start .pict-flow-node-body,\n\t\t\t\t.pict-flow-node-end .pict-flow-node-body,\n\t\t\t\t.pict-flow-node-halt .pict-flow-node-body {\n\t\t\t\t\tfill: transparent;\n\t\t\t\t\tstroke: transparent;\n\t\t\t\t\tstroke-width: 0;\n\t\t\t\t}\n\t\t\t\t/* Title bar fills transparent too */\n\t\t\t\t.pict-flow-node .pict-flow-node-bracket-title-fill {\n\t\t\t\t\tfill: transparent !important;\n\t\t\t\t}\n\t\t\t\t.pict-flow-node-title-icon {\n\t\t\t\t\tfilter: none !important;\n\t\t\t\t}\n\t\t\t",NodeBodyMode:'bracket',BracketConfig:{SerifLength:22,TitleSeparator:false},ConnectionConfig:{StrokeDashArray:null,StrokeWidth:1.5,ArrowheadStyle:'triangle'},NoiseConfig:{Enabled:true,DefaultLevel:0.3,MaxJitterPx:3,AffectsNodes:true,AffectsConnections:true},ShapeOverrides:{'arrowhead-connection':{Fill:'#888888'},'arrowhead-connection-selected':{Fill:'#2255aa'}}};}// ── Public API ────────────────────────────────────────────────────────
1316
1316
  /**
1317
1317
  * Get the active theme definition.
1318
1318
  * @returns {Object}
@@ -3065,7 +3065,7 @@ tmpView.onAfterRender(tmpEvent.Data.Renderable);}}catch(err){_iterator.e(err);}f
3065
3065
  * Lifecycle hook that triggers after data is marshaled into the view (async flow).
3066
3066
  *
3067
3067
  * @param {ErrorCallback} fCallback - The callback to call when the async operation is complete.
3068
- */},{key:"onAfterMarshalToViewAsync",value:function onAfterMarshalToViewAsync(fCallback){this.onAfterMarshalToView();return fCallback();}/** @return {boolean} - True if the object is a PictView. */},{key:"isPictView",get:function get(){return true;}}]);}(libFableServiceBase);module.exports=PictView;},{"../package.json":44,"fable-serviceproviderbase":4}],46:[function(require,module,exports){var MICRODDL_TYPE_MAP={'@':{DataType:'AutoIdentity',Label:'Auto ID',HasSize:false},'%':{DataType:'GUID',Label:'GUID',HasSize:false},'$':{DataType:'String',Label:'String',HasSize:true},'*':{DataType:'Text',Label:'Text',HasSize:false},'#':{DataType:'Numeric',Label:'Numeric',HasSize:false},'.':{DataType:'Decimal',Label:'Decimal',HasSize:true},'&':{DataType:'DateTime',Label:'Date/Time',HasSize:false},'^':{DataType:'Boolean',Label:'Boolean',HasSize:false}};var DATATYPE_TO_SYMBOL={};for(var tmpSymbol in MICRODDL_TYPE_MAP){DATATYPE_TO_SYMBOL[MICRODDL_TYPE_MAP[tmpSymbol].DataType]=tmpSymbol;}function columnsToMicroDDL(pColumns,pTableName){var tmpTableName=(pTableName||'Untitled').replace(/[^a-zA-Z0-9_]/g,'');var tmpLines=['!'+tmpTableName];for(var i=0;i<pColumns.length;i++){var tmpCol=pColumns[i];var _tmpSymbol=DATATYPE_TO_SYMBOL[tmpCol.DataType]||'$';var tmpLine=_tmpSymbol+(tmpCol.Name||'Column'+i);if(MICRODDL_TYPE_MAP[_tmpSymbol].HasSize&&tmpCol.Size){tmpLine+=' '+tmpCol.Size;}tmpLines.push(tmpLine);}return tmpLines.join('\n');}function microDDLToColumns(pDDL){var tmpLines=pDDL.split('\n');var tmpColumns=[];for(var i=0;i<tmpLines.length;i++){var tmpLine=tmpLines[i].trim();if(!tmpLine||tmpLine.startsWith('!')||tmpLine.startsWith('//')||tmpLine.startsWith('--')||tmpLine.startsWith('->')){continue;}var _tmpSymbol2=tmpLine.charAt(0);if(MICRODDL_TYPE_MAP.hasOwnProperty(_tmpSymbol2)){var tmpRest=tmpLine.substring(1).trim();var tmpParts=tmpRest.split(/\s+/);tmpColumns.push({Name:tmpParts[0]||'',DataType:MICRODDL_TYPE_MAP[_tmpSymbol2].DataType,Size:tmpParts[1]||''});}}return tmpColumns;}module.exports={MICRODDL_TYPE_MAP:MICRODDL_TYPE_MAP,DATATYPE_TO_SYMBOL:DATATYPE_TO_SYMBOL,columnsToMicroDDL:columnsToMicroDDL,microDDLToColumns:microDDLToColumns};},{}],47:[function(require,module,exports){var libPictView=require('pict-view');var libSchemaUtils=require('./MappingEditor-SchemaUtils.js');var _ViewConfiguration={ViewIdentifier:"MeadowMappingEditor",DefaultRenderable:"MeadowMappingEditor-Content",DefaultDestinationAddress:"#MeadowMap-Editor-Container",AutoRender:false,CSS:/*css*/"\n\t\t/* Meadow Mapping Editor */\n\t\t.meadow-mapping-editor {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.meadow-mapping-editor.active {\n\t\t\tdisplay: block;\n\t\t}\n\t\t.meadow-mapping-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 1em;\n\t\t\tmargin-bottom: 1em;\n\t\t}\n\t\t.meadow-mapping-header h3 {\n\t\t\tmargin: 0;\n\t\t\tflex: 1;\n\t\t}\n\t\t.meadow-mapping-list-table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-bottom: 1em;\n\t\t}\n\t\t.meadow-mapping-list-table th {\n\t\t\ttext-align: left;\n\t\t\tfont-size: 0.72em;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.5px;\n\t\t\tcolor: var(--facto-text-tertiary, #a09070);\n\t\t\tpadding: 0.5em 0.4em;\n\t\t\tborder-bottom: 1px solid var(--facto-border, #d6c8ae);\n\t\t}\n\t\t.meadow-mapping-list-table td {\n\t\t\tpadding: 0.35em 0.4em;\n\t\t\tborder-bottom: 1px solid var(--facto-border-subtle, #e8ddc8);\n\t\t\tvertical-align: middle;\n\t\t}\n\t\t.meadow-flow-container {\n\t\t\twidth: 100%;\n\t\t\theight: 500px;\n\t\t\tborder: 1px solid var(--facto-border, #d6c8ae);\n\t\t\tborder-radius: 6px;\n\t\t\tbackground: var(--facto-bg-surface, #fcf8f0);\n\t\t\tmargin-bottom: 0.75em;\n\t\t}\n\t\t.meadow-mapping-json-editor {\n\t\t\twidth: 100%;\n\t\t\tmin-height: 300px;\n\t\t\tfont-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;\n\t\t\tfont-size: 0.85em;\n\t\t\tpadding: 0.75em;\n\t\t\tborder: 1px solid var(--facto-border, #d6c8ae);\n\t\t\tborder-radius: 6px;\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t\tcolor: var(--facto-text, #3a3020);\n\t\t\tresize: vertical;\n\t\t\ttab-size: 4;\n\t\t}\n\t\t.meadow-mapping-store-checklist {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5em;\n\t\t\tmargin-top: 0.25em;\n\t\t}\n\t\t.meadow-mapping-store-checklist label {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.35em;\n\t\t\tfont-size: 0.82em;\n\t\t\tcursor: pointer;\n\t\t\tpadding: 0.3em 0.5em;\n\t\t\tborder: 1px solid var(--facto-border-subtle, #e8ddc8);\n\t\t\tborder-radius: 4px;\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t}\n\t\t.meadow-mapping-store-checklist label:has(input:checked) {\n\t\t\tborder-color: var(--facto-brand, #18a5a0);\n\t\t\tbackground: var(--facto-brand-a12, rgba(24,165,160,0.12));\n\t\t}\n\t\t.meadow-mapping-btn {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tpadding: 0.35em 0.9em;\n\t\t\tfont-size: 0.82em;\n\t\t\tfont-weight: 500;\n\t\t\tborder-radius: 4px;\n\t\t\tborder: 1px solid transparent;\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: none;\n\t\t\tline-height: 1.4;\n\t\t}\n\t\t.meadow-mapping-btn-primary {\n\t\t\tbackground: var(--facto-brand, #18a5a0);\n\t\t\tcolor: #fff;\n\t\t\tborder-color: var(--facto-brand, #18a5a0);\n\t\t}\n\t\t.meadow-mapping-btn-primary:hover {\n\t\t\topacity: 0.88;\n\t\t}\n\t\t.meadow-mapping-btn-secondary {\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t\tcolor: var(--facto-text, #3a3020);\n\t\t\tborder-color: var(--facto-border, #d6c8ae);\n\t\t}\n\t\t.meadow-mapping-btn-secondary:hover {\n\t\t\tbackground: var(--facto-border-subtle, #e8ddc8);\n\t\t}\n\t\t.meadow-mapping-btn-danger {\n\t\t\tbackground: #e74c3c;\n\t\t\tcolor: #fff;\n\t\t\tborder-color: #e74c3c;\n\t\t}\n\t\t.meadow-mapping-btn-danger:hover {\n\t\t\topacity: 0.88;\n\t\t}\n\t\t.meadow-mapping-btn-small {\n\t\t\tpadding: 0.2em 0.6em;\n\t\t\tfont-size: 0.78em;\n\t\t}\n\t\t.meadow-schema-mode-tabs {\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.25em;\n\t\t}\n\t\t.meadow-schema-mode-tab {\n\t\t\tpadding: 0.25em 0.75em;\n\t\t\tfont-size: 0.8em;\n\t\t\tborder: 1px solid var(--facto-border, #d6c8ae);\n\t\t\tborder-radius: 4px;\n\t\t\tcursor: pointer;\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t\tcolor: var(--facto-text, #3a3020);\n\t\t}\n\t\t.meadow-schema-mode-tab.active {\n\t\t\tbackground: var(--facto-brand, #18a5a0);\n\t\t\tcolor: #fff;\n\t\t\tborder-color: var(--facto-brand, #18a5a0);\n\t\t}\n\t\t.meadow-section-title {\n\t\t\tfont-size: 0.72em;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.5px;\n\t\t\tcolor: var(--facto-text-tertiary, #a09070);\n\t\t}\n\t",Templates:[{Hash:"MeadowMappingEditor-Template",Template:/*html*/"\n<div>\n\t<div id=\"MeadowMap-Editor\" class=\"meadow-mapping-editor\">\n\t\t<div class=\"meadow-mapping-header\">\n\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-secondary meadow-mapping-btn-small\" onclick=\"{~P~}.views['MeadowMappingEditor'].closeMappingEditor()\">&larr; Back</button>\n\t\t\t<h3 id=\"MeadowMap-Title\">Mapping Editor</h3>\n\t\t\t<div class=\"meadow-schema-mode-tabs\">\n\t\t\t\t<button class=\"meadow-schema-mode-tab active\" id=\"MeadowMap-Mode-Flow\" onclick=\"{~P~}.views['MeadowMappingEditor'].switchMapMode('flow')\">Visual Mapper</button>\n\t\t\t\t<button class=\"meadow-schema-mode-tab\" id=\"MeadowMap-Mode-JSON\" onclick=\"{~P~}.views['MeadowMappingEditor'].switchMapMode('json')\">JSON Config</button>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div id=\"MeadowMap-List-Wrap\">\n\t\t\t<div style=\"display:flex; align-items:center; justify-content:space-between; margin-bottom:0.75em;\">\n\t\t\t\t<div class=\"meadow-section-title\" style=\"margin:0;\">Existing Mappings</div>\n\t\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-primary meadow-mapping-btn-small\" onclick=\"{~P~}.views['MeadowMappingEditor'].newMapping()\">+ New Mapping</button>\n\t\t\t</div>\n\t\t\t<div id=\"MeadowMap-List\"></div>\n\t\t</div>\n\n\t\t<div id=\"MeadowMap-Detail\" style=\"display:none;\">\n\t\t\t<div style=\"display:flex; gap:0.5em; align-items:center; margin-bottom:0.75em;\">\n\t\t\t\t<label style=\"font-size:0.78em; font-weight:600;\">Mapping Name</label>\n\t\t\t\t<input type=\"text\" id=\"MeadowMap-Name\" placeholder=\"Mapping name\" style=\"flex:1; padding:0.3em 0.5em; font-size:0.85em; border:1px solid var(--facto-border); border-radius:4px; background:var(--facto-bg-input); color:var(--facto-text);\">\n\t\t\t</div>\n\n\t\t\t<div style=\"display:flex; gap:0.5em; align-items:center; margin-bottom:0.75em;\">\n\t\t\t\t<label style=\"font-size:0.78em; font-weight:600;\">Source</label>\n\t\t\t\t<select id=\"MeadowMap-Source\" style=\"flex:1; padding:0.3em 0.5em; font-size:0.85em; border:1px solid var(--facto-border); border-radius:4px;\"></select>\n\t\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-secondary meadow-mapping-btn-small\" onclick=\"{~P~}.views['MeadowMappingEditor'].discoverSourceFields()\">Discover Fields</button>\n\t\t\t</div>\n\n\t\t\t<div id=\"MeadowMap-Flow-Wrap\">\n\t\t\t\t<div id=\"MeadowMap-Flow-Container\" class=\"meadow-flow-container\"></div>\n\t\t\t</div>\n\n\t\t\t<div id=\"MeadowMap-JSON-Wrap\" style=\"display:none;\">\n\t\t\t\t<textarea class=\"meadow-mapping-json-editor\" id=\"MeadowMap-JSON\" placeholder='{\"Entity\":\"MyTable\",\"GUIDTemplate\":\"{~D:Record.IDRecord~}\",\"Mappings\":{},\"Solvers\":[],\"ManyfestAddresses\":false}'></textarea>\n\t\t\t</div>\n\n\t\t\t<div style=\"margin-top:0.75em;\">\n\t\t\t\t<div style=\"font-size:0.72em; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:var(--facto-text-tertiary); margin-bottom:0.35em;\">Target Stores</div>\n\t\t\t\t<div id=\"MeadowMap-Stores\" class=\"meadow-mapping-store-checklist\"></div>\n\t\t\t</div>\n\n\t\t\t<div style=\"margin-top:0.75em; display:flex; gap:0.5em; flex-wrap:wrap; align-items:center;\">\n\t\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-primary\" onclick=\"{~P~}.views['MeadowMappingEditor'].saveMapping()\">Save Mapping</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"}],Renderables:[{RenderableHash:"MeadowMappingEditor-Content",TemplateHash:"MeadowMappingEditor-Template",DestinationAddress:"#MeadowMap-Editor-Container",RenderMethod:"replace"}]};var MeadowMappingEditorView=/*#__PURE__*/function(_libPictView6){function MeadowMappingEditorView(pFable,pOptions,pServiceHash){var _this75;_classCallCheck(this,MeadowMappingEditorView);_this75=_callSuper(this,MeadowMappingEditorView,[pFable,pOptions,pServiceHash]);_this75._EditingContextID=0;_this75._EditingName='';_this75._CurrentMappings=[];_this75._SelectedMappingID=0;_this75._DiscoveredFields={};_this75._FlowView=null;_this75._MapEditorMode='flow';_this75._MappingSources=[];_this75._MappingStores=[];_this75._CurrentTargetSchema=null;return _this75;}// ── Overridable data methods ─────────────────────────────────────────────
3068
+ */},{key:"onAfterMarshalToViewAsync",value:function onAfterMarshalToViewAsync(fCallback){this.onAfterMarshalToView();return fCallback();}/** @return {boolean} - True if the object is a PictView. */},{key:"isPictView",get:function get(){return true;}}]);}(libFableServiceBase);module.exports=PictView;},{"../package.json":44,"fable-serviceproviderbase":4}],46:[function(require,module,exports){var MICRODDL_TYPE_MAP={'@':{DataType:'AutoIdentity',Label:'Auto ID',HasSize:false},'%':{DataType:'GUID',Label:'GUID',HasSize:false},'$':{DataType:'String',Label:'String',HasSize:true},'*':{DataType:'Text',Label:'Text',HasSize:false},'#':{DataType:'Numeric',Label:'Numeric',HasSize:false},'.':{DataType:'Decimal',Label:'Decimal',HasSize:true},'&':{DataType:'DateTime',Label:'Date/Time',HasSize:false},'^':{DataType:'Boolean',Label:'Boolean',HasSize:false}};var DATATYPE_TO_SYMBOL={};for(var tmpSymbol in MICRODDL_TYPE_MAP){DATATYPE_TO_SYMBOL[MICRODDL_TYPE_MAP[tmpSymbol].DataType]=tmpSymbol;}function columnsToMicroDDL(pColumns,pTableName){var tmpTableName=(pTableName||'Untitled').replace(/[^a-zA-Z0-9_]/g,'');var tmpLines=['!'+tmpTableName];for(var i=0;i<pColumns.length;i++){var tmpCol=pColumns[i];var _tmpSymbol=DATATYPE_TO_SYMBOL[tmpCol.DataType]||'$';var tmpLine=_tmpSymbol+(tmpCol.Name||'Column'+i);if(MICRODDL_TYPE_MAP[_tmpSymbol].HasSize&&tmpCol.Size){tmpLine+=' '+tmpCol.Size;}tmpLines.push(tmpLine);}return tmpLines.join('\n');}function microDDLToColumns(pDDL){var tmpLines=pDDL.split('\n');var tmpColumns=[];for(var i=0;i<tmpLines.length;i++){var tmpLine=tmpLines[i].trim();if(!tmpLine||tmpLine.startsWith('!')||tmpLine.startsWith('//')||tmpLine.startsWith('--')||tmpLine.startsWith('->')){continue;}var _tmpSymbol2=tmpLine.charAt(0);if(MICRODDL_TYPE_MAP.hasOwnProperty(_tmpSymbol2)){var tmpRest=tmpLine.substring(1).trim();var tmpParts=tmpRest.split(/\s+/);tmpColumns.push({Name:tmpParts[0]||'',DataType:MICRODDL_TYPE_MAP[_tmpSymbol2].DataType,Size:tmpParts[1]||''});}}return tmpColumns;}module.exports={MICRODDL_TYPE_MAP:MICRODDL_TYPE_MAP,DATATYPE_TO_SYMBOL:DATATYPE_TO_SYMBOL,columnsToMicroDDL:columnsToMicroDDL,microDDLToColumns:microDDLToColumns};},{}],47:[function(require,module,exports){var libPictView=require('pict-view');var libSchemaUtils=require('./MappingEditor-SchemaUtils.js');var _ViewConfiguration={ViewIdentifier:"MeadowMappingEditor",DefaultRenderable:"MeadowMappingEditor-Content",DefaultDestinationAddress:"#MeadowMap-Editor-Container",AutoRender:false,CSS:/*css*/"\n\t\t/* Meadow Mapping Editor */\n\t\t.meadow-mapping-editor {\n\t\t\tdisplay: none;\n\t\t}\n\t\t.meadow-mapping-editor.active {\n\t\t\tdisplay: block;\n\t\t}\n\t\t.meadow-mapping-header {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 1em;\n\t\t\tmargin-bottom: 1em;\n\t\t}\n\t\t.meadow-mapping-header h3 {\n\t\t\tmargin: 0;\n\t\t\tflex: 1;\n\t\t}\n\t\t.meadow-mapping-list-table {\n\t\t\twidth: 100%;\n\t\t\tborder-collapse: collapse;\n\t\t\tmargin-bottom: 1em;\n\t\t}\n\t\t.meadow-mapping-list-table th {\n\t\t\ttext-align: left;\n\t\t\tfont-size: 0.72em;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.5px;\n\t\t\tcolor: var(--facto-text-tertiary, #a09070);\n\t\t\tpadding: 0.5em 0.4em;\n\t\t\tborder-bottom: 1px solid var(--facto-border, #d6c8ae);\n\t\t}\n\t\t.meadow-mapping-list-table td {\n\t\t\tpadding: 0.35em 0.4em;\n\t\t\tborder-bottom: 1px solid var(--facto-border-subtle, #e8ddc8);\n\t\t\tvertical-align: middle;\n\t\t}\n\t\t.meadow-flow-container {\n\t\t\twidth: 100%;\n\t\t\theight: 500px;\n\t\t\tborder: 1px solid var(--facto-border, #d6c8ae);\n\t\t\tborder-radius: 6px;\n\t\t\tbackground: var(--facto-bg-surface, #fcf8f0);\n\t\t\tmargin-bottom: 0.75em;\n\t\t}\n\t\t.meadow-mapping-json-editor {\n\t\t\twidth: 100%;\n\t\t\tmin-height: 300px;\n\t\t\tfont-family: 'SF Mono', 'Fira Code', 'Cascadia Code', monospace;\n\t\t\tfont-size: 0.85em;\n\t\t\tpadding: 0.75em;\n\t\t\tborder: 1px solid var(--facto-border, #d6c8ae);\n\t\t\tborder-radius: 6px;\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t\tcolor: var(--facto-text, #3a3020);\n\t\t\tresize: vertical;\n\t\t\ttab-size: 4;\n\t\t}\n\t\t.meadow-mapping-store-checklist {\n\t\t\tdisplay: flex;\n\t\t\tflex-wrap: wrap;\n\t\t\tgap: 0.5em;\n\t\t\tmargin-top: 0.25em;\n\t\t}\n\t\t.meadow-mapping-store-checklist label {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tgap: 0.35em;\n\t\t\tfont-size: 0.82em;\n\t\t\tcursor: pointer;\n\t\t\tpadding: 0.3em 0.5em;\n\t\t\tborder: 1px solid var(--facto-border-subtle, #e8ddc8);\n\t\t\tborder-radius: 4px;\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t}\n\t\t.meadow-mapping-store-checklist label:has(input:checked) {\n\t\t\tborder-color: var(--facto-brand, #18a5a0);\n\t\t\tbackground: var(--facto-brand-a12, rgba(24,165,160,0.12));\n\t\t}\n\t\t.meadow-mapping-btn {\n\t\t\tdisplay: inline-flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tpadding: 0.35em 0.9em;\n\t\t\tfont-size: 0.82em;\n\t\t\tfont-weight: 500;\n\t\t\tborder-radius: 4px;\n\t\t\tborder: 1px solid transparent;\n\t\t\tcursor: pointer;\n\t\t\ttext-decoration: none;\n\t\t\tline-height: 1.4;\n\t\t}\n\t\t.meadow-mapping-btn-primary {\n\t\t\tbackground: var(--facto-brand, #18a5a0);\n\t\t\tcolor: #fff;\n\t\t\tborder-color: var(--facto-brand, #18a5a0);\n\t\t}\n\t\t.meadow-mapping-btn-primary:hover {\n\t\t\topacity: 0.88;\n\t\t}\n\t\t.meadow-mapping-btn-secondary {\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t\tcolor: var(--facto-text, #3a3020);\n\t\t\tborder-color: var(--facto-border, #d6c8ae);\n\t\t}\n\t\t.meadow-mapping-btn-secondary:hover {\n\t\t\tbackground: var(--facto-border-subtle, #e8ddc8);\n\t\t}\n\t\t.meadow-mapping-btn-danger {\n\t\t\tbackground: #e74c3c;\n\t\t\tcolor: #fff;\n\t\t\tborder-color: var(--theme-color-status-error, #e74c3c);\n\t\t}\n\t\t.meadow-mapping-btn-danger:hover {\n\t\t\topacity: 0.88;\n\t\t}\n\t\t.meadow-mapping-btn-small {\n\t\t\tpadding: 0.2em 0.6em;\n\t\t\tfont-size: 0.78em;\n\t\t}\n\t\t.meadow-schema-mode-tabs {\n\t\t\tdisplay: flex;\n\t\t\tgap: 0.25em;\n\t\t}\n\t\t.meadow-schema-mode-tab {\n\t\t\tpadding: 0.25em 0.75em;\n\t\t\tfont-size: 0.8em;\n\t\t\tborder: 1px solid var(--facto-border, #d6c8ae);\n\t\t\tborder-radius: 4px;\n\t\t\tcursor: pointer;\n\t\t\tbackground: var(--facto-bg-input, #fcf8f0);\n\t\t\tcolor: var(--facto-text, #3a3020);\n\t\t}\n\t\t.meadow-schema-mode-tab.active {\n\t\t\tbackground: var(--facto-brand, #18a5a0);\n\t\t\tcolor: #fff;\n\t\t\tborder-color: var(--facto-brand, #18a5a0);\n\t\t}\n\t\t.meadow-section-title {\n\t\t\tfont-size: 0.72em;\n\t\t\tfont-weight: 600;\n\t\t\ttext-transform: uppercase;\n\t\t\tletter-spacing: 0.5px;\n\t\t\tcolor: var(--facto-text-tertiary, #a09070);\n\t\t}\n\t",Templates:[{Hash:"MeadowMappingEditor-Template",Template:/*html*/"\n<div>\n\t<div id=\"MeadowMap-Editor\" class=\"meadow-mapping-editor\">\n\t\t<div class=\"meadow-mapping-header\">\n\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-secondary meadow-mapping-btn-small\" onclick=\"{~P~}.views['MeadowMappingEditor'].closeMappingEditor()\">&larr; Back</button>\n\t\t\t<h3 id=\"MeadowMap-Title\">Mapping Editor</h3>\n\t\t\t<div class=\"meadow-schema-mode-tabs\">\n\t\t\t\t<button class=\"meadow-schema-mode-tab active\" id=\"MeadowMap-Mode-Flow\" onclick=\"{~P~}.views['MeadowMappingEditor'].switchMapMode('flow')\">Visual Mapper</button>\n\t\t\t\t<button class=\"meadow-schema-mode-tab\" id=\"MeadowMap-Mode-JSON\" onclick=\"{~P~}.views['MeadowMappingEditor'].switchMapMode('json')\">JSON Config</button>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div id=\"MeadowMap-List-Wrap\">\n\t\t\t<div style=\"display:flex; align-items:center; justify-content:space-between; margin-bottom:0.75em;\">\n\t\t\t\t<div class=\"meadow-section-title\" style=\"margin:0;\">Existing Mappings</div>\n\t\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-primary meadow-mapping-btn-small\" onclick=\"{~P~}.views['MeadowMappingEditor'].newMapping()\">+ New Mapping</button>\n\t\t\t</div>\n\t\t\t<div id=\"MeadowMap-List\"></div>\n\t\t</div>\n\n\t\t<div id=\"MeadowMap-Detail\" style=\"display:none;\">\n\t\t\t<div style=\"display:flex; gap:0.5em; align-items:center; margin-bottom:0.75em;\">\n\t\t\t\t<label style=\"font-size:0.78em; font-weight:600;\">Mapping Name</label>\n\t\t\t\t<input type=\"text\" id=\"MeadowMap-Name\" placeholder=\"Mapping name\" style=\"flex:1; padding:0.3em 0.5em; font-size:0.85em; border:1px solid var(--facto-border); border-radius:4px; background:var(--facto-bg-input); color:var(--facto-text);\">\n\t\t\t</div>\n\n\t\t\t<div style=\"display:flex; gap:0.5em; align-items:center; margin-bottom:0.75em;\">\n\t\t\t\t<label style=\"font-size:0.78em; font-weight:600;\">Source</label>\n\t\t\t\t<select id=\"MeadowMap-Source\" style=\"flex:1; padding:0.3em 0.5em; font-size:0.85em; border:1px solid var(--facto-border); border-radius:4px;\"></select>\n\t\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-secondary meadow-mapping-btn-small\" onclick=\"{~P~}.views['MeadowMappingEditor'].discoverSourceFields()\">Discover Fields</button>\n\t\t\t</div>\n\n\t\t\t<div id=\"MeadowMap-Flow-Wrap\">\n\t\t\t\t<div id=\"MeadowMap-Flow-Container\" class=\"meadow-flow-container\"></div>\n\t\t\t</div>\n\n\t\t\t<div id=\"MeadowMap-JSON-Wrap\" style=\"display:none;\">\n\t\t\t\t<textarea class=\"meadow-mapping-json-editor\" id=\"MeadowMap-JSON\" placeholder='{\"Entity\":\"MyTable\",\"GUIDTemplate\":\"{~D:Record.IDRecord~}\",\"Mappings\":{},\"Solvers\":[],\"ManyfestAddresses\":false}'></textarea>\n\t\t\t</div>\n\n\t\t\t<div style=\"margin-top:0.75em;\">\n\t\t\t\t<div style=\"font-size:0.72em; font-weight:600; text-transform:uppercase; letter-spacing:0.5px; color:var(--facto-text-tertiary); margin-bottom:0.35em;\">Target Stores</div>\n\t\t\t\t<div id=\"MeadowMap-Stores\" class=\"meadow-mapping-store-checklist\"></div>\n\t\t\t</div>\n\n\t\t\t<div style=\"margin-top:0.75em; display:flex; gap:0.5em; flex-wrap:wrap; align-items:center;\">\n\t\t\t\t<button class=\"meadow-mapping-btn meadow-mapping-btn-primary\" onclick=\"{~P~}.views['MeadowMappingEditor'].saveMapping()\">Save Mapping</button>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n"}],Renderables:[{RenderableHash:"MeadowMappingEditor-Content",TemplateHash:"MeadowMappingEditor-Template",DestinationAddress:"#MeadowMap-Editor-Container",RenderMethod:"replace"}]};var MeadowMappingEditorView=/*#__PURE__*/function(_libPictView6){function MeadowMappingEditorView(pFable,pOptions,pServiceHash){var _this75;_classCallCheck(this,MeadowMappingEditorView);_this75=_callSuper(this,MeadowMappingEditorView,[pFable,pOptions,pServiceHash]);_this75._EditingContextID=0;_this75._EditingName='';_this75._CurrentMappings=[];_this75._SelectedMappingID=0;_this75._DiscoveredFields={};_this75._FlowView=null;_this75._MapEditorMode='flow';_this75._MappingSources=[];_this75._MappingStores=[];_this75._CurrentTargetSchema=null;return _this75;}// ── Overridable data methods ─────────────────────────────────────────────
3069
3069
  // Embedding apps override these to wire up their own persistence layer.
3070
3070
  /** Load all mappings for a context (e.g. dataset). Must return a Promise
3071
3071
  * that resolves to { Mappings: [...] }. */_inherits(MeadowMappingEditorView,_libPictView6);return _createClass(MeadowMappingEditorView,[{key:"_doLoadMappings",value:function _doLoadMappings(pContextID){return Promise.resolve({Mappings:[]});}/** Load all available sources. Must return a Promise that resolves to an
@@ -3180,7 +3180,7 @@ _this81._doLoadMappings(_this81._EditingContextID).then(function(pResult){_this8
3180
3180
  *
3181
3181
  * @class FlowCardSolverExpression
3182
3182
  * @extends PictFlowCard
3183
- */var FlowCardSolverExpression=/*#__PURE__*/function(_libPictFlowCard3){function FlowCardSolverExpression(pFable,pOptions,pServiceHash){var _this84;_classCallCheck(this,FlowCardSolverExpression);var tmpOptions=Object.assign({},{Title:'Solver Expression',Name:'Solver Expression',Code:'SOL',Category:'Transform',Description:'Apply a Fable solver expression for conditional logic and computed values',TitleBarColor:'#d35400',Width:220,Height:90,Inputs:[{Name:'Whole Record',Side:'left'}],Outputs:[{Name:'Result',Side:'right'}],ShowTypeLabel:true,PortLabelsOnHover:false,PortLabelsOutside:true,LabelsInFront:true,Enabled:true,BodyContent:{ContentType:'html',Template:'<div style="font-size:10px; padding:2px 4px; color:#ccc; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:200px;">{~D:Record.Data.SolverExpression~}</div>'},PropertiesPanel:{PanelType:'Template',DefaultWidth:420,DefaultHeight:160,Title:'Solver Expression',Configuration:{Template:'<div style="padding:8px;"><label style="display:block; margin-bottom:4px; font-weight:bold; font-size:12px;">Solver Expression</label><textarea id="FlowCard-SOL-{~D:Record.Hash~}" style="width:100%; height:80px; font-family:monospace; font-size:12px; resize:vertical; background:#1a1a2e; color:#e0e0e0; border:1px solid #444; border-radius:4px; padding:6px;" onchange="(function(el){var n=pict.views[\'MeadowMapping-Flow\'];if(n&&n._FlowData){for(var i=0;i<n._FlowData.Nodes.length;i++){if(n._FlowData.Nodes[i].Hash===\'{~D:Record.Hash~}\'){n._FlowData.Nodes[i].Data.SolverExpression=el.value;if(typeof n.renderFlow===\'function\')n.renderFlow();break;}}}})(this)">{~D:Record.Data.SolverExpression~}</textarea><div style="font-size:10px; color:#888; margin-top:4px;">Example: IF(IncomingRecord.Type == \'Premium\', \'GOLD\', \'SILVER\')</div></div>'}}},pOptions);_this84=_callSuper(this,FlowCardSolverExpression,[pFable,tmpOptions,pServiceHash]);_this84.serviceType='FlowCardSolverExpression';return _this84;}_inherits(FlowCardSolverExpression,_libPictFlowCard3);return _createClass(FlowCardSolverExpression);}(libPictFlowCard);module.exports=FlowCardSolverExpression;module.exports.default_configuration={Title:'Solver Expression',Code:'SOL',Category:'Transform',TitleBarColor:'#d35400',Width:220,Height:90};},{"pict-section-flow":9}],51:[function(require,module,exports){var libPictFlowCard=require('pict-section-flow').PictFlowCard;/**
3183
+ */var FlowCardSolverExpression=/*#__PURE__*/function(_libPictFlowCard3){function FlowCardSolverExpression(pFable,pOptions,pServiceHash){var _this84;_classCallCheck(this,FlowCardSolverExpression);var tmpOptions=Object.assign({},{Title:'Solver Expression',Name:'Solver Expression',Code:'SOL',Category:'Transform',Description:'Apply a Fable solver expression for conditional logic and computed values',TitleBarColor:'#d35400',Width:220,Height:90,Inputs:[{Name:'Whole Record',Side:'left'}],Outputs:[{Name:'Result',Side:'right'}],ShowTypeLabel:true,PortLabelsOnHover:false,PortLabelsOutside:true,LabelsInFront:true,Enabled:true,BodyContent:{ContentType:'html',Template:'<div style="font-size:10px; padding:2px 4px; color:var(--theme-color-border-default, #ccc); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:200px;">{~D:Record.Data.SolverExpression~}</div>'},PropertiesPanel:{PanelType:'Template',DefaultWidth:420,DefaultHeight:160,Title:'Solver Expression',Configuration:{Template:'<div style="padding:8px;"><label style="display:block; margin-bottom:4px; font-weight:bold; font-size:12px;">Solver Expression</label><textarea id="FlowCard-SOL-{~D:Record.Hash~}" style="width:100%; height:80px; font-family:monospace; font-size:12px; resize:vertical; background:#1a1a2e; color:var(--theme-color-border-default, #e0e0e0); border:1px solid var(--theme-color-text-secondary, #444); border-radius:4px; padding:6px;" onchange="(function(el){var n=pict.views[\'MeadowMapping-Flow\'];if(n&&n._FlowData){for(var i=0;i<n._FlowData.Nodes.length;i++){if(n._FlowData.Nodes[i].Hash===\'{~D:Record.Hash~}\'){n._FlowData.Nodes[i].Data.SolverExpression=el.value;if(typeof n.renderFlow===\'function\')n.renderFlow();break;}}}})(this)">{~D:Record.Data.SolverExpression~}</textarea><div style="font-size:10px; color:var(--theme-color-text-muted, #888); margin-top:4px;">Example: IF(IncomingRecord.Type == \'Premium\', \'GOLD\', \'SILVER\')</div></div>'}}},pOptions);_this84=_callSuper(this,FlowCardSolverExpression,[pFable,tmpOptions,pServiceHash]);_this84.serviceType='FlowCardSolverExpression';return _this84;}_inherits(FlowCardSolverExpression,_libPictFlowCard3);return _createClass(FlowCardSolverExpression);}(libPictFlowCard);module.exports=FlowCardSolverExpression;module.exports.default_configuration={Title:'Solver Expression',Code:'SOL',Category:'Transform',TitleBarColor:'#d35400',Width:220,Height:90};},{"pict-section-flow":9}],51:[function(require,module,exports){var libPictFlowCard=require('pict-section-flow').PictFlowCard;/**
3184
3184
  * FlowCard-TemplateExpression
3185
3185
  *
3186
3186
  * A transform card that applies a Manyfest template expression to the
@@ -3191,5 +3191,5 @@ _this81._doLoadMappings(_this81._EditingContextID).then(function(pResult){_this8
3191
3191
  *
3192
3192
  * @class FlowCardTemplateExpression
3193
3193
  * @extends PictFlowCard
3194
- */var FlowCardTemplateExpression=/*#__PURE__*/function(_libPictFlowCard4){function FlowCardTemplateExpression(pFable,pOptions,pServiceHash){var _this85;_classCallCheck(this,FlowCardTemplateExpression);var tmpOptions=Object.assign({},{Title:'Template Expression',Name:'Template Expression',Code:'TPL',Category:'Transform',Description:'Apply a Manyfest template expression to map source fields to a target column',TitleBarColor:'#8e44ad',Width:220,Height:90,Inputs:[{Name:'Whole Record',Side:'left'}],Outputs:[{Name:'Result',Side:'right'}],ShowTypeLabel:true,PortLabelsOnHover:false,PortLabelsOutside:true,LabelsInFront:true,Enabled:true,BodyContent:{ContentType:'html',Template:'<div style="font-size:10px; padding:2px 4px; color:#ccc; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:200px;">{~D:Record.Data.TemplateExpression~}</div>'},PropertiesPanel:{PanelType:'Template',DefaultWidth:420,DefaultHeight:160,Title:'Template Expression',Configuration:{Template:'<div style="padding:8px;"><label style="display:block; margin-bottom:4px; font-weight:bold; font-size:12px;">Template Expression</label><textarea id="FlowCard-TPL-{~D:Record.Hash~}" style="width:100%; height:80px; font-family:monospace; font-size:12px; resize:vertical; background:#1a1a2e; color:#e0e0e0; border:1px solid #444; border-radius:4px; padding:6px;" onchange="(function(el){var n=pict.views[\'MeadowMapping-Flow\'];if(n&&n._FlowData){for(var i=0;i<n._FlowData.Nodes.length;i++){if(n._FlowData.Nodes[i].Hash===\'{~D:Record.Hash~}\'){n._FlowData.Nodes[i].Data.TemplateExpression=el.value;if(typeof n.renderFlow===\'function\')n.renderFlow();break;}}}})(this)">{~D:Record.Data.TemplateExpression~}</textarea><div style="font-size:10px; color:#888; margin-top:4px;">Use {~D:Record.FieldName~} syntax. Example: {~D:Record.Name~} in {~D:Record.City~}</div></div>'}}},pOptions);_this85=_callSuper(this,FlowCardTemplateExpression,[pFable,tmpOptions,pServiceHash]);_this85.serviceType='FlowCardTemplateExpression';return _this85;}_inherits(FlowCardTemplateExpression,_libPictFlowCard4);return _createClass(FlowCardTemplateExpression);}(libPictFlowCard);module.exports=FlowCardTemplateExpression;module.exports.default_configuration={Title:'Template Expression',Code:'TPL',Category:'Transform',TitleBarColor:'#8e44ad',Width:220,Height:90};},{"pict-section-flow":9}]},{},[1])(1);});
3194
+ */var FlowCardTemplateExpression=/*#__PURE__*/function(_libPictFlowCard4){function FlowCardTemplateExpression(pFable,pOptions,pServiceHash){var _this85;_classCallCheck(this,FlowCardTemplateExpression);var tmpOptions=Object.assign({},{Title:'Template Expression',Name:'Template Expression',Code:'TPL',Category:'Transform',Description:'Apply a Manyfest template expression to map source fields to a target column',TitleBarColor:'#8e44ad',Width:220,Height:90,Inputs:[{Name:'Whole Record',Side:'left'}],Outputs:[{Name:'Result',Side:'right'}],ShowTypeLabel:true,PortLabelsOnHover:false,PortLabelsOutside:true,LabelsInFront:true,Enabled:true,BodyContent:{ContentType:'html',Template:'<div style="font-size:10px; padding:2px 4px; color:var(--theme-color-border-default, #ccc); overflow:hidden; white-space:nowrap; text-overflow:ellipsis; max-width:200px;">{~D:Record.Data.TemplateExpression~}</div>'},PropertiesPanel:{PanelType:'Template',DefaultWidth:420,DefaultHeight:160,Title:'Template Expression',Configuration:{Template:'<div style="padding:8px;"><label style="display:block; margin-bottom:4px; font-weight:bold; font-size:12px;">Template Expression</label><textarea id="FlowCard-TPL-{~D:Record.Hash~}" style="width:100%; height:80px; font-family:monospace; font-size:12px; resize:vertical; background:#1a1a2e; color:var(--theme-color-border-default, #e0e0e0); border:1px solid var(--theme-color-text-secondary, #444); border-radius:4px; padding:6px;" onchange="(function(el){var n=pict.views[\'MeadowMapping-Flow\'];if(n&&n._FlowData){for(var i=0;i<n._FlowData.Nodes.length;i++){if(n._FlowData.Nodes[i].Hash===\'{~D:Record.Hash~}\'){n._FlowData.Nodes[i].Data.TemplateExpression=el.value;if(typeof n.renderFlow===\'function\')n.renderFlow();break;}}}})(this)">{~D:Record.Data.TemplateExpression~}</textarea><div style="font-size:10px; color:var(--theme-color-text-muted, #888); margin-top:4px;">Use {~D:Record.FieldName~} syntax. Example: {~D:Record.Name~} in {~D:Record.City~}</div></div>'}}},pOptions);_this85=_callSuper(this,FlowCardTemplateExpression,[pFable,tmpOptions,pServiceHash]);_this85.serviceType='FlowCardTemplateExpression';return _this85;}_inherits(FlowCardTemplateExpression,_libPictFlowCard4);return _createClass(FlowCardTemplateExpression);}(libPictFlowCard);module.exports=FlowCardTemplateExpression;module.exports.default_configuration={Title:'Template Expression',Code:'TPL',Category:'Transform',TitleBarColor:'#8e44ad',Width:220,Height:90};},{"pict-section-flow":9}]},{},[1])(1);});
3195
3195
  //# sourceMappingURL=mapping-demo-editor.js.map