UNPKG

canvasxpress-cli

Version:

Node program to run canvasXpress in the command line

2,090 lines (1,838 loc) 139 kB
@charset "UTF-8"; /* @category: shared */ /* * Favorite Colors * rgb(51, 122, 183) - #337ab7 * rgb(76, 159, 224) - #4c9fe0 * rgb(83, 105, 255) - #5369ff */ :root { /* Colors */ --cx-color-red: rgb(255, 0, 0); --cx-color-blue: rgb(0, 0, 255); --cx-color-green: rgb(0, 255, 0); --cx-color-yellow: rgb(255, 255, 0); --cx-color-orange: rgb(255, 165, 0); --cx-color-purple: rgb(128, 0, 128); --cx-color-white: rgb(255, 255, 255); --cx-color-gray: rgb(128, 128, 128); --cx-color-black: rgb(0, 0, 0); --cx-color-transparent: rgba(0, 0, 0, 0); /* Greys */ --cx-color-extra-dark-gray: rgb(34, 34, 34); --cx-color-dark-gray: rgb(64, 64, 64); --cx-color-medium-gray: rgb(180, 180, 180); --cx-color-light-gray: rgb(204, 204, 204); --cx-color-extra-light-gray: rgb(238, 238, 238); /* Icons - Not used but just to remember */ --cx-icon-class-a: #5369ff; --cx-icon-class-b: #292929; --cx-icon-class-c: #999999; --cx-icon-class-r: #ff0000; /* Coding colors */ --cx-code-key: rgb(215, 48, 39); --cx-code-value: rgb(69, 117, 180); --cx-code-string: rgb(168, 82, 2); --cx-code-number: rgb(69, 117, 180); --cx-code-boolean: rgb(102, 102, 0); --cx-code-null: rgb(69, 117, 180); --cx-code-comment: rgb(58, 115, 0); /* Favorite UI colors */ --cx-color-ui-background: rgb(255, 255, 255); --cx-color-ui-font: rgb(34, 34, 34); --cx-color-widgets: rgb(83, 105, 255); --cx-color-widgets-hover: rgba(83, 105, 255, 0.1); /* Favorite UI Styles - Not used but just to remember */ --cx-color-modern: rgb(83, 105, 255); --cx-color-modern-hover: rgba(83, 105, 255, 0.1) ; --cx-color-stripped: rgb(230, 230, 230) ; --cx-color-stripped-hover: rgba(180, 180, 180, 0.3); --cx-color-old: linear-gradient(rgb(240, 240, 240), rgb(230, 230, 230)); --cx-color-old-hover: rgba(230,230,230,0.1); --cx-color-bms: rgb(190, 43, 187); --cx-color-bms-hover: rgba(190, 43, 187, 0.1); --cx-color-bms2: rgb(89, 84, 84); --cx-color-bms2-hover: rgba(89, 84, 84, 0.1); /* Font */ --cx-x-small-font-size: 11px; --cx-small-font-size: 12px; --cx-medium-font-size: 13px; --cx-font-size: 15px; --cx-large-font-size: 16px; --cx-x-large-font-size: 17px; --cx-font-color: var(--cx-color-ui-font); --cx-font: var(--cx-font-size) var(--cx-font-family); --cx-large-font: var(--cx-large-font-size) var(--cx-font-family); --cx-x-large-font: var(--cx-x-large-font-size) var(--cx-font-family); --cx-font-bold: bold var(--cx-font-size) var(--cx-font-family); --cx-large-font-bold: bold var(--cx-large-font-size) var(--cx-font-family); --cx-x-large-font-bold: bold var(--cx-x-large-font-size) var(--cx-font-family); --cx-font-italic: italic var(--cx-font-size) var(--cx-font-family); --cx-large-font-italic: italic var(--cx-large-font-size) var(--cx-font-family); --cx-x-large-font-italic: italic var(--cx-x-large-font-size) var(--cx-font-family); --cx-small-font-italic: italic var(--cx-small-font-size) var(--cx-font-family); /* Background */ --cx-background-widgets-color: var(--cx-color-ui-background); --cx-background-color: var(--cx-color-widgets); --cx-background-hover-color: var(--cx-color-widgets-hover); --cx-background-border-hover-color: var(--cx-color-white); --cx-background-accent-color: var(--cx-color-widgets-hover); --cx-background-contrast-color: var(--cx-background-color); /* Border */ --cx-border: var(--cx-border-width) var(--cx-border-style) var(--cx-color-widgets); /* Callouts */ --cx-callout-size: 8px; --cx-callout-radius: 10px; --cx-callout-border-width: 1px; --cx-callout-background-color: var(--cx-color-ui-background); --cx-callout-border-color: var(--cx-color-widgets); /* Transitions */ --cx-transition-speed: 0.5s; /* UI: These are the exposed variables */ --cx-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif !important; --cx-border-radius: 5px; --cx-border-width: 1px; --cx-border-style: solid; --cx-border-transparent: var(--cx-border-width) var(--cx-border-style) var(--cx-color-transparent); /* Scrollbar */ --cx-scrollbar-background-color: rgb(255, 255, 255); --cx-scrollbar-alt-background-color: rgb(245, 245, 245); --cx-scrollbar-thumb-color: #aaaaaa; --cx-scrollbar-thumb-hover-color: #888888; /* Customizer */ --cx-customizer-close-background-color: rgb(8, 122, 209); --cx-customizer-close-text-color: rgb(255, 255, 255); --cx-customizer-background-color: rgb(255, 255, 255); --cx-customizer-border-color: rgb(8, 122, 209); --cx-customizer-text-color: #555b62; --cx-customizer-font-size: 12px; --cx-customizer-hover-color: rgba(124, 182, 226, 0.2); /* Data Filter */ --cx-toggle-switch-background-color: rgb(8, 122, 209); --cx-datafilter-background-color: #ffffff; --cx-datafilter-border-color: #087ad1; --cx-datafilter-toolbar-background-color: #cccccc; --cx-datafilter-text-color: #555b62; --cx-datafilter-font-size: 12px; --cx-datafilter-hover-color: rgba(124, 182, 226, 0.2); /* Context Menu */ --cx-context-menu-background-color: #ffffff; --cx-context-menu-border-color: #087ad1; --cx-context-menu-text-color: #555b62; --cx-context-menu-font-size: 11px; --cx-context-menu-hover-color: rgba(124, 182, 226, 0.2); /* Data Table */ --cx-datatable-accent-color: rgb(8, 122, 209); --cx-datatable-background-color: rgb(255, 255, 255); --cx-datatable-border-color: rgb(8, 122, 209); --cx-datatable-banner-background-color: rgb(255, 255, 255); --cx-datatable-banner-border-color: rgb(215, 226, 230); --cx-datatable-banner-text-color: rgb(85, 91, 98); --cx-datatable-toolbar-border-color: rgb(215, 226, 230); --cx-datatable-header-background-color: rgb(255, 255, 255); --cx-datatable-header-text-color: rgb(85, 91, 98); --cx-datatable-cell-background-color: rgb(255, 255, 255); --cx-datatable-oddcell-background-color: rgb(247, 248, 249); --cx-datatable-cell-border-color: rgb(215, 226, 230); --cx-datatable-cell-text-color: rgb(85, 91, 98); --cx-datatable-activecell-border-color: rgb(124, 182, 226); --cx-datatable-status-background-color: rgb(255, 255, 255); --cx-datatable-status-border-color: rgb(215, 226, 230); --cx-datatable-status-text-color: rgb(85, 91, 98); --cx-datatable-pagination-background-color: rgb(255, 255, 255); --cx-datatable-pagination-border-color: rgb(215, 226, 230); --cx-datatable-pagination-text-color: rgb(85, 91, 98); --cx-datatable-cell-hover-background-color: rgba(124, 182, 226, 0.2); --cx-datatable-row-hover-background-color: rgba(124, 182, 226, 0.2); --cx-datatable-toolbar-font-size: 14px; --cx-datatable-header-font-size: 15px; --cx-datatable-body-font-size: 15px; --cx-datatable-cell-font-size: 15px; --cx-datatable-cell-font-family: var(--cx-font-family); /* Workflow */ --cx-workflow-background-color: #ffffff; --cx-workflow-border-color: rgb(215, 226, 230); --cx-workflow-text-color: #555b62; --cx-workflow-hover-color: rgba(124, 182, 226, 0.2); --cx-workflow-active-color: rgba(124, 182, 226, 0.2); --cx-workflow-slider-track-color: rgb(215, 226, 230); --cx-workflow-slider-fill-color: rgb(8, 122, 209); --cx-workflow-slider-thumb-color: rgb(8, 122, 209); --cx-workflow-slider-thumb-border-color: #ffffff; --cx-workflow-list-label-font-size: 10px; --cx-workflow-list-tick-font-size: 6px; --cx-workflow-list-text-color: #555b62; --cx-workflow-list-tick-color: rgb(215, 226, 230); --cx-workflow-button-background-color: #ffffff; --cx-workflow-button-border-color: rgb(215, 226, 230); --cx-workflow-timeline-border-color: rgb(215, 226, 230); } *, :after, :before { box-sizing: border-box; } input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; } input[type="color"]::-webkit-color-swatch { border: none; } .unselectable, img, svg, .cX-Toolbar-Font, .cX-Toolbar-Round, .cX-Toolbar-Stripe, img.cX-code, svg.cX-code, pre.cX-code-content code::before, div.cX-bin, div.cX-bin-container, div.cX-bin-name-container, table.cX-bin-table, span.cX-bin, div.cX-DataTable, .cX-DataTable-Container, .cX-DataTable-Tooltip, .cX-DataTable-Cell-Tooltip, .cX-DataTable-Root, .cX-DataTable-Vertical-Scrollbar, .cX-DataTable-Horizontal-Scrollbar, .cX-DataTable-Header-Viewport, img.cX-DataTable-Toolbar-Image, svg.cX-DataTable-Toolbar-Image, .cX-DataTable-Toolbar-Image-Logo, table.cX-DataTable, .cX-DataTable-Cell-Head, .cX-DataTable-Cell-Head-Active, td.cX-DataTable-Cell, td.cX-DataTable-Cell-Active, .cX-DataFilter, .cX-DataFilter-Toolbar, .cX-DataFilter-Head, .cX-DataFilter-Head-Active, .cX-DataFilter-Toolbar svg.cX-DataFilter-Toolbar-Image, .cX-Password-Container, .cX-Password-Icon, .cX-Menu-Item-Scroll-Top, .cX-Menu-Item-Scroll-Top-Active, .cX-Menu-Item-Scroll-Bottom, .cX-Menu-Item-Scroll-Bottom-Active, img.cX-Toolbar-Help, svg.cX-Toolbar-Help, div.cX-Toolbar-Help { -webkit-touch-callout: none; /* iOS Safari */ -webkit-user-select: none; /* Safari */ -khtml-user-select: none; /* Konqueror HTML */ -moz-user-select: none; /* Old versions of Firefox */ -ms-user-select: none; /* Internet Explorer/Edge */ user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */ } /* @category: shared */ /***************** * SVG No border * *****************/ svg.cX-bin, svg.cX-code, svg.cX-Chat, svg.cX-DataFilter-Toolbar-Image, svg.cX-DataFilter-Toolbar-ImageNB { background: var(--cx-color-transparent) !important; border: none !important; box-shadow: 0 0 0px var(--cx-color-transparent) !important; cursor: default; float: right; margin: 5px 8px 0px 0px !important; } svg > * { pointer-events: none; } svg.cX-DataTable-Toolbar-Image > *, svg.cX-DataTable-Toolbar-Image-Logo > * { pointer-events: auto; } svg.cX-DataTable-Toolbar-Image, svg.cX-DataTable-Toolbar-Image-Logo { pointer-events: auto; } /***************** * SVG Border * *****************/ svg.cX-code { border-radius: var(--cx-border-radius); border: var(--cx-border) !important; padding: 5px; } /*************** * draggable * ***************/ .draggable { cursor: move; cursor: grab; cursor: -moz-grab; cursor: -webkit-grab; } .draggable:active { cursor: grabbing; cursor: -moz-grabbing; cursor: -webkit-grabbing; } /**************** * Hover / Active * *****************/ .simulate-hover { border-color: var(--cx-background-border-hover-color) !important; background: var(--cx-background-hover-color) !important; } /***************** * Loading Timer * *****************/ .cX-Loader { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 100000; display: none; text-align: center; color: rgb(83, 105, 255); background: rgba(0, 0, 0, 0); padding: 15px; border-radius: var(--cx-border-radius); } .cX-Loader-Spinner { border: 15px solid rgba(255, 255, 255, 0.5); border-top: 15px solid rgb(83, 105, 255); border-radius: 50%; width: 100px; height: 100px; animation: spin 1s linear infinite; margin: 0 auto 5px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } /* @category: widget */ /***************** * Code * *****************/ .cX-Code-Key { color: var(--cx-code-key); font-weight: bold; } .cX-Code-Value, .cX-Code-Number, .cX-Code-Null { color: var(--cx-code-value); } .cX-Code-String { color: var(--cx-code-string); } .cX-Code-Boolean { color: var(--cx-code-boolean); } .cX-Code-Comment { color: var(--cx-code-comment); } .cX-Container-Code { z-index: 100000; background: transparent; } div.cX-Code { border: var(--cx-border); border-radius: var(--cx-border-radius); background-color: var(--cx-color-extra-light-gray); color: var(--cx-font-color); font: var(--cx-font); margin: 2px 3px; padding: 10px 20px 20px 10px; position: absolute; white-space: nowrap; overflow: hidden; z-index: 10000; } .cX-Code-Container { clear: both; width: 600px; overflow: auto; background-color: var(--cx-color-white); position: relative; top: 10px; } .cX-Code-Toolbar { display: flex; flex-wrap: nowrap; overflow: hidden; justify-content: start; } .cX-Code-Icons { display: flex; position: relative; margin-left: auto; gap: 8px; align-items: center; } .cX-Code-Icons img, .cX-Code-Icons svg { width: 24px; height: 24px; } .cX-Code-Error { height: 36px; width: 280px; float: left; clear: none; resize: none; top: 5px; left: 20px; background-color: var(--cx-color-extra-light-gray); overflow: hidden; white-space: nowrap; color: var(--cx-color-red); position: relative; cursor: pointer; } .cX-Code-Content, .cX-Code-Content code { padding: 0; margin: 0; font-size: inherit; line-height: inherit; color: inherit; border: none; } .cX-Code-Content { white-space: pre; outline: none; cursor: text; font-size: small; text-align: left; word-break: inherit; word-wrap: inherit; background-color: inherit; border-radius: inherit; counter-reset: listing; } .cX-Code-Content code { counter-increment: listing; line-height: 1.5; } .cX-Code-Content code::before { content: counter(listing) " "; display: inline-block; width: 3em; border-right: 1px solid rgb(221, 221, 221); text-align: right; background-color: var(--cx-color-extra-light-gray); } /* @category: widget */ /****************** * Chat Interface * ******************/ .cX-Container-Chat { height: fit-content; opacity: 0; visibility: hidden; background: #ffffff; transition: all var(--cx-transition-speed) ease; width: 100%; display: none; align-items: center; justify-content: center; flex-shrink: 0; min-height: 70px; top: var(--base-h); left: 0; } .cX-Wrapper.show-Chat .cX-Container-Chat { opacity: 1; visibility: visible; margin-top: 10px; } div.cX-Chat { width: 100%; max-width: 900px; background: white; border: 1px solid #cbd5e1; border-radius: var(--cx-border-radius); box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); overflow: hidden; margin-top: 2px; } .cX-Chat-Toolbar-Container { width: 100%; height: 35px; background: #f8fafc; border-bottom: 1px solid #e2e8f0; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; box-sizing: border-box; color: #475569; } .cX-Chat-Toolbar-Container .cX-Chat-Left-Toolbar-Container, .cX-Chat-Toolbar-Container .cX-Chat-Right-Toolbar-Container { display: flex; align-items: center; gap: 10px; } .cX-Chat-Configurator-Container { display: none; width: 100%; background: #f1f5f9; border-bottom: 1px solid #e2e8f0; padding: 4px 20px; box-sizing: border-box; font-size: medium; color: #475569; align-items: center; gap: 8px; } .cX-Chat-Configurator { padding-left: 5px; border-radius: var(--cx-border-radius); border-width: 0.5px; height: 24px; } .cX-Chat-Text-Container { display: flex; width: 100%; min-height: 100px; background: #ffffff; pointer-events: none; } .cX-Chat-Text-Area-Container { width: calc(100% - 46px); padding: 8px; box-sizing: border-box; position: relative; pointer-events: none; } .cX-Chat-Messages-Container { width: 100%; background: transparent; border: none; outline: none; font-family: var(--cx-font-family); overscroll-behavior: contain; } .cX-Chat-Messages-Container:has(.cX-Chat-Messages:not(:empty)) { border-top: var(--cx-border); } .cX-Chat-Messages { display: block; } /* * Chat HTML Panel — floating, draggable, closable */ .cX-Chat-Html-Panel { position: fixed; width: 500px; height: 400px; background-color: var(--cx-background-widgets-color); border: var(--cx-border); border-radius: var(--cx-border-radius); z-index: 10005; box-sizing: border-box; display: flex; flex-direction: column; overflow: hidden; cursor: move; resize: both; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18); } .cX-Chat-Html-Panel-Header { display: flex; align-items: center; justify-content: space-between; padding: 6px 10px; background: var(--cx-background-color); border-bottom: var(--cx-border); flex-shrink: 0; user-select: none; } .cX-Chat-Html-Panel-Title { font-family: var(--cx-font-family); font-size: var(--cx-medium-font-size); font-weight: 600; color: var(--cx-color-ui-background); } img.cX-Chat-Html-Panel-Close, svg.cX-Chat-Html-Panel-Close { cursor: pointer; background: transparent !important; border: none !important; box-shadow: none !important; flex-shrink: 0; } .cX-Chat-Html-Panel-Content { overflow-y: auto; padding: 0; flex: 1; cursor: default; overscroll-behavior: contain; } /* * Chat HTML Panel — LLM response content */ .cX-Chat-LLM-Response { font-family: var(--cx-font-family); font-size: var(--cx-large-font-size); line-height: 1.6; color: var(--cx-color-ui-font); background: var(--cx-background-widgets-color); border: var(--cx-border); border-radius: var(--cx-border-radius); padding: 16px 20px; margin: 10px; width: calc(100% - 20px); box-sizing: border-box; } .cX-Chat-LLM-Response h3 { font-size: var(--cx-large-font-size); font-weight: 600; margin: 0 0 10px; color: var(--cx-color-widgets); border-bottom: var(--cx-border); padding-bottom: 6px; } .cX-Chat-LLM-Response p { margin: 6px 0; } .cX-Chat-LLM-Response code { font-family: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace; font-size: var(--cx-small-font-size); background: var(--cx-background-widgets-color); border: var(--cx-border); border-radius: var(--cx-border-radius); padding: 1px 5px; color: var(--cx-color-ui-font); } .cX-Chat-LLM-Response pre { background: var(--cx-background-widgets-color); border: var(--cx-border); border-radius: var(--cx-border-radius); padding: 12px 14px; overflow-x: auto; margin: 10px 0; } .cX-Chat-LLM-Response pre code { background: none; border: none; padding: 0; color: var(--cx-color-ui-font); font-size: var(--cx-small-font-size); } .cX-Chat-LLM-Response ul { margin: 6px 0 6px 18px; padding: 0; } .cX-Chat-LLM-Response li { margin: 2px 0; } .cX-Chat-LLM-Response strong { font-weight: 600; color: var(--cx-color-ui-font); } .cX-Chat-LLM-Response em { color: var(--cx-color-gray); } .cX-Chat-LLM-Response div { margin: 3px 0; } .cX-Chat-LLM-Error { color: var(--cx-color-red); font-weight: 600; } .cX-Chat-LLM-Links { margin-top: 12px; padding-top: 8px; border-top: var(--cx-border); font-size: var(--cx-medium-font-size); } .cX-Chat-LLM-Links a { color: var(--cx-color-widgets); text-decoration: none; } .cX-Chat-LLM-Links a:hover { text-decoration: underline; } /* * Chat HTML Panel — select_canvasxpress_chart cards */ .cX-Chat-Select-Top { background: var(--cx-background-widgets-color); border: 2px solid var(--cx-color-widgets); border-radius: var(--cx-border-radius); padding: 12px 14px; margin-bottom: 10px; } .cX-Chat-Select-Alt { background: var(--cx-background-widgets-color); border: var(--cx-border); border-radius: var(--cx-border-radius); padding: 10px 12px; } .cX-Chat-Select-Grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 8px; } .cX-Chat-Select-Header { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; } .cX-Chat-Select-GT { font-weight: 700; font-size: var(--cx-font-size); color: var(--cx-color-widgets); } .cX-Chat-Select-Score { font-size: var(--cx-x-small-font-size); color: #ffffff; background: var(--cx-background-color); border: var(--cx-border); border-radius: var(--cx-border-radius); padding: 1px 7px; } .cX-Chat-Select-Desc { font-size: var(--cx-medium-font-size); margin: 4px 0; color: var(--cx-color-ui-font); } .cX-Chat-Select-Clinical { font-size: var(--cx-small-font-size); margin: 4px 0; color: var(--cx-color-gray); } .cX-Chat-Select-Factors { font-size: var(--cx-small-font-size); margin: 4px 0 4px 16px; padding: 0; } .cX-Chat-Select-Next { font-size: var(--cx-x-small-font-size); margin: 6px 0 4px; color: var(--cx-color-gray); } .cX-Chat-LLM-Apply { margin-top: 8px; padding: 4px 12px; font-size: var(--cx-small-font-size); font-family: var(--cx-font-family); background: var(--cx-color-widgets); color: var(--cx-background-widgets-color); border: none; border-radius: var(--cx-border-radius); cursor: pointer; } .cX-Chat-LLM-Apply:hover { opacity: 0.85; } .cX-Chat-Question { margin: 0; outline: none; font-size: medium; line-height: 1.5; color: #0f172a; min-height: 50px; height: 100%; white-space: pre-wrap; word-break: break-word; pointer-events: auto; } .cX-Chat-Question[empty]:empty::before { content: attr(data-placeholder); color: #94a3b8; } .cX-Chat-Icon-Container { width: 46px; display: flex; align-items: center; justify-content: center; cursor: pointer; pointer-events: auto; } .cX-Chat-Suggestions-Container { display: none; padding: 12px 18px 18px 18px; border-top: 1px solid #e2e8f0; background: #fafafa; } .cX-Chat-Suggestions { display: flex; flex-wrap: wrap; gap: 6px; min-height: 30px; max-height: 200px; overflow-y: auto; padding-bottom: 5px; } .cX-Chat-Thumbs-Container { width: 100%; height: 36px; background: #f8fafc; border-top: 1px solid #e2e8f0; display: none; align-items: center; padding: 0 10px; gap: 12px; box-sizing: border-box; } .cX-Chat-Output { width: 100%; max-width: 900px; margin-top: 5px; min-height: 100px; padding: 5px; outline: none; border: none; font-family: monospace; font-size: var(--cx-medium-font-size); box-sizing: border-box; resize: vertical; display: none; } .cX-Chat-Output { width: 100%; max-width: 900px; margin-top: 5px; min-height: 100px; padding: 5px; outline: none; border: none; font-family: monospace; font-size: var(--cx-medium-font-size); box-sizing: border-box; resize: vertical; display: none; } /* * Chat Output Container (Tabs & Content) */ div.cX-Chat-Output-Container { position: absolute; width: calc(var(--base-w) + 18px); height: calc(var(--base-h) + 82px); background-color: var(--cx-background-widgets-color); border: var(--cx-border); border-radius: var(--cx-border-radius); z-index: 10005; display: none; /* Toggled by JS */ box-sizing: border-box; overflow: hidden; cursor: move; } /* Close Button */ img.cX-Chat-Output-Close, svg.cX-Chat-Output-Close { position: absolute; top: 8px; right: 8px; cursor: pointer; z-index: 10; background: var(--cx-color-transparent) !important; border: none !important; box-shadow: 0 0 0px var(--cx-color-transparent) !important; } /* Tabs */ button.cX-Chat-Output-Tab { display: inline-block; vertical-align: bottom; background-color: var(--cx-background-hover-color); border: var(--cx-border); border-bottom: none; padding: 5px 10px; margin: 10px 0 0 10px; cursor: pointer; font: var(--cx-large-font); color: var(--cx-font-color); border-radius: var(--cx-border-radius) var(--cx-border-radius) 0 0; outline: none; position: relative; top: 1px; /* Overlaps the content border to look like a real tab */ z-index: 1; box-sizing: border-box; line-height: 24px; } /* Adds a small gap between the first and second tab */ button.cX-Chat-Output-Tab + button.cX-Chat-Output-Tab { margin-left: 4px; } button.cX-Chat-Output-Tab:hover { background-color: var(--cx-background-widgets-color); } button.cX-Chat-Output-Tab.Active { background-color: var(--cx-background-widgets-color); font: var(--cx-large-font-bold); border-bottom: 1px solid var(--cx-background-widgets-color); z-index: 3; } /* Tab Content Containers (Scrollable) */ div.cX-Chat-Graphical-Output, textarea.cX-Chat-Code-Output { display: block; clear: both; width: 100%; height: calc(100% - 46px); /* 500px total - 46px for the tabs area */ border: none; border-top: var(--cx-border); background-color: var(--cx-background-widgets-color); color: var(--cx-font-color); overflow: auto; /* Enables scrolling for the tab content */ padding: 10px; box-sizing: border-box; position: relative; z-index: 2; margin: 0; } .cX-Chat-Graphical-Output { position: relative; display: flex; flex-direction: column; align-items: center; width: 100%; padding-top: 50px; /* Pushes the graph div below the absolutely positioned buttons */ box-sizing: border-box; } .cX-Chat-Graphical-Output-Graph { width: var(--base-w); height: var(--base-h); margin-top: 20px; } /* Specific styling for the code textarea */ textarea.cX-Chat-Code-Output { resize: none; outline: none; font-family: monospace; font-size: var(--cx-large-font-size); white-space: pre; } /* Color Coding Classes */ .hint { padding: 4px 10px; border-radius: var(--cx-border-radius); font-size: var(--cx-small-font-size); cursor: pointer; font-weight: bold; transition: all 0.2s; user-select: none; border: 1px solid transparent; background: #f1f5f9; color: #475569; border-color: #e2e8f0; } .hint.graph { background: #f3e8ff; color: #9333ea; border-color: #e9d5ff; } .hint.graph:hover { background: #9333ea; color: white; } .hint.column { background: #eff6ff; color: #2563eb; border-color: #dbeafe; } .hint.column:hover { background: #2563eb; color: white; } .hint.map_name { background: #e0e7ff; color: #3730a3; border-color: #c7d2fe; } .hint.data, .hint.data_multi { background: #ccfbf1; color: #0d9488; border-color: #99f6e4; } .hint.data:hover, .hint.data_multi:hover { background: #0d9488; color: white; } .hint.text { background: #fce7f3; color: #db2777; border-color: #fbcfe8; } .hint.text:hover { background: #db2777; color: white; } .hint.number { background: #fef08a; color: #b45309; border-color: #fde047; } .hint.enum { background: #ffedd5; color: #ea580c; border-color: #fed7aa; } .hint.enum:hover { background: #ea580c; color: white; } .hint.toggle { background: #dcfce7; color: #16a34a; border-color: #bbf7d0; } .hint.toggle:hover { background: #16a34a; color: white; } .hint.filter, .hint.sort { background: #fee2e2; color: #dc2626; border-color: #fecaca; } .hint.filter:hover, .hint.sort:hover { background: #dc2626; color: white; } .hint.connector { background: #f1f5f9; color: #64748b; border-color: #cbd5e1; } .hint.connector:hover { background: #64748b; color: white; } .hint.finish { background: #fef3c7; color: #92400e; border-color: #fde68a; } .hint.finish:hover { background: #d97706; color: white; } .hint.disabled { background: #f8fafc; color: #94a3b8; border-color: #e2e8f0; cursor: default; } /* @category: widget */ /*************** * Bin Data * ***************/ /* Outer widget shell */ div.cX-Bin { background-color: var(--cx-background-widgets-color); border: 1px var(--cx-border-style) var(--cx-datatable-border-color); border-radius: var(--cx-border-radius); box-shadow: 0 4px 16px rgba(0,0,0,0.13); box-sizing: border-box; color: var(--cx-font-color); cursor: move; font-family: var(--cx-font-family); font-size: var(--cx-font-size); margin: 2px 3px; overflow: hidden; position: absolute; white-space: nowrap; } /* Title row: Name label left, X button right */ .cX-Bin-Title-Row { align-items: center; background-color: var(--cx-datatable-toolbar-background-color, var(--cx-background-hover-color)); border-radius: var(--cx-border-radius) var(--cx-border-radius) 0 0; cursor: move; display: flex; justify-content: space-between; padding: 8px 4px 0px 10px; } .cX-Bin-Title { font-family: var(--cx-font-family); font-size: var(--cx-font-size); font-weight: 600; color: var(--cx-datatable-banner-text-color); } /* Body: padding wrapper */ .cX-Bin-Body { background-color: var(--cx-background-widgets-color); cursor: move; padding: 8px 10px 0 10px; } /* Section: label + content block */ .cX-Bin-Section { margin-bottom: 8px; } .cX-Bin-Section-Label { color: var(--cx-datatable-banner-text-color); font-family: var(--cx-font-family); font-size: var(--cx-font-size); font-weight: 600; margin-bottom: 4px; } /* Name text input */ .cX-Bin-Input { background-color: var(--cx-background-widgets-color); border: 1px var(--cx-border-style) var(--cx-datatable-border-color); border-radius: var(--cx-border-radius); box-sizing: border-box; color: var(--cx-font-color); cursor: default; font-family: var(--cx-font-family); font-size: var(--cx-font-size); padding: 3px 6px; width: 100%; } .cX-Bin-Input-Center { text-align: center; font-weight: bold; } /* Bin table — sized purely by content, no wrapper needed */ .cX-Bin-Table { border: 1px var(--cx-border-style) var(--cx-datatable-banner-border-color); border-collapse: separate; border-radius: var(--cx-border-radius); border-spacing: 0; color: var(--cx-datatable-cell-text-color); cursor: default; display: block; font-family: var(--cx-font-family); font-size: var(--cx-font-size); max-height: 300px; overflow-y: auto; width: 100%; } .cX-Bin-Th { background-color: var(--cx-datatable-header-background-color, var(--cx-background-hover-color)); border-bottom: 2px var(--cx-border-style) var(--cx-datatable-border-color); color: var(--cx-datatable-header-text-color); font-family: var(--cx-font-family); font-size: var(--cx-font-size); font-weight: bold; padding: 4px 6px; text-align: center; } .cX-Bin-Td { border-bottom: 1px var(--cx-border-style) var(--cx-datatable-cell-border-color); padding: 3px 4px; vertical-align: middle; } .cX-Bin-Td-Num { font-weight: bold; text-align: center; width: 32px; } .cX-Bin-Row:last-child .cX-Bin-Td { border-bottom: none; } .cX-Bin-Row:nth-child(even) .cX-Bin-Td { background-color: var(--cx-datatable-oddcell-background-color); } .cX-Bin-Row:hover .cX-Bin-Td { background-color: var(--cx-datatable-row-hover-background-color); } /* Footer: Apply + Done */ .cX-Bin-Footer { border-top: 1px var(--cx-border-style) var(--cx-datatable-banner-border-color); display: flex; gap: 8px; margin-top: 8px; padding: 8px 0; } .cX-Bin-Button { background-color: var(--cx-datatable-accent-color, var(--cx-background-hover-color)); border: 1px var(--cx-border-style) var(--cx-datatable-border-color); border-radius: var(--cx-border-radius); color: var(--cx-background-widgets-color); cursor: pointer; flex: 1; font-family: var(--cx-font-family); font-size: var(--cx-font-size); font-weight: bold; padding: 5px 8px; } .cX-Bin-Button:hover { opacity: 0.85; } svg.cX-Bin::selection { background: var(--cx-color-transparent) !important; border: 0px none !important; box-shadow: 0 0 0px var(--cx-color-transparent) !important; color: rgb(0, 0, 0); margin: 0px !important; } /* @category: widget */ /* BEGIN OF CUSTOMIZER CSS */ /* https://cssgrid-generator.netlify.app/ */ /* * CanvasXpress Customizer */ .cX-Customizer-PanelLeft { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; grid-column-gap: 0px; grid-row-gap: 0px; position: fixed; z-index: 10001; line-height: 100%; background-color: var(--cx-customizer-background-color, var(--cx-background-hover-color)); font-family: var(--cx-font-family); font-size: var(--cx-customizer-font-size, var(--cx-font-size)) !important; font-weight: normal; color: var(--cx-customizer-text-color, var(--cx-font-color)); margin-left: 0px; margin-top: 0px; max-height: 100vh; min-height: calc(100vh); } .cX-Customizer-LeftPanelItems { grid-area: 1 / 1 / 2 / 2; background: var(--cx-customizer-background-color, var(--cx-background-widgets-color)); /* border-left: 1px solid var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; */ } .cX-Customizer-LeftPanelItems > div:first-child { background: var(--cx-color-widgets); } .cX-Customizer-RightPanel { background: var(--cx-customizer-background-color, var(--cx-background-widgets-color)); border: 1px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; border-top: none !important; border-bottom: none !important; border-radius: 0 6px 6px 0; position: absolute; z-index: 10000; line-height: 100%; top: 0px; font-family: var(--cx-font-family); font-size: var(--cx-customizer-font-size, var(--cx-font-size)) !important; font-weight: normal; color: var(--cx-customizer-text-color, var(--cx-font-color)); max-height: 100vh; min-height: calc(100vh); overflow-y: auto; } /* * CanvasXpress Customizer Left Items */ .cX-Customizer-LeftItem, .cX-Customizer-LeftItemActive, .cX-Customizer-LeftItemNB { display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr 4fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 5px; border-radius: var(--cx-border-radius); align-items: center; } .cX-Customizer-LeftItem, .cX-Customizer-LeftItemActive { border: 1px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; border-bottom: 1px solid var(--cx-customizer-border-color, var(--cx-datatable-banner-border-color)) !important; background: var(--cx-customizer-background-color, var(--cx-background-widgets-color)); } .cX-Customizer-LeftItem:hover, .cX-Customizer-LeftItemActive { background: var(--cx-customizer-hover-color, var(--cx-background-hover-color)); } .cX-Customizer-LeftItem:hover svg, .cX-Customizer-LeftItemActive svg { background: var(--cx-customizer-background-color, var(--cx-background-widgets-color)); } /* First div in the left Panel */ .cX-Customizer-LeftItem:first-child:hover svg, .cX-Customizer-LeftItemActive:first-child svg { background: transparent !important; border: 1px solid var(--cx-customizer-close-text-color, #fff) !important; border-radius: var(--cx-border-radius); } .cX-Customizer-LeftItemActive { background: var(--cx-customizer-hover-color, var(--cx-background-hover-color)); color: var(--cx-customizer-text-color, var(--cx-font-color)); border-bottom: 4px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; } .cX-Customizer-LeftItem:hover > *, .cX-Customizer-LeftItemActive > *, .cX-Customizer-LeftItemNB > * { pointer-events: none; } .cX-Customizer-LeftItemNB:hover svg { border-color: var(--cx-customizer-border-color, var(--cx-background-border-hover-color)) !important; background: var(--cx-customizer-hover-color, var(--cx-background-hover-color)) !important; } .cX-Customizer-LeftItemTop { grid-area: 1 / 1 / 2 / 2; margin: auto; margin-top: 5px; font-size: var(--cx-small-font-size); } .cX-Customizer-LeftItemBottom { grid-area: 2 / 1 / 3 / 2; margin: auto; } .cX-Customizer-LeftIcon, .cX-Customizer-LeftIconNB { padding: 5px; border-radius: var(--cx-border-radius); } .cX-Customizer-LeftIconNB { border-width: 1px; border-style: solid; border-color: var(--cx-color-transparent) !important; } .cX-Customizer-LeftIcon { border: 1px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; } /* * CanvasXpress Customizer Right Items */ .cX-Customizer-RightItem { display: grid; grid-template-columns: 1fr; grid-template-rows: 3fr 2fr; grid-column-gap: 0px; grid-row-gap: 0px; border-radius: var(--cx-border-radius); border: 1px var(--cx-border-style) var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; width: 100%; background: var(--cx-customizer-background-color, var(--cx-background-widgets-color)); margin: 4px; } .cX-Customizer-RightItem:hover { background: var(--cx-customizer-hover-color, var(--cx-background-hover-color)); } /* Add top border to non-header items that follow another item (for separation) */ .cX-Customizer-RightItem + .cX-Customizer-RightItem { border-top: 1px solid var(--cx-customizer-border-color, var(--cx-datatable-border-color)) !important; } .cX-Customizer-RightItem * { pointer-events: none; } .cX-Customizer-RightItem :first-child input:first-child { pointer-events: auto; } .cX-Customizer-RightItemTop { grid-area: 1 / 1 / 2 / 2; padding-top: 3px; margin: auto; } .cX-Customizer-RightItemBottom { display: grid; grid-area: 2 / 1 / 3 / 2; margin: auto; padding: 0 6px 3px; font-size: var(--cx-small-font-size); color: var(--cx-customizer-text-color, var(--cx-font-color)); } /* * CanvasXpress Customizer Right Items Comb */ .cX-Customizer-RightItemCombo { display: grid; grid-template-columns: 1fr 4.5fr; grid-template-rows: 2fr 1fr; grid-column-gap: 2px; grid-row-gap: 0px; border-top: 1px solid var(--cx-customizer-border-color, var(--cx-datatable-border-color)); min-height: 28px; background: var(--cx-customizer-background-color, var(--cx-background-widgets-color)); width: 100%; box-sizing: border-box; } .cX-Customizer-ContainerComboGroup { box-sizing: border-box; border-bottom-left-radius: var(--cx-border-radius); border-bottom-right-radius: var(--cx-border-radius); overflow: hidden; } .cX-Customizer-ContainerComboGroup > .cX-Customizer-RightItemCombo:last-child { border-bottom-left-radius: var(--cx-border-radius); border-bottom-right-radius: var(--cx-border-radius); } .cX-Customizer-RightItemComboLeft { grid-area: 1 / 1 / -1 / 2; display: flex; align-items: center; justify-content: center; } .cX-Customizer-RightItemComboTopRight { grid-area: 1 / 2 / 2 / 3; display: flex; align-items: center; justify-content: center; } .cX-Customizer-RightItemComboBottomRight { grid-area: 2 / 2 / 3 / 3; display: flex; align-items: center; padding-left: 6px; padding-bottom: 2px; font-size: var(--cx-small-font-size); } /* * CanvasXpress Customizer Right Item Header */ .cX-Customizer-RightItemHeader, .cX-Customizer-RightItemHeaderNB { display: grid; grid-template-columns: 1fr; grid-template-rows: auto; grid-column-gap: 0px; grid-row-gap: 0px; background: var(--cx-background-hover-color); color: var(--cx-font-color); padding: 2px 3px; font-size: var(--cx-medium-font-size); } .cX-Customizer-RightItemHeader { border-bottom: 1px solid var(--cx-datatable-border-color) !important; } .cX-Customizer-RightItemHeaderNB { border-bottom: none !important; } .cX-Customizer-RightItemHeaderTop { display: flex; align-items: center; min-height: 18px; } .cX-Customizer-RightItemHeaderBottom { display: flex; align-items: center; padding-left: 5px; overflow: auto; font-size: var(--cx-x-small-font-size); color: var(--cx-font-color); } .cX-Customizer-RightItemHeaderMain { grid-area: 1 / 1 / 3 / 2; display: flex; align-items: center; } /* * CanvasXpress Customizer Right Item Sub Header */ .cX-Customizer-RightItemSubHeaderRow { grid-area: 1 / 1 / 2 / 2; display: flex; align-items: center; } .cX-Customizer-RightItemSubHeaderRaw { display: flex; align-items: center; border-radius: var(--cx-border-radius); border: 1px var(--cx-border-style) var(--cx-datatable-border-color) !important; background-color: var(--cx-background-hover-color); } /* * CanvasXpress Customizer Right Item Launcher */ .cX-Customizer-RightItemLauncher { display: grid; grid-template-columns: 1fr 6fr; grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; width: 100%; box-sizing: border-box; border: none !important; box-shadow: none !important; min-height: 34px; background: var(--cx-background-widgets-color); overflow: hidden; } .cX-Customizer-RightItemLauncher *, .cX-Customizer-RightItemLauncherNB * { pointer-events: none; } .cX-Customizer-RightItemLauncherNB > :last-child input:first-child { pointer-events: auto; } .cX-Customizer-RightItemLauncherNB { display: grid; grid-template-columns: 1fr 6fr; grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; width: 100%; box-sizing: border-box; border: none !important; box-shadow: none !important; overflow: hidden; } /* Launcher groups use the wrapper border; rows only get internal separators */ .cX-Customizer-Container > .cX-Customizer-RightItemLauncher + .cX-Customizer-RightItemLauncher, .cX-Customizer-Container > .cX-Customizer-RightItemLauncherNB + .cX-Customizer-RightItemLauncher, .cX-Customizer-Container > .cX-Customizer-RightItemLauncher + .cX-Customizer-RightItemLauncherNB, .cX-Customizer-Container > .cX-Customizer-RightItemLauncherNB + .cX-Customizer-RightItemLauncherNB { border-top: 1px solid var(--cx-datatable-banner-border-color) !important; } /* Override inline launcher width so rows do not cover the wrapper right border */ .cX-Customizer-Container > .cX-Customizer-RightItemLauncher, .cX-Customizer-Container > .cX-Customizer-RightItemLauncherNB { width: calc(100% - 2px) !important; margin-left: 1px; margin-right: 1px; } /* Preserve bottom corner rounding on the last launcher row in each section */ .cX-Customizer-Container > .cX-Customizer-RightItemLauncher:last-child, .cX-Customizer-Container > .cX-Customizer-RightItemLauncherNB:last-child { border-bottom-left-radius: 6px; border-bottom-right-radius: 6px; } .cX-Customizer-RightItemLauncher:hover, .cX-Customizer-RightItemLauncherNB:hover { background-color: var(--cx-customizer-hover-color); } .cX-Customizer-RightItemLauncherLeft { grid-area: 1 / 1 / 2 / 2; display: flex; align-items: center; justify-content: center; background-color: var(--cx-customizer-hover-color); } .cX-Customizer-RightItemLauncherRight { grid-area: 1 / 2 / 2 / 3; display: flex; align-items: center; padding-left: 8px; min-width: 0; max-width: 100%; overflow: hidden; } /* * CanvasXpress Customizer Right Item Cols */ .cX-Customizer-RightItemFullCol { display: grid; grid-template-columns: 1fr; grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 3px; height: fit-content; } .cX-Customizer-RightItemHalfCol { display: grid; grid-template-columns: repeat(2, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 3px; height: fit-content; } .cX-Customizer-RightItemThirdCol { display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 3px; height: fit-content; } .cX-Customizer-RightItemFourthCol { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 3px; height: fit-content; } .cX-Customizer-RightItemFifthCol { display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 3px; height: fit-content; } .cX-Customizer-RightItemSixthCol { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: 1fr; grid-column-gap: 0px; grid-row-gap: 0px; margin: 3px; height: fit-content; } .cX-Customizer-RightItemCol1, .cX-Customizer-RightItemCol2, .cX-Customizer-RightItemCol3, .cX-Customizer-RightItemCol4, .cX-Customizer-RightItemCol5, .cX-Customizer-RightItemCol6 { display: flex; align-items: center; justify-content: center; flex: 1 1 0%; min-width: 0; } .cX-Customizer-RightItemCol1 { grid-area: 1 / 1 / 2 / 2; } .cX-Customizer-RightItemCol2 { grid-area: 1 / 2 / 2 / 3; } .cX-Customizer-RightItemCol3 { grid-area: 1 / 3 / 2 / 4; } .cX-Customizer-RightItemCol4 { grid-area: 1 / 4 / 2 / 5; } .cX-Customizer-RightItemCol5 { grid-area: 1 / 5 / 2 / 6; } .cX-Customizer-RightItemCol6 { grid-area: 1 / 6 / 2 / 7; } .cX-Customizer-RightItemGrid .cX-Customizer-RightItemColor { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; } .cX-Customizer-RightItemGrid .cX-Customizer-RightItemColor > .cX-Customizer-RightItemCol1 { width: 100%; } .cX-Customizer-RightItemGrid .cX-Customizer-RightItemColor input[type="color"] { width: 26px !important; height: 26px !important; } .cX-Customizer-ContainerRaw.cX-Customizer-RightItemText .cX-Customizer-RightItemColor input[type="color"] { width: 26px !important; height: 26px !important; } .cX-Customizer-RightItemColMid { grid-area: 1 / 3 / 2 / 5; display: flex; align-items: center; justify-content: center; border-radius: var(--cx-border-radius); border: 1px var(--cx-border-style) var(--cx-datatable-border-color) !important; } .cX-Customizer-RightItemSelect>select:hover, .cX-Customizer-RightItemTextArea > textarea { overflow: hidden; resize: none; box-sizing: border-box; display: flex; align-items: center; vertical-align: middle; padding-top: 0; padding-bottom: 0; line-height: normal; } .cX-Customizer-RightItemTextArea>svg:hover, .cX-Customizer-RightItemTextArea>textarea:hover, .cX-Customizer-ContainerRaw>svg:hover, .cX-Customizer-RightItemCol1>svg:hover, .cX-Customizer-RightItemCol2>svg:hover, .cX-Customizer-RightItemCol3>svg:hover, .cX-Customizer-RightItemCol4>svg:hover, .cX-Customizer-RightItemCol5>svg:hover, .cX-Customizer-RightItemCol6>svg:hover, .cX-Customizer-RightItem:hover { background-color: var(--cx-customizer-hover-color); } /* * Other Customizer classes */ .cX-Customizer-Container { height: fit-content; border-radius: var(--cx-border-radius); margin: 6px; float: left; } .cX-Customizer-Wrangling { height: 204px; margin: 0px 0px 10px 10px; border-radius: var(--cx-border-radius); overflow-y: auto; overflow-x: hidden; } .cX-Customizer-Numeric, .cX-Customizer-String, .cX-Customizer-Unique, .cX-Customizer-Wrangling, .cX-Customizer-Container { border: 1px var(--cx-border-style) var(--cx-datatable-border-color) !important; } .cX-Customizer-Wrangling:hover { border: 1px dashed var(--cx-color-red) !important; } /*************************************************** /* target items specifically within the customizer * * containers for moving in the wrangling * ***************************************************/ .cX-Customizer-Numeric, .cX-Customizer-String, .cX-Customizer-Unique, .cX-Customizer-ListNumeric, .cX-Customizer-ListString, .cX-Customizer-ListUnique { margin-top: 3px !important; display: block; } /***************************************************/ .cX-Customizer-ContainerRaw { border: none !important; float: left; display: flex; align-items: center; justify-content: center; } /* Keep text+icon group labels compact so long labels don't make items look uneven */ .cX-Customizer-ContainerRaw.cX-Customizer-RightItemTextImagesGroup .cX-Customizer-RightItemBottom { font-size: var(--cx-x-small-font-size); line-height: 1.05; } .cX-Customizer-ContainerRaw.cX-Customizer-RightItemTextImagesGroup .cX-Customizer-RightItemBottom > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; } .cX-Customizer-Mask { background: var(--cx-color-transparent) !important; border: 0px none !important; box-shadow: 0 0 0px var(--cx-color-transparent) !important; position: absolute; left: 0px; top: 0px; margin: 0px !important; width: 100%; height: 20px; } .cX-Customizer-Numeric, .cX-Customizer-String, .cX-Customizer-Unique { border-radius: var(--cx-border-radius); cursor: move; margin: 3px; padding: 3px; word-wrap: normal; display: inline-block; text-align: start; max-width: 150px; overflow: hidden; position: relative; } .cX-Customizer-Numeric { color: var(--cx-font-color); background-color: var(--cx-color-transparent); } .cX-Customizer-String { color: var(--cx-color-green); background-color: var(--cx-color-transparent); } .cX-Customizer-Unique { color: var(--cx-color-blue); background-color: var(--cx-color-transparent); } .cX-Customizer-ListNumeric, .cX-Customizer-ListString, .cX-Customizer-ListUnique { border: none; cursor: move; margin: 0; padding: 0 0 0 3px; width: 350px; white-space: nowrap; display: inline-block; text-align: start; overflow: hidden; position: relative; background-color: var(--cx-color-transparent); } .cX-Customizer-ListNumeric { color: var(--cx-font-color); } .cX-Customizer-ListString { color: var(--cx-color-green); } .cX-Customizer-ListUnique { color: var(--cx-color-blue); } .cX-Customizer-ListNumeric:hover, .cX-Customizer-ListString:hover, .cX-Customizer-ListUnique:hover { background: var(--cx-customizer-hover-color); } .cX-Customizer-ListNumeric:before, .cX-Customizer-ListString:before, .cX-Customizer-ListUnique:before { font: normal 10px courier; color: var(--cx-background-color); } .cX-Customizer-ListNumeric:before { content: "\00a0#\00a0\00a0"; } .cX-Customizer-ListString:before { content: "Abc\00a0"; } .cX-Customizer-ListUnique:before { content: "Unq\00a0"; } .cX-Customizer-Mask::selection, .cX-Customizer-Numeric::selection, .cX-Customizer-String::selection, .cX-Customizer-Unique::selection, .cX-Customizer-ListNumeric::selection, .cX-Customizer-ListString::selection, .cX-Customizer-ListUnique::selection { background: var(--cx-color-transparent); color: var(--cx-color-black); padding: 0; } /* * Search Customizer */ select.cX-Customizer-Search, input.cX-Customizer-Search { margin: 6px; background-color: var(--cx-background-widgets-color); color: var(--cx-font-color); cursor: default; font: inherit; height: 32px; border-radius: var(--cx-border-radius); border: 1px var(--cx-border-style) var(--cx-datatable-border-color); float: left; clear: left; } select.cX-Customizer-Search { padding-left: 3px; } select.cX-Customizer-Search[size]:not([size="1"]) { height: auto; } input.cX-Customizer-Searc