AlkantarClanX12
| Current Path : /www/capitalgmcbuickregina_830/public/wp-content/themes/lbx-egypt/public/scripts/ |
| Current File : /www/capitalgmcbuickregina_830/public/wp-content/themes/lbx-egypt/public/scripts/editor.js.map |
{"version":3,"file":"/scripts/editor.js","mappings":"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","sources":["webpack://sage/./node_modules/@roots/sage/lib/cjs/client/domReady.js","webpack://sage/./node_modules/@roots/sage/lib/cjs/client/index.js","webpack://sage/external window [\"wp\",\"element\"]","webpack://sage/external window [\"wp\",\"blocks\"]","webpack://sage/external window [\"wp\",\"i18n\"]","webpack://sage/external window [\"wp\",\"blockEditor\"]","webpack://sage/external window [\"wp\",\"data\"]","webpack://sage/./resources/scripts/editor.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://sage/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst domReady = onReady => {\n window.requestAnimationFrame(function check() {\n document.body ? onReady() : window.requestAnimationFrame(check);\n });\n};\nexports.default = domReady;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.domReady = void 0;\nconst domReady_1 = __importDefault(require(\"./domReady\"));\nexports.domReady = domReady_1.default;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blocks\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blockEditor\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","import { domReady } from \"@roots/sage/client\";\nimport { registerBlockStyle, unregisterBlockStyle } from \"@wordpress/blocks\";\n\nimport { __ } from \"@wordpress/i18n\";\nimport { registerBlockType } from \"@wordpress/blocks\";\nimport { InnerBlocks } from \"@wordpress/block-editor\";\nimport { useSelect } from \"@wordpress/data\";\n\n/**\n * editor.main\n */\nconst main = (err) => {\n if (err) {\n // handle hmr errors\n console.error(err);\n }\n\n unregisterBlockStyle(\"core/button\", \"outline\");\n\n registerBlockStyle(\"core/button\", {\n name: \"outline\",\n label: \"Outline\",\n });\n\n /** Poet Components */\n const { PlainText } = wp.editor;\n const { SelectControl, PanelBody, TextControl } = wp.components;\n const { InspectorControls, MediaUpload, MediaUploadCheck } = wp.blockEditor;\n\n registerBlockType(\"sage/showroom\", {\n title: __(\"Showroom\", \"sage\"),\n category: \"leadbox\",\n icon: \"car\",\n attributes: {\n accordions: {\n type: \"array\",\n default: [{ label: \"New Showroom\" }],\n },\n },\n edit: () => {\n const shortcode = `[showroom]`;\n\n return (\n <div className=\"leadbox-showroom-block\">\n <div className=\"block\">\n <h3>Showroom shortcode</h3>\n <div>\n This block will render on the frontend as a graphical showroom\n generated by the following shortcode:\n </div>\n <pre>\n <PlainText className=\"shortcode\" value={shortcode} />\n </pre>\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n );\n },\n save: () => <InnerBlocks.Content />,\n });\n\n registerBlockType(\"sage/showroom-multi-brands\", {\n title: __(\"Showroom Multi Brands\", \"sage\"),\n category: \"leadbox\",\n icon: \"car\",\n attributes: {\n accordions: {\n type: \"array\",\n default: [{ label: \"New Showroom\" }],\n },\n },\n edit: () => {\n const shortcode = `[showroom-multi-brands]`;\n\n return (\n <div className=\"leadbox-showroom-block\">\n <div className=\"block\">\n <h3>Showroom Multi Brands shortcode</h3>\n <div>\n This block will render on the frontend as a graphical showroom\n generated by the following shortcode:\n </div>\n <pre>\n <PlainText className=\"shortcode\" value={shortcode} />\n </pre>\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n );\n },\n save: () => <InnerBlocks.Content />,\n });\n\n registerBlockType(\"sage/contact-us-card\", {\n title: __(\"Contact Us Card\", \"sage\"),\n category: \"leadbox\",\n icon: \"id\",\n attributes: {\n version: {\n type: \"string\",\n default: \"1\",\n },\n imageUrl: {\n type: \"string\",\n default: `${sageThemeData.themeUri}/resources/images/300x150.png`,\n },\n imageId: {\n type: \"number\",\n default: null,\n },\n },\n edit: (props) => {\n const { attributes, setAttributes } = props;\n const { version, imageUrl, imageId } = attributes;\n\n const onSelectImage = (media) => {\n setAttributes({\n imageUrl: media.url,\n imageId: media.id,\n });\n };\n\n const onRemoveImage = () => {\n setAttributes({\n imageUrl: \"\",\n imageId: null,\n });\n };\n\n const onChangeVersion = (newVersion) => {\n console.log(newVersion);\n setAttributes({\n version: newVersion,\n });\n };\n\n const renderBlockContent = () => {\n switch (version) {\n case \"1\":\n return (\n <div className=\"contact-card-v1\">\n <img\n src={imageUrl}\n alt=\"Image\"\n className=\"contact-card-v1-image\"\n />\n <div className=\"contact-card-v1-content\">\n <h2 className=\"contact-card-v1-title\">[DEALER NAME]</h2>\n <div className=\"contact-card-v1-address\">\n <p>[Address Line 1], [Address Line 2],</p>\n <p>[City], [Province]</p>\n <p>[Postal code]</p>\n </div>\n <a href=\"javascript:void(0)\" className=\"contact-card-v1-link\">\n View Inventory\n </a>\n </div>\n </div>\n );\n case \"2\":\n return (\n <div className=\"contact-card-v2\">\n <h2 className=\"contact-card-v2-title\">Contact Us</h2>\n <div className=\"contact-card-v2-address\">\n <p>\n <strong>[Address Line 1], [Address Line 2],</strong>\n </p>\n <p>\n <strong>[City], [Province], [Postal code]</strong>\n </p>\n <p>\n <strong>General:</strong> 000-000-0000\n </p>\n </div>\n </div>\n );\n case \"3\":\n return (\n <div className=\"contact-card-v3\">\n <h2 className=\"contact-card-v3-title\">Contact Information</h2>\n <div className=\"contact-card-v3-address\">\n <p>\n <svg\n width=\"20\"\n height=\"21\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.0001 17.92V20.92C22.0012 21.1985 21.9441 21.4742 21.8326 21.7294C21.721 21.9845 21.5574 22.2136 21.3521 22.4019C21.1469 22.5901 20.9046 22.7335 20.6408 22.8227C20.377 22.9119 20.0974 22.9451 19.8201 22.92C16.7429 22.5856 13.7871 21.5342 11.1901 19.85C8.77388 18.3147 6.72539 16.2662 5.19006 13.85C3.50003 11.2412 2.4483 8.271 2.12006 5.18001C2.09507 4.90347 2.12793 4.62477 2.21656 4.36163C2.30518 4.09849 2.44763 3.85669 2.63482 3.65163C2.82202 3.44656 3.04986 3.28271 3.30385 3.17053C3.55783 3.05834 3.8324 3.00027 4.11006 3.00001H7.11006C7.59536 2.99523 8.06585 3.16708 8.43382 3.48354C8.80179 3.79999 9.04213 4.23945 9.11005 4.72001C9.23668 5.68007 9.47151 6.62273 9.81006 7.53001C9.9446 7.88793 9.97372 8.27692 9.89396 8.65089C9.81421 9.02485 9.62892 9.36812 9.36005 9.64001L8.09006 10.91C9.51361 13.4136 11.5865 15.4865 14.0901 16.91L15.3601 15.64C15.6319 15.3711 15.9752 15.1859 16.3492 15.1061C16.7231 15.0263 17.1121 15.0555 17.4701 15.19C18.3773 15.5286 19.32 15.7634 20.2801 15.89C20.7658 15.9585 21.2095 16.2032 21.5266 16.5775C21.8437 16.9518 22.0122 17.4296 22.0001 17.92Z\"\n stroke=\"black\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <strong>Phone: </strong> 000-000-0000\n </p>\n <p>\n <svg\n width=\"20\"\n height=\"21\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M22.0001 17.92V20.92C22.0012 21.1985 21.9441 21.4742 21.8326 21.7294C21.721 21.9845 21.5574 22.2136 21.3521 22.4019C21.1469 22.5901 20.9046 22.7335 20.6408 22.8227C20.377 22.9119 20.0974 22.9451 19.8201 22.92C16.7429 22.5856 13.7871 21.5342 11.1901 19.85C8.77388 18.3147 6.72539 16.2662 5.19006 13.85C3.50003 11.2412 2.4483 8.271 2.12006 5.18001C2.09507 4.90347 2.12793 4.62477 2.21656 4.36163C2.30518 4.09849 2.44763 3.85669 2.63482 3.65163C2.82202 3.44656 3.04986 3.28271 3.30385 3.17053C3.55783 3.05834 3.8324 3.00027 4.11006 3.00001H7.11006C7.59536 2.99523 8.06585 3.16708 8.43382 3.48354C8.80179 3.79999 9.04213 4.23945 9.11005 4.72001C9.23668 5.68007 9.47151 6.62273 9.81006 7.53001C9.9446 7.88793 9.97372 8.27692 9.89396 8.65089C9.81421 9.02485 9.62892 9.36812 9.36005 9.64001L8.09006 10.91C9.51361 13.4136 11.5865 15.4865 14.0901 16.91L15.3601 15.64C15.6319 15.3711 15.9752 15.1859 16.3492 15.1061C16.7231 15.0263 17.1121 15.0555 17.4701 15.19C18.3773 15.5286 19.32 15.7634 20.2801 15.89C20.7658 15.9585 21.2095 16.2032 21.5266 16.5775C21.8437 16.9518 22.0122 17.4296 22.0001 17.92Z\"\n stroke=\"black\"\n stroke-width=\"2\"\n stroke-linecap=\"round\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <strong>Phone 2: </strong> 000-000-0000\n </p>\n <p style={{ marginTop: \"15px\" }}>\n {\" \"}\n <svg\n width=\"20\"\n height=\"21\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M17.7392 9.86957C17.7392 15.1928 11.8696 22 11.8696 22C11.8696 22 6 15.3197 6 9.86957C6 6.62761 8.62761 4 11.8696 4C15.1112 4 17.7392 6.62761 17.7392 9.86957Z\"\n stroke=\"#39393C\"\n stroke-width=\"1.7647\"\n stroke-miterlimit=\"10\"\n stroke-linejoin=\"round\"\n />\n <path\n d=\"M11.8697 12.6087C13.1663 12.6087 14.2175 11.5575 14.2175 10.2609C14.2175 8.96421 13.1663 7.91306 11.8697 7.91306C10.573 7.91306 9.52185 8.96421 9.52185 10.2609C9.52185 11.5575 10.573 12.6087 11.8697 12.6087Z\"\n stroke=\"#39393C\"\n stroke-width=\"1.7647\"\n stroke-miterlimit=\"10\"\n stroke-linejoin=\"round\"\n />\n </svg>\n <strong>Address:</strong>\n </p>\n <p>\n [Address Line 1], [Address Line 2], [City], [Province],\n [Postal code]\n </p>\n <p style={{ marginTop: \"15px\" }}>\n <svg\n width=\"20\"\n height=\"21\"\n viewBox=\"0 0 24 25\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M12.0055 24.9891C8.80121 24.9891 5.78973 23.7416 3.52447 21.4755C-0.178409 17.7735 -1.05829 12.1592 1.33633 7.50703C1.55309 7.08637 2.06885 6.92102 2.49037 7.13692C2.9119 7.35282 3.07725 7.86944 2.86049 8.29096C0.807713 12.2783 1.56165 17.0898 4.73592 20.2641C6.67732 22.2063 9.25872 23.2756 12.0055 23.2756C14.7514 23.2756 17.3336 22.2063 19.275 20.2641C21.2164 18.3218 22.2865 15.7404 22.2865 12.9945C22.2865 10.2478 21.2173 7.66639 19.275 5.72499C17.3328 3.78359 14.7522 2.7135 12.0055 2.7135C9.25872 2.7135 6.67732 3.78359 4.73592 5.72499C4.40093 6.05998 3.85946 6.05998 3.52447 5.72499C3.18948 5.39 3.18948 4.84853 3.52447 4.51354C5.78973 2.24829 8.80121 1 12.0055 1C15.2097 1 18.2221 2.24829 20.4865 4.51354C22.7526 6.77879 24 9.79028 24 12.9945C24 16.1979 22.7526 19.2103 20.4865 21.4755C18.2221 23.7416 15.2097 24.9891 12.0055 24.9891Z\"\n fill=\"black\"\n />\n <path\n d=\"M16.2885 17.2783C16.1008 17.2783 15.9123 17.2175 15.7538 17.0907L11.4701 13.6636C11.267 13.5009 11.1488 13.255 11.1488 12.9945V6.1405C11.1488 5.66758 11.5326 5.28375 12.0056 5.28375C12.4785 5.28375 12.8623 5.66758 12.8623 6.1405V12.5833L16.8248 15.7524C17.194 16.0488 17.254 16.5877 16.9584 16.957C16.7888 17.1678 16.5403 17.2783 16.2885 17.2783Z\"\n fill=\"black\"\n />\n </svg>\n <strong>Business Hours:</strong>\n </p>\n <div className=\"contact-card-v3-business-hours\">\n <div>\n <span>Monday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n <div>\n <span>Tuesday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n <div>\n <span>Wednesday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n <div>\n <span>Thursday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n <div>\n <span>Friday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n <div>\n <span>Saturday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n <div>\n <span>Sunday</span> <span>10:00 AM - 08:00 PM</span>\n </div>\n </div>\n </div>\n </div>\n );\n default:\n return (\n <div className=\"contact-card-default\">\n <h3>Default Contact Card</h3>\n <p>Please select a version from the right panel.</p>\n </div>\n );\n }\n };\n\n return (\n <>\n {/* Panel derecho (InspectorControls) */}\n <InspectorControls>\n <PanelBody title={__(\"Card Type\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Select Card Version\", \"sage\")}\n value={version}\n options={[\n { label: \"Version 1\", value: \"1\" },\n { label: \"Version 2\", value: \"2\" },\n { label: \"Version 3\", value: \"3\" },\n ]}\n onChange={onChangeVersion}\n />\n </PanelBody>\n\n {version === \"1\" && (\n <PanelBody title={__(\"Card Image\", \"sage\")} initialOpen={true}>\n <MediaUploadCheck>\n <MediaUpload\n onSelect={onSelectImage}\n allowedTypes={[\"image\"]}\n value={imageId}\n render={({ open }) => (\n <div>\n {!imageUrl && (\n <button className=\"button\" onClick={open}>\n Upload Image\n </button>\n )}\n {imageUrl && (\n <div style={{ textAlign: \"center\" }}>\n <img\n src={imageUrl}\n alt=\"Card Image\"\n style={{ maxWidth: \"100%\", height: \"auto\" }}\n />\n <div>\n <button className=\"button\" onClick={open}>\n Change Image\n </button>\n <button\n className=\"button\"\n onClick={onRemoveImage}\n style={{ marginLeft: \"8px\" }}\n >\n Delete Image\n </button>\n </div>\n </div>\n )}\n </div>\n )}\n />\n </MediaUploadCheck>\n </PanelBody>\n )}\n </InspectorControls>\n\n {/* Vista del bloque */}\n <div className=\"leadbox-contact-us-block\">\n {renderBlockContent()}\n <div className=\"block\">\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n </>\n );\n },\n save: () => null,\n });\n\n registerBlockType(\"sage/lbx-component\", {\n title: __(\"LBX Component\", \"sage\"),\n category: \"leadbox\",\n icon: \"admin-settings\",\n attributes: {\n accordions: {\n type: \"array\",\n default: [{ label: \"LBX Component\" }],\n },\n fields: {\n type: \"string\",\n default: JSON.stringify([{ component: \"\", version: \"\" }]),\n },\n },\n edit: ({ attributes, setAttributes }) => {\n const fields = JSON.parse(attributes.fields);\n\n const shortcode = `[lbx-component]`;\n\n return (\n <div className=\"leadbox-component-block\">\n <div className=\"block\">\n <h3>Component shortcode</h3>\n <div>\n This block will render on the frontend as a graphical LBX\n component generated by the following shortcode:\n </div>\n <pre>\n <PlainText className=\"shortcode\" value={shortcode} />\n </pre>\n\n <label className=\"lbx-version-control-label\">Version Control</label>\n\n {fields.map((field, index) => (\n <div className=\"version-container\" key={index}>\n <PlainText\n placeholder=\"Component\"\n value={field.component}\n onChange={(newComponent) => {\n const newFields = fields.map((f, i) => {\n if (i === index) {\n return { ...f, component: newComponent };\n }\n return f;\n });\n setAttributes({ fields: JSON.stringify(newFields) });\n }}\n />\n <PlainText\n placeholder=\"Version\"\n value={field.version}\n onChange={(newVersion) => {\n const newFields = fields.map((f, i) => {\n if (i === index) {\n return { ...f, version: newVersion };\n }\n return f;\n });\n setAttributes({ fields: JSON.stringify(newFields) });\n }}\n />\n <button\n className=\"remove-field-button\"\n onClick={() => {\n const newFields = fields.filter((f, i) => i !== index);\n setAttributes({ fields: JSON.stringify(newFields) });\n }}\n >\n ✖\n </button>\n </div>\n ))}\n <button\n className=\"add-field-button\"\n onClick={() => {\n const newFields = [...fields, { component: \"\", version: \"\" }];\n setAttributes({ fields: JSON.stringify(newFields) });\n }}\n >\n Add Fields\n </button>\n </div>\n </div>\n );\n },\n save: ({ attributes }) => {\n return null;\n\n const fields = JSON.parse(attributes.fields);\n\n return (\n <div>\n <p>{attributes.template}</p>\n {fields.map((field, index) => (\n <div key={index}>\n <p>{field.component}</p>\n <p>{field.version}</p>\n </div>\n ))}\n </div>\n );\n },\n //save: () => <InnerBlocks.Content />,\n });\n\n registerBlockType(\"sage/dealer-name\", {\n title: __(\"dealer-name\", \"sage\"),\n category: \"leadbox\",\n icon: \"admin-users\",\n attributes: {\n accordions: {\n type: \"array\",\n default: [{ label: \"Dealer Name\" }],\n },\n },\n edit: () => {\n const shortcode = `[dealer-name]`;\n\n return (\n <div className=\"leadbox-showroom-block\">\n <div className=\"block\">\n <h3>Dealer Name</h3>\n <pre>\n <PlainText className=\"shortcode\" value={shortcode} />\n </pre>\n </div>\n </div>\n );\n },\n save: () => <InnerBlocks.Content />,\n });\n\n registerBlockType(\"sage/dealer-phone\", {\n title: __(\"Dealer Phone\", \"sage\"),\n category: \"leadbox\",\n icon: \"phone\",\n attributes: {\n version: {\n type: \"string\",\n default: \"1\", // Versión por defecto\n },\n },\n edit: ({ attributes, setAttributes }) => {\n return (\n <div className=\"leadbox-component-block\">\n <div className=\"block\">\n <h3>Dealer Phone</h3>\n <div>\n This block will render on the frontend as a graphical LBX\n component generated by the following shortcode:\n </div>\n <pre>\n <code>[dealer-phone]</code>\n </pre>\n\n {/* Selector de versión */}\n <div className=\"version-container\">\n <SelectControl\n label=\"Version\"\n value={attributes.version}\n options={[\n { label: \"Version 1\", value: \"1\" },\n { label: \"Version 2\", value: \"2\" },\n ]}\n onChange={(newVersion) =>\n setAttributes({ version: newVersion })\n }\n />\n </div>\n </div>\n </div>\n );\n },\n save: () => null, // Bloque dinámico: se renderiza en PHP\n });\n\n registerBlockType(\"sage/dealer-address\", {\n title: __(\"Dealer Address\", \"sage\"),\n category: \"leadbox\",\n icon: \"admin-home\",\n attributes: {\n version: {\n type: \"string\",\n default: \"1\", // Versión por defecto\n },\n },\n edit: ({ attributes, setAttributes }) => {\n return (\n <div className=\"leadbox-component-block\">\n <div className=\"block\">\n <h3>Dealer Address</h3>\n <div>\n This block will render on the frontend as a graphical LBX\n component generated by the following shortcode:\n </div>\n <pre>\n <code>[dealer-address]</code>\n </pre>\n\n {/* Selector de versión */}\n <div className=\"version-container\">\n <SelectControl\n label=\"Version\"\n value={attributes.version}\n options={[\n { label: \"Version 1\", value: \"1\" },\n { label: \"Version 2\", value: \"2\" },\n ]}\n onChange={(newVersion) =>\n setAttributes({ version: newVersion })\n }\n />\n </div>\n </div>\n </div>\n );\n },\n save: () => null, // Bloque dinámico: se renderiza en PHP\n });\n\n registerBlockType(\"sage/dealer-social\", {\n title: __(\"Dealer Social Networks\", \"sage\"),\n category: \"leadbox\",\n icon: \"rss\",\n attributes: {\n version: {\n type: \"string\",\n default: \"1\", // Versión por defecto\n },\n },\n edit: ({ attributes, setAttributes }) => {\n return (\n <div className=\"leadbox-component-block\">\n <div className=\"block\">\n <h3>Dealer Social Networks</h3>\n <div>\n This block will render on the frontend as a graphical LBX\n component generated by the following shortcode:\n </div>\n <pre>\n <code>[dealer-social]</code>\n </pre>\n\n {/* Selector de versión */}\n <div className=\"version-container\">\n <SelectControl\n label=\"Version\"\n value={attributes.version}\n options={[\n { label: \"Version 1 (B/W)\", value: \"1\" },\n { label: \"Version 2 (Color)\", value: \"2\" },\n ]}\n onChange={(newVersion) =>\n setAttributes({ version: newVersion })\n }\n />\n </div>\n </div>\n </div>\n );\n },\n save: () => null, // Bloque dinámico: se renderiza en PHP\n });\n\n registerBlockType(\"sage/dealer-map\", {\n title: __(\"Dealer Map frame\", \"sage\"),\n category: \"leadbox\",\n icon: \"location-alt\",\n attributes: {\n version: {\n type: \"string\",\n default: \"1\", // Versión por defecto\n },\n },\n\n edit: ({ attributes, setAttributes }) => {\n return (\n <div className=\"leadbox-component-block\">\n <div className=\"block\">\n <h3>Dealer Map frame</h3>\n <div>\n This block will render on the frontend as a graphical LBX\n component generated by the following shortcode:\n </div>\n <pre>\n <code>[dealer-map]</code>\n </pre>\n\n {/* Selector de versión */}\n <div className=\"version-container\">\n <SelectControl\n label=\"Version\"\n value={attributes.version}\n options={[\n { label: \"Version 1 only map\", value: \"1\" },\n { label: \"Version 2\", value: \"2\" },\n ]}\n onChange={(newVersion) =>\n setAttributes({ version: newVersion })\n }\n />\n </div>\n </div>\n </div>\n );\n },\n save: () => null, // Bloque dinámico: se renderiza en PHP\n });\n\n registerBlockType(\"sage/dealer-hours\", {\n title: __(\"Dealer Service Hours\", \"sage\"),\n\n category: \"leadbox\",\n\n icon: \"hourglass\",\n\n attributes: {\n version: {\n type: \"string\",\n\n default: \"1\", // Versión por defecto\n },\n },\n\n edit: ({ attributes, setAttributes }) => {\n return (\n <div className=\"leadbox-component-block\">\n <div className=\"block\">\n <h3>Dealer Service Hours</h3>\n\n <div>\n This block will render on the frontend as a graphical LBX\n component generated by the following shortcode:\n </div>\n\n <pre>\n <code>[dealer-hours]</code>\n </pre>\n {/* Selector de versión */}\n\n <div className=\"version-container\">\n <SelectControl\n label=\"Version\"\n value={attributes.version}\n options={[\n { label: \"Version 1\", value: \"1\" },\n { label: \"Version 2\", value: \"2\" },\n { label: \"Version 3\", value: \"3\" },\n { label: \"Version 4\", value: \"4\" },\n ]}\n onChange={(newVersion) =>\n setAttributes({ version: newVersion })\n }\n />\n </div>\n </div>\n </div>\n );\n },\n\n save: () => null, // Bloque dinámico: se renderiza en PHP\n });\n\n registerBlockType(\"sage/special-offers\", {\n title: __(\"Special Offers\", \"sage\"),\n category: \"leadbox\",\n icon: \"text-page\",\n attributes: {\n version: {\n type: \"string\",\n default: \"1\",\n },\n },\n edit: (props) => {\n const { attributes, setAttributes } = props;\n const { version } = attributes;\n\n const onChangeVersion = (newVersion) => {\n setAttributes({\n version: newVersion,\n });\n };\n\n const renderBlockContent = () => {\n switch (version) {\n case \"1\":\n return (\n <div className=\"container special-offer-1\">\n <div className=\"columns-container\">\n <div className=\"column image-column\">\n <figure>\n <img\n src=\"http://wptraining.kinsta.cloud/wp-content/uploads/2025/02/24_frd_bro_wdtk_4d_oxwh_ps34-scaled.jpeg\"\n alt=\"2024 Bronco\"\n width=\"400\"\n />\n </figure>\n </div>\n\n <div className=\"column content-column\">\n <h2 className=\"title\">2024 Bronco</h2>\n\n <div className=\"row rebate-row\">\n <div className=\"col\">\n <p>Get a Rebate of $6,000</p>\n <p>On all 2024 Bronco models</p>\n </div>\n </div>\n\n <div className=\"button-group\">\n <a href=\"#\" className=\"button\">\n View Inventory\n </a>\n <a href=\"#\" className=\"button\">\n Offer Details\n </a>\n </div>\n </div>\n </div>\n <div className=\"columns-container\">\n <div className=\"column image-column\">\n <figure>\n <img\n src=\"http://wptraining.kinsta.cloud/wp-content/uploads/2025/02/24_frd_bro_wdtk_4d_oxwh_ps34-scaled.jpeg\"\n alt=\"2024 Bronco\"\n width=\"400\"\n />\n </figure>\n </div>\n\n <div className=\"column content-column\">\n <h2 className=\"title\">2024 Bronco</h2>\n\n <div className=\"row rebate-row\">\n <div className=\"col\">\n <p>Get a Rebate of $6,000</p>\n <p>On all 2024 Bronco models</p>\n </div>\n </div>\n\n <div className=\"button-group\">\n <a href=\"#\" className=\"button\">\n View Inventory\n </a>\n <a href=\"#\" className=\"button\">\n Offer Details\n </a>\n </div>\n </div>\n </div>\n <div className=\"columns-container\">\n <div className=\"column image-column\">\n <figure>\n <img\n src=\"http://wptraining.kinsta.cloud/wp-content/uploads/2025/02/24_frd_bro_wdtk_4d_oxwh_ps34-scaled.jpeg\"\n alt=\"2024 Bronco\"\n width=\"400\"\n />\n </figure>\n </div>\n\n <div className=\"column content-column\">\n <h2 className=\"title\">2024 Bronco</h2>\n\n <div className=\"row rebate-row\">\n <div className=\"col\">\n <p>Get a Rebate of $6,000</p>\n <p>On all 2024 Bronco models</p>\n </div>\n </div>\n\n <div className=\"button-group\">\n <a href=\"#\" className=\"button\">\n View Inventory\n </a>\n <a href=\"#\" className=\"button\">\n Offer Details\n </a>\n </div>\n </div>\n </div>\n </div>\n );\n case \"2\":\n return (\n <div className=\"contact-card-v2\">\n <h2 className=\"contact-card-v2-title\">Contact Us</h2>\n <div className=\"contact-card-v2-address\">\n <p>\n <strong>[Address Line 1], [Address Line 2],</strong>\n </p>\n <p>\n <strong>[City], [Province], [Postal code]</strong>\n </p>\n <p>\n <strong>General:</strong> 000-000-0000\n </p>\n </div>\n </div>\n );\n default:\n return (\n <div className=\"contact-card-default\">\n <h3>Default Special Offer</h3>\n <p>Please select a version from the right panel.</p>\n </div>\n );\n }\n };\n\n return (\n <>\n {/* Panel derecho (InspectorControls) */}\n <InspectorControls>\n <PanelBody title={__(\"Template Type\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Select Version\", \"sage\")}\n value={version}\n options={[\n { label: \"Version 1\", value: \"1\" },\n { label: \"Version 2\", value: \"2\" },\n ]}\n onChange={onChangeVersion}\n />\n </PanelBody>\n </InspectorControls>\n\n {/* Vista del bloque */}\n <div className=\"leadbox-special-offers-block\">\n {renderBlockContent()}\n <div className=\"block\">\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n </>\n );\n },\n save: () => null,\n });\n\n registerBlockType(\"sage/open-today-line\", {\n title: __(\"Open Today Line\", \"sage\"),\n category: \"leadbox\",\n icon: \"store\",\n attributes: {\n department: {\n type: \"string\",\n default: \"sales\",\n },\n phone: {\n type: \"string\",\n default: \"sales\",\n },\n },\n edit: (props) => {\n const { attributes, setAttributes } = props;\n const { department, phone } = attributes;\n\n const onChangeDepartment = (newDepartment) => {\n setAttributes({\n department: newDepartment,\n });\n };\n\n const onChangePhone = (newPhone) => {\n setAttributes({\n phone: newPhone,\n });\n }\n\n return (\n <>\n {/* Panel derecho (InspectorControls) */}\n <InspectorControls>\n <PanelBody title={__(\"Department\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Select Department\", \"sage\")}\n value={department}\n options={[\n { label: \"Sales\", value: \"sales\" },\n { label: \"Service\", value: \"service\" },\n { label: \"Parts\", value: \"parts\" },\n { label: \"Additional Hours 1\", value: \"additional_1\" },\n { label: \"Additional Hours 2\", value: \"additional_2\" },\n { label: \"Additional Hours 3\", value: \"additional_3\" },\n ]}\n onChange={onChangeDepartment}\n />\n </PanelBody>\n\n <PanelBody title={__(\"Phone\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Select Phone\", \"sage\")}\n value={phone}\n options={[\n { label: \"Sales Phone\", value: \"sales\" },\n { label: \"Service Phone\", value: \"service\" },\n { label: \"Parts Phone\", value: \"parts\" },\n { label: \"Fax Phone\", value: \"fax\" },\n { label: \"Body Shop Phone\", value: \"body_shop\" },\n { label: \"Collision Phone\", value: \"collision\" },\n { label: \"Accessories Phone\", value: \"accessories\" },\n { label: \"SMS Phone\", value: \"sms\" },\n ]}\n onChange={onChangePhone}\n />\n </PanelBody>\n </InspectorControls>\n\n {/* Vista del bloque */}\n <div className=\"leadbox-open-today-block\">\n <div className=\"block-container\">\n <h3>Open Today Line</h3>\n <p><b>It will render a line like this:</b></p>\n <p><i>Open Today <b>[DEPARTMENT]</b>: 8:00am – 5:00pm | Call us at: <b>[PHONE]</b></i></p>\n </div>\n <div className=\"block\">\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n </>\n );\n },\n save: () => null,\n });\n\n registerBlockType(\"sage/call-button\", {\n title: __(\"Call Button\", \"sage\"),\n category: \"leadbox\",\n icon: \"phone\",\n attributes: {\n label: {\n type: \"string\",\n default: \"\",\n },\n phone: {\n type: \"string\",\n default: \"sales\",\n },\n },\n edit: (props) => {\n const { attributes, setAttributes } = props;\n const { label, phone } = attributes;\n\n const onChangeLabel = (newLabel) => {\n setAttributes({\n label: newLabel,\n });\n };\n\n const onChangePhone = (newPhone) => {\n setAttributes({\n phone: newPhone,\n });\n }\n\n return (\n <>\n {/* Panel derecho (InspectorControls) */}\n <InspectorControls>\n <PanelBody title={__(\"Button Label\", \"sage\")} initialOpen={true}>\n <TextControl\n label={__(\"Button Label\", \"sage\")}\n value={label}\n onChange={onChangeLabel}\n help={__(\"Enter the label to display\", \"sage\")}\n />\n </PanelBody>\n\n <PanelBody title={__(\"Phone\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Select Phone\", \"sage\")}\n value={phone}\n options={[\n { label: \"Sales Phone\", value: \"sales\" },\n { label: \"Service Phone\", value: \"service\" },\n { label: \"Parts Phone\", value: \"parts\" },\n { label: \"Fax Phone\", value: \"fax\" },\n { label: \"Body Shop Phone\", value: \"body_shop\" },\n { label: \"Collision Phone\", value: \"collision\" },\n { label: \"Accessories Phone\", value: \"accessories\" },\n { label: \"SMS\", value: \"sms\" },\n ]}\n onChange={onChangePhone}\n />\n </PanelBody>\n </InspectorControls>\n\n {/* Vista del bloque */}\n <div className=\"leadbox-open-today-block\">\n <div className=\"block-container\">\n <h3>Call Button</h3>\n </div>\n <div className=\"block\">\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n </>\n );\n },\n save: () => null,\n });\n\n registerBlockType(\"sage/offers-by-categories\", {\n title: __(\"Offers By Categories\", \"sage\"),\n category: \"leadbox\",\n icon: \"portfolio\",\n attributes: {\n category: {\n type: \"string\",\n default: \"\",\n },\n },\n edit: (props) => {\n const { attributes, setAttributes } = props;\n const { category } = attributes;\n\n const terms = useSelect((select) => {\n return select(\"core\").getEntityRecords(\"taxonomy\", \"offer_category\", {\n per_page: -1,\n });\n }, []);\n\n const options = terms\n ? [\n { label: __(\"— Select a category —\", \"sage\"), value: \"\" },\n ...terms.map((term) => ({\n label: term.name,\n value: term.slug,\n })),\n ]\n : [{ label: __(\"Loading...\", \"sage\"), value: \"\" }];\n\n\n return (\n <>\n <InspectorControls>\n <PanelBody title={__(\"Select Category\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Category\", \"sage\")}\n value={category}\n options={options}\n onChange={(newCategory) =>\n setAttributes({ category: newCategory })\n }\n />\n </PanelBody>\n </InspectorControls>\n\n <div className=\"leadbox-open-today-block\">\n <div className=\"block-container\">\n <h3>Offers By Categories</h3>\n <p>{category ? `Selected: ${category}` : \"No category selected\"}</p>\n </div>\n <div className=\"block\">\n <div>Configure this block on the right panel.</div>\n </div>\n </div>\n </>\n );\n },\n save: () => null,\n });\n\n // ─── Offers Slider Block ───────────────────────────────────────────\n const { ToggleControl, RangeControl, ColorPalette, BaseControl } = wp.components;\n\n registerBlockType(\"sage/lbx-slider\", {\n title: __(\"LBX Slider\", \"sage\"),\n category: \"leadbox\",\n icon: \"slides\",\n description: __(\"Display offers in a slider/carousel powered by Swiper.\", \"sage\"),\n attributes: {\n sliderId: {\n type: \"string\",\n default: \"\",\n },\n layout: {\n type: \"string\",\n default: \"\",\n },\n columns: {\n type: \"number\",\n default: 3,\n },\n mediaColumnsMobile: {\n type: \"number\",\n default: 0,\n },\n mediaColumnsTablet: {\n type: \"number\",\n default: 0,\n },\n mediaColumnsDesktop: {\n type: \"number\",\n default: 0,\n },\n carouselColumnsMobile: {\n type: \"number\",\n default: 0,\n },\n carouselColumnsTablet: {\n type: \"number\",\n default: 0,\n },\n carouselColumnsDesktop: {\n type: \"number\",\n default: 0,\n },\n showArrows: {\n type: \"boolean\",\n default: true,\n },\n showPagination: {\n type: \"boolean\",\n default: true,\n },\n autoplay: {\n type: \"boolean\",\n default: false,\n },\n autoplaySpeed: {\n type: \"number\",\n default: 5000,\n },\n loop: {\n type: \"boolean\",\n default: false,\n },\n spaceBetween: {\n type: \"number\",\n default: 20,\n },\n gradientColor: {\n type: \"string\",\n default: \"\",\n },\n sliderHeight: {\n type: \"number\",\n default: 0,\n },\n showViewInventory: {\n type: \"boolean\",\n },\n arrowStyle: { type: \"string\", default: \"circle\" },\n arrowColor: { type: \"string\", default: \"\" },\n arrowOpacity: { type: \"number\", default: 90 },\n paginationColor: { type: \"string\", default: \"\" },\n countdownEndDate: { type: \"string\", default: \"\" },\n countdownStartDate: { type: \"string\", default: \"\" },\n countdownStyle: { type: \"string\", default: \"flip\" },\n countdownExpiredMessage: { type: \"string\", default: \"\" },\n countdownBgImage: { type: \"string\", default: \"\" },\n countdownBgImageId: { type: \"number\", default: 0 },\n countdownOverlayOpacity: { type: \"number\", default: 60 },\n contentAlign: { type: \"string\", default: \"\" },\n transition: { type: \"string\", default: \"\" },\n },\n edit: (props) => {\n const { attributes, setAttributes } = props;\n const {\n sliderId,\n layout,\n columns,\n mediaColumnsMobile,\n mediaColumnsTablet,\n mediaColumnsDesktop,\n carouselColumnsMobile,\n carouselColumnsTablet,\n carouselColumnsDesktop,\n showArrows,\n showPagination,\n autoplay,\n autoplaySpeed,\n loop,\n spaceBetween,\n gradientColor,\n sliderHeight,\n showViewInventory,\n arrowStyle,\n arrowColor,\n arrowOpacity,\n paginationColor,\n countdownEndDate,\n countdownStartDate,\n countdownStyle,\n countdownExpiredMessage,\n countdownBgImage,\n countdownBgImageId,\n countdownOverlayOpacity,\n contentAlign,\n transition: transitionEffect,\n } = attributes;\n\n const { useState, useEffect, useCallback, useRef } = wp.element;\n const [minervaOffers, setMinervaOffers] = useState(null);\n const [minervaLoading, setMinervaLoading] = useState(false);\n const [previewSlide, setPreviewSlide] = useState(0);\n const [customEditSlideIndex, setCustomEditSlideIndex] = useState(0);\n const [mediaColumnsEditKey, setMediaColumnsEditKey] = useState(\"\");\n const [slideAligns, setSlideAligns] = useState({});\n const [slideImageLinks, setSlideImageLinks] = useState({});\n const [slideButtonLabels, setSlideButtonLabels] = useState({});\n const [slideButtonUrls, setSlideButtonUrls] = useState({});\n const [slideButtonTargets, setSlideButtonTargets] = useState({});\n const [customSlideLinks, setCustomSlideLinks] = useState({});\n const [customSlideAligns, setCustomSlideAligns] = useState({});\n const [countdownImageLink, setCountdownImageLink] = useState(\"\");\n // Real-render preview (iframe of the actual front-end output)\n const [previewUrl, setPreviewUrl] = useState(\"\");\n const [previewHeight, setPreviewHeight] = useState(420);\n const [previewReload, setPreviewReload] = useState(0);\n const [previewLang, setPreviewLang] = useState(\"en\");\n // Mutable copies — entity records are frozen so direct mutation is silently ignored\n const slideSettingsRef = useRef({});\n const customSlidesRef = useRef([]);\n\n // Fetch available sliders from the plugin option via REST\n const sliders = useSelect((select) => {\n return select(\"core\").getEntityRecord(\"root\", \"site\");\n }, []);\n\n const sliderOptions = sliders && sliders.lbx_sliders\n ? [\n { label: __(\"— Select a slider —\", \"sage\"), value: \"\" },\n ...Object.entries(sliders.lbx_sliders).map(([id, slider]) => ({\n label: slider.name + (slider.enabled ? \"\" : \" (\" + __(\"Disabled\", \"sage\") + \")\"),\n value: id,\n })),\n ]\n : [{ label: __(\"Loading sliders...\", \"sage\"), value: \"\" }];\n\n const selectedSlider = sliders && sliders.lbx_sliders && sliderId\n ? sliders.lbx_sliders[sliderId]\n : null;\n\n const selectedSource = selectedSlider ? (selectedSlider.source || \"minerva\") : null;\n\n // Resolved values: Gutenberg attribute (if set) → admin setting → hardcoded default\n const effectiveLayout = layout || (selectedSlider && selectedSlider.layout) || \"carousel\";\n const effectiveTransition = transitionEffect || (selectedSlider && selectedSlider.transition) || \"slide\";\n const effectiveContentAlign = contentAlign || (selectedSlider && selectedSlider.content_align) || \"left\";\n const effectiveSliderHeight = (() => {\n if (sliderHeight && Number(sliderHeight) > 0) return Number(sliderHeight);\n const adminHeight = selectedSlider && selectedSlider.slider_height ? parseInt(selectedSlider.slider_height, 10) : 0;\n return adminHeight > 0 ? adminHeight : 480;\n })();\n const effectiveMediaColumnsMobile = (mediaColumnsMobile && mediaColumnsMobile > 0) ? mediaColumnsMobile : (selectedSlider && selectedSlider.media_columns_mobile ? parseInt(selectedSlider.media_columns_mobile, 10) : 1);\n const effectiveMediaColumnsTablet = (mediaColumnsTablet && mediaColumnsTablet > 0) ? mediaColumnsTablet : (selectedSlider && selectedSlider.media_columns_tablet ? parseInt(selectedSlider.media_columns_tablet, 10) : 2);\n const effectiveMediaColumnsDesktop = (mediaColumnsDesktop && mediaColumnsDesktop > 0) ? mediaColumnsDesktop : (selectedSlider && selectedSlider.media_columns_desktop ? parseInt(selectedSlider.media_columns_desktop, 10) : 3);\n const effectiveCarouselColumnsMobile = (carouselColumnsMobile && carouselColumnsMobile > 0) ? carouselColumnsMobile : (selectedSlider && selectedSlider.carousel_columns_mobile ? parseInt(selectedSlider.carousel_columns_mobile, 10) : 1);\n const effectiveCarouselColumnsTablet = (carouselColumnsTablet && carouselColumnsTablet > 0) ? carouselColumnsTablet : (selectedSlider && selectedSlider.carousel_columns_tablet ? parseInt(selectedSlider.carousel_columns_tablet, 10) : 2);\n const effectiveCarouselColumnsDesktop = (carouselColumnsDesktop && carouselColumnsDesktop > 0)\n ? carouselColumnsDesktop\n : (selectedSlider && selectedSlider.carousel_columns_desktop\n ? parseInt(selectedSlider.carousel_columns_desktop, 10)\n : ((columns && columns > 0) ? columns : 3));\n const effectiveShowViewInventory = (typeof showViewInventory === \"boolean\")\n ? showViewInventory\n : !!(selectedSlider && selectedSlider.show_view_inventory);\n\n // Auto-force layout based on source type\n useEffect(() => {\n if (!selectedSource) return;\n if (selectedSource === \"countdown\" && effectiveLayout !== \"countdown\") {\n setAttributes({ layout: \"countdown\" });\n } else if (selectedSource !== \"countdown\" && effectiveLayout === \"countdown\") {\n setAttributes({ layout: \"\" });\n }\n }, [selectedSource]);\n\n // Build layout options based on source type\n const layoutOptions = (() => {\n if (selectedSource === \"countdown\") {\n return [{ label: __(\"Countdown Timer\", \"sage\"), value: \"countdown\" }];\n }\n return [\n { label: __(\"Carousel\", \"sage\"), value: \"carousel\" },\n { label: __(\"Hero Banner\", \"sage\"), value: \"offers-template\" },\n { label: __(\"Split Panel\", \"sage\"), value: \"split\" },\n { label: __(\"Media Columns\", \"sage\"), value: \"media-columns\" },\n ];\n })();\n\n // Pre-populate countdown fields from admin config when selecting a countdown slider\n useEffect(() => {\n if (!selectedSlider || selectedSlider.source !== \"countdown\") return;\n const updates = {};\n if (!countdownEndDate && selectedSlider.countdown_end_date) updates.countdownEndDate = selectedSlider.countdown_end_date;\n if (!countdownStartDate && selectedSlider.countdown_start_date) updates.countdownStartDate = selectedSlider.countdown_start_date;\n if (!countdownStyle && selectedSlider.countdown_style) updates.countdownStyle = selectedSlider.countdown_style;\n if (!countdownExpiredMessage && selectedSlider.countdown_expired_msg) updates.countdownExpiredMessage = selectedSlider.countdown_expired_msg;\n if (!countdownBgImage && selectedSlider.countdown_bg_image) updates.countdownBgImage = selectedSlider.countdown_bg_image;\n if (Object.keys(updates).length > 0) setAttributes(updates);\n }, [sliderId, selectedSource]);\n\n // Sync per-slide alignments from admin slider settings\n useEffect(() => {\n if (!selectedSlider || !selectedSlider.slide_settings) {\n setSlideAligns({});\n return;\n }\n const aligns = {};\n Object.entries(selectedSlider.slide_settings).forEach(([key, ss]) => {\n if (ss.align) aligns[key] = ss.align;\n });\n setSlideAligns(aligns);\n }, [sliderId, selectedSlider && selectedSlider.slide_settings]);\n\n // Sync image link local state and mutable refs from admin slider settings on slider change\n useEffect(() => {\n if (!selectedSlider) {\n setSlideImageLinks({});\n setSlideButtonLabels({});\n setSlideButtonUrls({});\n setSlideButtonTargets({});\n setCustomSlideLinks({});\n setCustomSlideAligns({});\n setCountdownImageLink(\"\");\n slideSettingsRef.current = {};\n customSlidesRef.current = [];\n return;\n }\n // Deep-copy into mutable refs so saves accumulate correctly across keystrokes\n slideSettingsRef.current = JSON.parse(JSON.stringify(selectedSlider.slide_settings || {}));\n customSlidesRef.current = JSON.parse(JSON.stringify(selectedSlider.custom_slides || []));\n\n const oemLinks = {};\n Object.entries(selectedSlider.slide_settings || {}).forEach(([key, ss]) => {\n if (ss.image_link_url) oemLinks[key] = ss.image_link_url;\n });\n setSlideImageLinks(oemLinks);\n\n const oemBtnLabels = {};\n const oemBtnUrls = {};\n const oemBtnTargets = {};\n Object.entries(selectedSlider.slide_settings || {}).forEach(([key, ss]) => {\n // New format: read from ctas[0]\n if (Array.isArray(ss.ctas) && ss.ctas[0]) {\n if (ss.ctas[0].label) oemBtnLabels[key] = ss.ctas[0].label;\n if (ss.ctas[0].url) oemBtnUrls[key] = ss.ctas[0].url;\n if (ss.ctas[0].target) oemBtnTargets[key] = ss.ctas[0].target;\n } else {\n // Legacy fallback\n if (ss.cta_label) oemBtnLabels[key] = ss.cta_label;\n if (ss.cta_url) oemBtnUrls[key] = ss.cta_url;\n if (ss.cta_target) oemBtnTargets[key] = ss.cta_target;\n }\n });\n setSlideButtonLabels(oemBtnLabels);\n setSlideButtonUrls(oemBtnUrls);\n setSlideButtonTargets(oemBtnTargets);\n\n const cLinks = {};\n const cAligns = {};\n (selectedSlider.custom_slides || []).forEach((s, i) => {\n cLinks[i] = s.image_link_url || \"\";\n cAligns[i] = s.align || \"\";\n });\n setCustomSlideLinks(cLinks);\n setCustomSlideAligns(cAligns);\n\n setCountdownImageLink(selectedSlider.countdown_image_link_url || \"\");\n }, [sliderId, selectedSlider]);\n\n useEffect(() => {\n if (!selectedSlider || selectedSlider.source !== \"custom\") {\n setCustomEditSlideIndex(0);\n return;\n }\n const total = (selectedSlider.custom_slides || []).length;\n if (customEditSlideIndex >= total) setCustomEditSlideIndex(0);\n }, [sliderId, selectedSlider, customEditSlideIndex]);\n\n // Reset preview position when context changes to avoid stale indices.\n useEffect(() => {\n setPreviewSlide(0);\n if (selectedSource !== \"custom\") setCustomEditSlideIndex(0);\n }, [sliderId, effectiveLayout, selectedSource]);\n\n // Keep \"Edit Slide\" selector synced when preview changes via arrows/dots.\n useEffect(() => {\n if (!selectedSlider || selectedSlider.source !== \"custom\") return;\n setCustomEditSlideIndex(previewSlide);\n }, [previewSlide, selectedSlider && selectedSlider.source]);\n\n // Helper: get offer key for slide_settings lookup\n const getOfferKey = useCallback((offer) => {\n if (!offer) return \"\";\n return [offer.year, offer.make, offer.model].filter(Boolean).join(\"_\").toLowerCase().replace(/\\s+/g, \"-\");\n }, []);\n\n // Current preview slide alignment\n const currentOffer = minervaOffers && minervaOffers.length > 0 ? minervaOffers[Math.min(previewSlide, minervaOffers.length - 1)] : null;\n const currentSlideKey = getOfferKey(currentOffer);\n const currentSlideAlign = currentSlideKey && slideAligns[currentSlideKey] ? slideAligns[currentSlideKey] : effectiveContentAlign;\n const isMediaColumnsLayout = effectiveLayout === \"media-columns\";\n\n const oemSlideOptions = (minervaOffers || []).map((offer, index) => {\n const key = getOfferKey(offer);\n return {\n label: `${index + 1}. ${`${offer.year || \"\"} ${offer.make || \"\"} ${offer.model || \"\"}`.trim() || key}`,\n value: key,\n };\n }).filter((opt) => !!opt.value);\n\n useEffect(() => {\n if (!selectedSlider || selectedSlider.source !== \"minerva\" || !oemSlideOptions.length) return;\n const exists = oemSlideOptions.some((opt) => opt.value === mediaColumnsEditKey);\n if (!exists) setMediaColumnsEditKey(oemSlideOptions[0].value);\n }, [selectedSlider && selectedSlider.source, mediaColumnsEditKey, minervaOffers]);\n\n useEffect(() => {\n if (!selectedSlider || selectedSlider.source !== \"minerva\" || !currentSlideKey) return;\n setMediaColumnsEditKey(currentSlideKey);\n }, [selectedSlider && selectedSlider.source, currentSlideKey]);\n\n const editingSlideKey = (selectedSlider && selectedSlider.source === \"minerva\" && mediaColumnsEditKey) ? mediaColumnsEditKey : currentSlideKey;\n const editingSlideAlign = editingSlideKey && slideAligns[editingSlideKey] ? slideAligns[editingSlideKey] : effectiveContentAlign;\n\n // Save any per-slide field to admin via AJAX\n const saveSlideField = useCallback((key, field, value) => {\n if (!selectedSlider || !sliderId) return;\n if (field === \"align\") setSlideAligns((prev) => ({ ...prev, [key]: value }));\n if (field === \"image_link_url\") setSlideImageLinks((prev) => ({ ...prev, [key]: value }));\n if (field === \"cta_label\") setSlideButtonLabels((prev) => ({ ...prev, [key]: value }));\n if (field === \"cta_url\") setSlideButtonUrls((prev) => ({ ...prev, [key]: value }));\n if (field === \"cta_target\") setSlideButtonTargets((prev) => ({ ...prev, [key]: value }));\n\n const editorConfig = window.lbxSliderEditor || {};\n const nonce = editorConfig.ajaxNonce || \"\";\n // Use the mutable ref — entity records are frozen so direct mutation on selectedSlider is silently ignored\n const allSettings = slideSettingsRef.current;\n if (!allSettings[key]) allSettings[key] = {};\n allSettings[key][field] = value;\n // Mirror cta_label/url/target into ctas[0] for the new format\n if (field === \"cta_label\" || field === \"cta_url\" || field === \"cta_target\") {\n if (!Array.isArray(allSettings[key].ctas) || !allSettings[key].ctas.length) {\n allSettings[key].ctas = [{ label: \"\", url: \"\", target: \"_self\", color: \"\", position: \"inline\" }];\n }\n if (field === \"cta_label\") allSettings[key].ctas[0].label = value;\n if (field === \"cta_url\") allSettings[key].ctas[0].url = value;\n if (field === \"cta_target\") allSettings[key].ctas[0].target = value;\n }\n\n const fd = new FormData();\n fd.append(\"action\", \"lbx_save_slider\");\n fd.append(\"nonce\", nonce);\n fd.append(\"slider_id\", sliderId);\n fd.append(\"slider_name\", selectedSlider.name || \"\");\n fd.append(\"slider_source\", selectedSlider.source || \"minerva\");\n fd.append(\"slide_settings\", JSON.stringify(allSettings));\n fd.append(\"_partial\", \"slide_settings\");\n fetch(window.ajaxurl, { method: \"POST\", body: fd, credentials: \"same-origin\" });\n }, [selectedSlider, sliderId]);\n\n const saveSlideAlign = useCallback((key, val) => saveSlideField(key, \"align\", val), [saveSlideField]);\n\n // Save a custom slide field (by index) via AJAX\n const saveCustomSlideField = useCallback((index, field, value) => {\n if (!selectedSlider || !sliderId) return;\n // Use the mutable ref — entity records are frozen so direct mutation on selectedSlider is silently ignored\n const slides = customSlidesRef.current;\n if (!slides[index]) return;\n slides[index][field] = value;\n if (field === \"image_link_url\") setCustomSlideLinks((prev) => ({ ...prev, [index]: value }));\n if (field === \"align\") setCustomSlideAligns((prev) => ({ ...prev, [index]: value }));\n\n const editorConfig = window.lbxSliderEditor || {};\n const fd = new FormData();\n fd.append(\"action\", \"lbx_save_slider\");\n fd.append(\"nonce\", editorConfig.ajaxNonce || \"\");\n fd.append(\"slider_id\", sliderId);\n fd.append(\"_partial\", \"custom_slides\");\n fd.append(\"custom_slides\", JSON.stringify(slides));\n fetch(window.ajaxurl, { method: \"POST\", body: fd, credentials: \"same-origin\" });\n }, [selectedSlider, sliderId]);\n\n // Save a top-level slider field via AJAX (e.g. countdown_image_link_url)\n const saveSliderField = useCallback((fieldName, value) => {\n if (!selectedSlider || !sliderId) return;\n if (fieldName === \"countdown_image_link_url\") setCountdownImageLink(value);\n\n const editorConfig = window.lbxSliderEditor || {};\n const fd = new FormData();\n fd.append(\"action\", \"lbx_save_slider\");\n fd.append(\"nonce\", editorConfig.ajaxNonce || \"\");\n fd.append(\"slider_id\", sliderId);\n fd.append(\"_partial\", \"slider_field\");\n fd.append(\"field_name\", fieldName);\n fd.append(\"field_value\", value);\n fetch(window.ajaxurl, { method: \"POST\", body: fd, credentials: \"same-origin\" });\n }, [selectedSlider, sliderId]);\n\n // Fetch Minerva offers for preview when source is minerva\n useEffect(() => {\n if (!selectedSlider || selectedSlider.source !== \"minerva\") {\n setMinervaOffers(null);\n return;\n }\n if (minervaOffers !== null) return; // already fetched\n\n setMinervaLoading(true);\n const editorConfig = window.lbxSliderEditor || {};\n const url = editorConfig.restUrl || \"/wp-json/lbx-slider/v1/minerva-preview\";\n\n wp.apiFetch({ path: \"lbx-slider/v1/minerva-preview\" })\n .then((data) => {\n setMinervaOffers(data.offers || []);\n setMinervaLoading(false);\n })\n .catch(() => {\n setMinervaOffers([]);\n setMinervaLoading(false);\n });\n }, [selectedSlider ? selectedSlider.source : null]);\n\n // Fetch the real-render preview URL for the selected slider\n useEffect(() => {\n if (!sliderId) {\n setPreviewUrl(\"\");\n return;\n }\n let cancelled = false;\n wp.apiFetch({ path: \"lbx-slider/v1/preview-url?slider_id=\" + encodeURIComponent(sliderId) })\n .then((data) => {\n if (!cancelled) setPreviewUrl((data && data.url) || \"\");\n })\n .catch(() => {\n if (!cancelled) setPreviewUrl(\"\");\n });\n return () => { cancelled = true; };\n }, [sliderId]);\n\n // Listen for height reports from the preview iframe to auto-size it\n useEffect(() => {\n const onMessage = (e) => {\n const d = e && e.data;\n if (d && typeof d === \"object\" && typeof d.lbxSliderPreviewHeight === \"number\") {\n const h = Math.max(180, Math.round(d.lbxSliderPreviewHeight));\n setPreviewHeight(h);\n }\n };\n window.addEventListener(\"message\", onMessage);\n return () => window.removeEventListener(\"message\", onMessage);\n }, []);\n\n // Refresh the preview iframe whenever the block (re)gains selection, so it always\n // reflects the slider's latest saved content — the exact slides/images, every time.\n useEffect(() => {\n if (props.isSelected) setPreviewReload((k) => k + 1);\n }, [props.isSelected]);\n\n return (\n <>\n <InspectorControls>\n <PanelBody title={__(\"Slider Source\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Select Slider\", \"sage\")}\n value={sliderId}\n options={sliderOptions}\n onChange={(val) =>\n setAttributes({\n sliderId: val,\n // Reset block-level overrides so the new slider inherits Admin settings.\n layout: \"\",\n transition: \"\",\n contentAlign: \"\",\n sliderHeight: 0,\n mediaColumnsMobile: 0,\n mediaColumnsTablet: 0,\n mediaColumnsDesktop: 0,\n carouselColumnsMobile: 0,\n carouselColumnsTablet: 0,\n carouselColumnsDesktop: 0,\n showViewInventory: undefined,\n })\n }\n help={__(\"Choose a slider configured in Leadbox Settings > Offers Slider.\", \"sage\")}\n />\n </PanelBody>\n\n <PanelBody title={__(\"Slider Settings\", \"sage\")} initialOpen={true}>\n <SelectControl\n label={__(\"Layout\", \"sage\")}\n value={effectiveLayout}\n options={layoutOptions}\n onChange={(val) => setAttributes({ layout: val })}\n />\n {effectiveLayout !== \"countdown\" && (\n <SelectControl\n label={__(\"Transition Effect\", \"sage\")}\n value={effectiveTransition}\n options={[\n { label: __(\"Slide (Default)\", \"sage\"), value: \"slide\" },\n { label: __(\"Fade (Crossfade)\", \"sage\"), value: \"fade\" },\n { label: __(\"Creative (3D Rotate)\", \"sage\"), value: \"creative\" },\n { label: __(\"Flip (Card Flip)\", \"sage\"), value: \"flip\" },\n { label: __(\"Coverflow (3D Depth)\", \"sage\"), value: \"coverflow\" },\n ]}\n onChange={(val) => setAttributes({ transition: val })}\n help={[\"fade\", \"creative\", \"flip\"].includes(effectiveTransition) ? __(\"This effect forces 1 slide per view.\", \"sage\") : effectiveTransition === \"coverflow\" ? __(\"Centered 3D depth effect with shadows.\", \"sage\") : \"\"}\n />\n )}\n {effectiveLayout !== \"offers-template\" && effectiveLayout !== \"split\" && effectiveLayout !== \"countdown\" && (effectiveLayout === \"media-columns\" || effectiveTransition === \"slide\" || effectiveTransition === \"coverflow\") && (\n <>\n {effectiveLayout === \"media-columns\" ? (\n <>\n <RangeControl\n label={__(\"Slides Per View (Mobile <= 640px)\", \"sage\")}\n value={effectiveMediaColumnsMobile}\n onChange={(val) => {\n setAttributes({ mediaColumnsMobile: val });\n saveSliderField(\"media_columns_mobile\", String(val));\n }}\n min={1}\n max={3}\n />\n <RangeControl\n label={__(\"Slides Per View (Tablet 641-1024px)\", \"sage\")}\n value={effectiveMediaColumnsTablet}\n onChange={(val) => {\n setAttributes({ mediaColumnsTablet: val });\n saveSliderField(\"media_columns_tablet\", String(val));\n }}\n min={1}\n max={4}\n />\n <RangeControl\n label={__(\"Slides Per View (Desktop >= 1025px)\", \"sage\")}\n value={effectiveMediaColumnsDesktop}\n onChange={(val) => {\n setAttributes({ mediaColumnsDesktop: val });\n saveSliderField(\"media_columns_desktop\", String(val));\n }}\n min={1}\n max={6}\n />\n </>\n ) : (\n <>\n {effectiveLayout === \"carousel\" && effectiveTransition === \"slide\" && (\n <>\n <RangeControl\n label={__(\"Carousel Slides (Mobile <= 640px)\", \"sage\")}\n value={effectiveCarouselColumnsMobile}\n onChange={(val) => {\n setAttributes({ carouselColumnsMobile: val });\n saveSliderField(\"carousel_columns_mobile\", String(val));\n }}\n min={1}\n max={3}\n />\n <RangeControl\n label={__(\"Carousel Slides (Tablet 641-1024px)\", \"sage\")}\n value={effectiveCarouselColumnsTablet}\n onChange={(val) => {\n setAttributes({ carouselColumnsTablet: val });\n saveSliderField(\"carousel_columns_tablet\", String(val));\n }}\n min={1}\n max={4}\n />\n <RangeControl\n label={__(\"Carousel Slides (Desktop >= 1025px)\", \"sage\")}\n value={effectiveCarouselColumnsDesktop}\n onChange={(val) => {\n setAttributes({\n carouselColumnsDesktop: val,\n columns: val,\n });\n saveSliderField(\"carousel_columns_desktop\", String(val));\n }}\n min={1}\n max={6}\n />\n </>\n )}\n {!(effectiveLayout === \"carousel\" && effectiveTransition === \"slide\") && (\n <RangeControl\n label={__(\"Slides Per View\", \"sage\")}\n value={columns}\n onChange={(val) => setAttributes({ columns: val })}\n min={1}\n max={5}\n />\n )}\n <RangeControl\n label={__(\"Space Between (px)\", \"sage\")}\n value={spaceBetween}\n onChange={(val) => setAttributes({ spaceBetween: val })}\n min={0}\n max={60}\n step={5}\n />\n </>\n )}\n </>\n )}\n <RangeControl\n label={__(\"Slider Height (px)\", \"sage\")}\n value={effectiveSliderHeight}\n onChange={(val) => {\n setAttributes({ sliderHeight: val });\n saveSliderField(\"slider_height\", String(val));\n }}\n min={280}\n max={800}\n step={10}\n />\n </PanelBody>\n\n {effectiveLayout !== \"countdown\" && (\n <PanelBody title={__(\"Slide Content\", \"sage\")} initialOpen={true}>\n <div style={{ marginBottom: \"12px\", fontSize: \"11px\", fontWeight: 600, textTransform: \"uppercase\", letterSpacing: \"0.04em\", color: \"#6b7280\" }}>\n {__(\"Global (all slides)\", \"sage\")}\n </div>\n <SelectControl\n label={__(\"Default Content Alignment\", \"sage\")}\n value={effectiveContentAlign}\n options={[\n { label: __(\"Left\", \"sage\"), value: \"left\" },\n { label: __(\"Center\", \"sage\"), value: \"center\" },\n { label: __(\"Right\", \"sage\"), value: \"right\" },\n ]}\n onChange={(val) => setAttributes({ contentAlign: val })}\n help={__(\"Fallback for slides without individual alignment.\", \"sage\")}\n />\n <div style={{ borderTop: \"1px solid #e5e7eb\", margin: \"14px 0 12px\" }}></div>\n <div style={{ marginBottom: \"8px\", fontSize: \"11px\", fontWeight: 600, textTransform: \"uppercase\", letterSpacing: \"0.04em\", color: \"#6b7280\" }}>\n {__(\"Per-slide overrides\", \"sage\")}\n </div>\n {/* OEM Minerva: per-slide alignment + image link */}\n {editingSlideKey && (\n <>\n {selectedSlider && selectedSlider.source === \"minerva\" && oemSlideOptions.length > 1 && (\n <SelectControl\n label={__(\"Edit Slide\", \"sage\")}\n value={editingSlideKey}\n options={oemSlideOptions}\n onChange={(val) => {\n setMediaColumnsEditKey(val);\n const next = (minervaOffers || []).findIndex((offer) => getOfferKey(offer) === val);\n if (next >= 0) setPreviewSlide(next);\n }}\n help={__(\"Choose the OEM slide you want to edit.\", \"sage\")}\n />\n )}\n <SelectControl\n label={__(\"Slide Alignment\", \"sage\")}\n value={editingSlideAlign}\n options={[\n { label: __(\"Left\", \"sage\"), value: \"left\" },\n { label: __(\"Center\", \"sage\"), value: \"center\" },\n { label: __(\"Right\", \"sage\"), value: \"right\" },\n ]}\n onChange={(val) => saveSlideAlign(editingSlideKey, val)}\n help={__(\"Alignment for this specific slide.\", \"sage\")}\n />\n <TextControl\n label={__(\"Image Link URL\", \"sage\")}\n value={slideImageLinks[editingSlideKey] || \"\"}\n onChange={(val) => saveSlideField(editingSlideKey, \"image_link_url\", val)}\n placeholder=\"https://\"\n help={__(\"Opens when clicking the slide image.\", \"sage\")}\n />\n <SelectControl\n label={__(\"Image Link Target\", \"sage\")}\n value={((selectedSlider.slide_settings || {})[editingSlideKey] || {}).image_link_target || \"_self\"}\n options={[\n { label: __(\"Same tab\", \"sage\"), value: \"_self\" },\n { label: __(\"New tab\", \"sage\"), value: \"_blank\" },\n ]}\n onChange={(val) => saveSlideField(editingSlideKey, \"image_link_target\", val)}\n />\n {effectiveLayout === \"media-columns\" && (\n <>\n <TextControl\n label={__(\"Button Label\", \"sage\")}\n value={slideButtonLabels[editingSlideKey] !== undefined ? slideButtonLabels[editingSlideKey] : (((selectedSlider.slide_settings || {})[editingSlideKey] || {}).cta_label || \"\")}\n onChange={(val) => saveSlideField(editingSlideKey, \"cta_label\", val)}\n placeholder={__(\"Enter\", \"sage\")}\n help={__(\"Optional override for this slide button text.\", \"sage\")}\n />\n <TextControl\n label={__(\"Button Link URL\", \"sage\")}\n value={slideButtonUrls[editingSlideKey] !== undefined ? slideButtonUrls[editingSlideKey] : (((selectedSlider.slide_settings || {})[editingSlideKey] || {}).cta_url || \"\")}\n onChange={(val) => saveSlideField(editingSlideKey, \"cta_url\", val)}\n placeholder=\"https://\"\n help={__(\"Link used by the button on this slide.\", \"sage\")}\n />\n <SelectControl\n label={__(\"Button Link Target\", \"sage\")}\n value={slideButtonTargets[editingSlideKey] !== undefined ? slideButtonTargets[editingSlideKey] : (((selectedSlider.slide_settings || {})[editingSlideKey] || {}).cta_target || \"_self\")}\n options={[\n { label: __(\"Same tab\", \"sage\"), value: \"_self\" },\n { label: __(\"New tab\", \"sage\"), value: \"_blank\" },\n ]}\n onChange={(val) => saveSlideField(editingSlideKey, \"cta_target\", val)}\n />\n </>\n )}\n </>\n )}\n {/* Custom slides: image link per slide */}\n {selectedSlider && selectedSlider.source === \"custom\" && (selectedSlider.custom_slides || []).length > 0 && (() => {\n const slides = selectedSlider.custom_slides || [];\n const idx = Math.min(customEditSlideIndex, slides.length - 1);\n const slide = slides[idx];\n const slideTitle = (slide.title || \"\").trim() || __(\"Untitled Slide\", \"sage\");\n return (\n <>\n {slides.length > 1 && (\n <SelectControl\n label={__(\"Edit Slide\", \"sage\")}\n value={String(idx)}\n options={slides.map((s, i) => ({\n label: `${i + 1}. ${(s.title || \"\").trim() || __(\"Untitled Slide\", \"sage\")}`,\n value: String(i),\n }))}\n onChange={(val) => {\n const next = parseInt(val, 10) || 0;\n setCustomEditSlideIndex(next);\n setPreviewSlide(next);\n }}\n help={__(\"Choose the slide you want to edit.\", \"sage\")}\n />\n )}\n <SelectControl\n label={`${__(\"Slide Alignment\", \"sage\")} — ${slideTitle}`}\n value={customSlideAligns[idx] !== undefined ? customSlideAligns[idx] : (slide.align || effectiveContentAlign)}\n options={[\n { label: __(\"Left\", \"sage\"), value: \"left\" },\n { label: __(\"Center\", \"sage\"), value: \"center\" },\n { label: __(\"Right\", \"sage\"), value: \"right\" },\n ]}\n onChange={(val) => saveCustomSlideField(idx, \"align\", val)}\n help={__(\"Alignment for this specific slide in Hero/Split layouts.\", \"sage\")}\n />\n <TextControl\n label={`${__(\"Image Link URL\", \"sage\")} — ${slideTitle}`}\n value={customSlideLinks[idx] !== undefined ? customSlideLinks[idx] : (slide.image_link_url || \"\")}\n onChange={(val) => saveCustomSlideField(idx, \"image_link_url\", val)}\n placeholder=\"https://\"\n help={__(\"Opens when clicking the slide image.\", \"sage\")}\n />\n <SelectControl\n label={__(\"Image Link Target\", \"sage\")}\n value={slide.image_link_target || \"_self\"}\n options={[\n { label: __(\"Same tab\", \"sage\"), value: \"_self\" },\n { label: __(\"New tab\", \"sage\"), value: \"_blank\" },\n ]}\n onChange={(val) => saveCustomSlideField(idx, \"image_link_target\", val)}\n />\n </>\n );\n })()}\n {/* Countdown: image link */}\n {selectedSlider && selectedSlider.source === \"countdown\" && (\n <>\n <TextControl\n label={__(\"Image Link URL\", \"sage\")}\n value={countdownImageLink}\n onChange={(val) => saveSliderField(\"countdown_image_link_url\", val)}\n placeholder=\"https://\"\n help={__(\"Opens when clicking the countdown background.\", \"sage\")}\n />\n <SelectControl\n label={__(\"Image Link Target\", \"sage\")}\n value={selectedSlider.countdown_image_link_target || \"_self\"}\n options={[\n { label: __(\"Same tab\", \"sage\"), value: \"_self\" },\n { label: __(\"New tab\", \"sage\"), value: \"_blank\" },\n ]}\n onChange={(val) => saveSliderField(\"countdown_image_link_target\", val)}\n />\n </>\n )}\n {selectedSlider && selectedSlider.source === \"minerva\" && (effectiveLayout === \"offers-template\" || effectiveLayout === \"split\" || effectiveLayout === \"carousel\") && (\n <ToggleControl\n label={__(\"Show View Inventory Button\", \"sage\")}\n help={effectiveShowViewInventory ? __(\"OEM slides will show a View Inventory CTA when no custom CTA/image link exists.\", \"sage\") : __(\"View Inventory fallback hidden on OEM slides.\", \"sage\")}\n checked={effectiveShowViewInventory}\n onChange={(val) => setAttributes({ showViewInventory: val })}\n />\n )}\n {(effectiveLayout === \"offers-template\" || effectiveLayout === \"split\") && (\n <BaseControl label={__(\"Gradient Overlay Color\", \"sage\")} help={gradientColor ? gradientColor : __(\"Default: dark navy (#000032)\", \"sage\")}>\n <ColorPalette\n colors={[\n { name: \"Navy (Default)\", color: \"#000032\" },\n { name: \"Black\", color: \"#000000\" },\n { name: \"Dark Gray\", color: \"#1f2937\" },\n { name: \"Dark Blue\", color: \"#1e3a5f\" },\n { name: \"Dark Green\", color: \"#064e3b\" },\n { name: \"Dark Red\", color: \"#7f1d1d\" },\n { name: \"Dark Purple\", color: \"#4c1d95\" },\n ]}\n value={gradientColor || \"#000032\"}\n onChange={(val) => setAttributes({ gradientColor: val || \"\" })}\n clearable={true}\n />\n </BaseControl>\n )}\n </PanelBody>\n )}\n\n {effectiveLayout === \"countdown\" && (\n <PanelBody title={__(\"Countdown Settings\", \"sage\")} initialOpen={true}>\n <TextControl\n label={__(\"End Date & Time\", \"sage\")}\n help={__(\"Format: YYYY-MM-DD HH:MM (e.g. 2026-04-30 23:59)\", \"sage\")}\n value={countdownEndDate}\n onChange={(val) => setAttributes({ countdownEndDate: val })}\n />\n <TextControl\n label={__(\"Start Date & Time (optional)\", \"sage\")}\n help={__(\"If set, countdown is hidden before this date\", \"sage\")}\n value={countdownStartDate}\n onChange={(val) => setAttributes({ countdownStartDate: val })}\n />\n <SelectControl\n label={__(\"Countdown Style\", \"sage\")}\n value={countdownStyle}\n options={[\n { label: __(\"Flip Clock\", \"sage\"), value: \"flip\" },\n { label: __(\"Minimal\", \"sage\"), value: \"minimal\" },\n { label: __(\"Boxed\", \"sage\"), value: \"boxed\" },\n { label: __(\"Neon Glow\", \"sage\"), value: \"neon\" },\n ]}\n onChange={(val) => setAttributes({ countdownStyle: val })}\n />\n <TextControl\n label={__(\"Expired Message\", \"sage\")}\n help={__(\"Shown when countdown reaches zero\", \"sage\")}\n value={countdownExpiredMessage}\n placeholder={__(\"This offer has ended.\", \"sage\")}\n onChange={(val) => setAttributes({ countdownExpiredMessage: val })}\n />\n <RangeControl\n label={__(\"Overlay Opacity (%)\", \"sage\")}\n value={countdownOverlayOpacity}\n onChange={(val) => setAttributes({ countdownOverlayOpacity: val })}\n min={0}\n max={100}\n step={5}\n />\n <BaseControl label={__(\"Background Image\", \"sage\")}>\n <MediaUploadCheck>\n <MediaUpload\n onSelect={(media) => setAttributes({ countdownBgImage: media.url, countdownBgImageId: media.id })}\n allowedTypes={[\"image\"]}\n value={countdownBgImageId}\n render={({ open }) => (\n <div>\n {countdownBgImage ? (\n <div style={{ marginBottom: \"8px\" }}>\n <img src={countdownBgImage} alt=\"\" style={{ maxWidth: \"100%\", maxHeight: \"150px\", borderRadius: \"4px\", objectFit: \"cover\" }} />\n <div style={{ display: \"flex\", gap: \"8px\", marginTop: \"6px\" }}>\n <button className=\"components-button is-secondary is-small\" onClick={open}>{__(\"Replace\", \"sage\")}</button>\n <button className=\"components-button is-destructive is-small\" onClick={() => setAttributes({ countdownBgImage: \"\", countdownBgImageId: 0 })}>{__(\"Remove\", \"sage\")}</button>\n </div>\n </div>\n ) : (\n <button className=\"components-button is-secondary\" onClick={open}>{__(\"Select Image\", \"sage\")}</button>\n )}\n </div>\n )}\n />\n </MediaUploadCheck>\n </BaseControl>\n </PanelBody>\n )}\n\n </InspectorControls>\n\n {selectedSlider ? (() => {\n // Real-render preview: embed the actual front-end output in an iframe.\n // 100% faithful — respects switches, order, additional/static slides and every layout.\n // Falls through to the lightweight React placeholder below while the URL resolves.\n if (previewUrl) {\n // Always send an explicit lang (en|fr) so the backend forces the locale BOTH\n // ways. Omitting it for EN would fall through to the site default — which is\n // French on French-first sites, so the EN button would still render French.\n // NOTE: the param MUST NOT be named \"lang\" — that's Polylang's reserved query\n // var. Passing &lang=en reinterprets the request as the English language and\n // drops the admin session on French-first sites (preview 500s). Use lbx_lang.\n const langSrc = previewUrl + (previewUrl.indexOf(\"?\") > -1 ? \"&\" : \"?\") + \"lbx_lang=\" + previewLang;\n return (\n <div style={{ position: \"relative\", width: \"100%\", borderRadius: \"8px\", overflow: \"hidden\", border: \"1px solid rgba(0,0,0,0.08)\", background: \"#0b1020\" }}>\n <div style={{ position: \"absolute\", top: \"8px\", left: \"8px\", zIndex: 2, padding: \"3px 10px\", fontSize: \"10px\", fontWeight: 600, textTransform: \"uppercase\", letterSpacing: \"0.08em\", borderRadius: \"9999px\", background: \"rgba(0,0,0,0.55)\", color: \"#fff\", pointerEvents: \"none\" }}>{__(\"Live preview\", \"sage\")}</div>\n {props.isSelected && (\n <div style={{ position: \"absolute\", top: \"6px\", right: \"8px\", zIndex: 3, display: \"flex\", alignItems: \"center\", gap: \"6px\" }}>\n <div style={{ display: \"inline-flex\", borderRadius: \"9999px\", overflow: \"hidden\", background: \"rgba(0,0,0,0.55)\" }}>\n {[\"en\", \"fr\"].map((lng) => (\n <button\n key={lng}\n type=\"button\"\n onClick={() => setPreviewLang(lng)}\n title={lng === \"fr\" ? __(\"Preview in French\", \"sage\") : __(\"Preview in English\", \"sage\")}\n style={{ padding: \"4px 10px\", fontSize: \"10px\", fontWeight: 700, textTransform: \"uppercase\", border: \"none\", cursor: \"pointer\", background: previewLang === lng ? \"#2563eb\" : \"transparent\", color: \"#fff\" }}\n >{lng}</button>\n ))}\n </div>\n <button\n type=\"button\"\n onClick={() => setPreviewReload((k) => k + 1)}\n title={__(\"Refresh preview\", \"sage\")}\n style={{ width: \"26px\", height: \"26px\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", borderRadius: \"9999px\", border: \"none\", cursor: \"pointer\", background: \"rgba(0,0,0,0.55)\", color: \"#fff\", fontSize: \"14px\", lineHeight: 1 }}\n >↻</button>\n </div>\n )}\n <iframe\n key={previewUrl + \"#\" + previewLang + \"#\" + previewReload}\n src={langSrc}\n title={__(\"Slider live preview\", \"sage\")}\n scrolling=\"no\"\n /* pointer-events follow selection: when the block isn't selected, clicks\n pass through so you can select it; once selected the slider becomes\n interactive (arrows/dots work) for previewing navigation. */\n style={{ display: \"block\", width: \"100%\", height: previewHeight + \"px\", border: 0, pointerEvents: props.isSelected ? \"auto\" : \"none\" }}\n />\n </div>\n );\n }\n const isHero = effectiveLayout === \"offers-template\" || effectiveLayout === \"split\" || effectiveLayout === \"oem-offer-hero\";\n const slides = selectedSlider.custom_slides || [];\n const firstSlide = slides.length > 0 ? slides[0] : null;\n const sourceLabels = { minerva: \"OEM Offers\", custom: \"Custom\", countdown: \"Countdown\" };\n\n // Helper: hex to rgb string\n const hexToRgb = (hex) => {\n const h = (hex || \"#000032\").replace(\"#\", \"\");\n const r = parseInt(h.substring(0, 2), 16);\n const g = parseInt(h.substring(2, 4), 16);\n const b = parseInt(h.substring(4, 6), 16);\n return `${r},${g},${b}`;\n };\n const gc = gradientColor || \"#000032\";\n const rgb = hexToRgb(gc);\n const heroGradient = effectiveContentAlign === \"right\"\n ? `linear-gradient(to left, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)`\n : effectiveContentAlign === \"center\"\n ? `radial-gradient(ellipse at center, rgba(${rgb},0.85) 0%, rgba(${rgb},0.55) 50%, rgba(${rgb},0.15) 80%, transparent 100%)`\n : `linear-gradient(to right, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)`;\n\n // ─── Arrow style helper for editor preview (admin is source of truth) ───\n const effShowArrows = (selectedSlider.show_arrows !== undefined) ? !!selectedSlider.show_arrows : showArrows;\n const effShowPagination = (selectedSlider.show_pagination !== undefined) ? !!selectedSlider.show_pagination : showPagination;\n const effArrowStyle = selectedSlider.arrow_style || arrowStyle;\n const effArrowColor = selectedSlider.arrow_color || arrowColor;\n const effArrowOpacity = (selectedSlider.arrow_opacity != null) ? Number(selectedSlider.arrow_opacity) : arrowOpacity;\n const effPaginationColor = selectedSlider.pagination_color || paginationColor;\n const arrowBaseStyle = { position: \"absolute\", top: \"50%\", transform: \"translateY(-50%)\", zIndex: 10, display: \"flex\", alignItems: \"center\", justifyContent: \"center\", cursor: \"pointer\", transition: \"all 0.2s\" };\n const aOp = (effArrowOpacity || 90) / 100;\n const hexToRgba = (hex, opacity) => { const h = (hex || \"#ffffff\").replace(\"#\", \"\"); return `rgba(${parseInt(h.substring(0,2),16)},${parseInt(h.substring(2,4),16)},${parseInt(h.substring(4,6),16)},${opacity})`; };\n const isLightColor = (hex) => { const h = (hex || \"#ffffff\").replace(\"#\", \"\"); const r = parseInt(h.substring(0,2),16); const g = parseInt(h.substring(2,4),16); const b = parseInt(h.substring(4,6),16); return (r * 299 + g * 587 + b * 114) / 1000 > 128; };\n const customBg = effArrowColor ? hexToRgba(effArrowColor, aOp) : null;\n const customChevron = effArrowColor ? (isLightColor(effArrowColor) ? \"#374151\" : \"#ffffff\") : null;\n const arrowVariants = {\n circle: { width: \"44px\", height: \"44px\", borderRadius: \"50%\", background: customBg || `rgba(255,255,255,${aOp})`, border: \"none\", color: customChevron || \"#374151\", boxShadow: \"0 2px 8px rgba(0,0,0,0.15)\" },\n square: { width: \"44px\", height: \"44px\", borderRadius: \"6px\", background: customBg || `rgba(255,255,255,${aOp})`, border: \"none\", color: customChevron || \"#374151\", boxShadow: \"0 2px 8px rgba(0,0,0,0.15)\" },\n pill: { width: \"52px\", height: \"38px\", borderRadius: \"999px\", background: customBg || `rgba(255,255,255,${aOp})`, border: \"none\", color: customChevron || \"#374151\", boxShadow: \"0 2px 8px rgba(0,0,0,0.15)\" },\n minimal: { width: \"36px\", height: \"36px\", borderRadius: \"50%\", background: \"transparent\", border: \"none\", color: customChevron || \"#fff\", boxShadow: \"none\", filter: \"drop-shadow(0 1px 3px rgba(0,0,0,0.5))\" },\n dark: { width: \"44px\", height: \"44px\", borderRadius: \"50%\", background: customBg || `rgba(0,0,0,${aOp * 0.67})`, border: \"2px solid rgba(255,255,255,0.3)\", color: customChevron || \"#fff\", boxShadow: \"0 2px 8px rgba(0,0,0,0.4)\" },\n };\n const aStyle = arrowVariants[effArrowStyle] || arrowVariants.circle;\n const prevArrowStyle = { ...arrowBaseStyle, ...aStyle, left: \"12px\" };\n const nextArrowStyle = { ...arrowBaseStyle, ...aStyle, right: \"12px\" };\n const chevronSize = effArrowStyle === \"minimal\" ? \"28px\" : \"20px\";\n const chevronColor = aStyle.color || \"#374151\";\n\n const renderArrows = (onPrev, onNext) => effShowArrows && (\n <>\n <button onClick={onPrev} style={prevArrowStyle}>\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={chevronColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" style={{ width: chevronSize, height: chevronSize }}><polyline points=\"15 18 9 12 15 6\" /></svg>\n </button>\n <button onClick={onNext} style={nextArrowStyle}>\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke={chevronColor} strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" style={{ width: chevronSize, height: chevronSize }}><polyline points=\"9 18 15 12 9 6\" /></svg>\n </button>\n </>\n );\n\n const dotColor = effPaginationColor || \"#fff\";\n const renderDots = (total, activeIdx, onDot) => effShowPagination && total > 1 && (\n <div style={{ position: \"absolute\", bottom: \"16px\", left: \"50%\", transform: \"translateX(-50%)\", display: \"flex\", gap: \"6px\", zIndex: 10 }}>\n {Array.from({ length: total }, (_, i) => (\n <button key={i} onClick={() => onDot(i)} style={{ width: i === activeIdx ? \"24px\" : \"8px\", height: \"8px\", borderRadius: \"4px\", background: i === activeIdx ? dotColor : (effPaginationColor ? effPaginationColor + \"66\" : \"rgba(255,255,255,0.4)\"), border: \"none\", cursor: \"pointer\", transition: \"all 0.2s\", padding: 0, opacity: i === activeIdx ? 1 : 0.5 }} />\n ))}\n </div>\n );\n\n // ─── Countdown layout preview ───\n if (effectiveLayout === \"countdown\") {\n // Resolve countdown data: Gutenberg overrides > admin config\n const adminCd = selectedSlider || {};\n const cdEndDate = countdownEndDate || adminCd.countdown_end_date || \"\";\n const cdStyle = countdownStyle || adminCd.countdown_style || \"flip\";\n const cdOverlayOp = ((countdownOverlayOpacity != null ? countdownOverlayOpacity : (adminCd.countdown_overlay_opacity || 60))) / 100;\n const cdBgImg = countdownBgImage || adminCd.countdown_bg_image || (firstSlide ? firstSlide.image_url : null);\n const cdTitle = adminCd.countdown_title || (firstSlide ? firstSlide.title : \"\");\n const cdCtaLabel = adminCd.countdown_cta_label || (firstSlide && firstSlide.main_cta ? firstSlide.main_cta.label : \"\");\n const cdCtaColor = (firstSlide && firstSlide.main_cta ? firstSlide.main_cta.color : \"\") || \"#1d4ed8\";\n\n const styleMap = { flip: \"Flip Clock\", minimal: \"Minimal\", boxed: \"Boxed\", neon: \"Neon Glow\" };\n const digitStyle = cdStyle === \"neon\"\n ? { fontSize: \"48px\", fontWeight: 700, color: \"#fff\", textShadow: `0 0 10px ${gc}, 0 0 20px ${gc}, 0 0 40px ${gc}`, fontFamily: \"monospace\" }\n : cdStyle === \"boxed\"\n ? { fontSize: \"42px\", fontWeight: 700, color: \"#fff\", background: gc, padding: \"12px 18px\", borderRadius: \"8px\", minWidth: \"70px\", textAlign: \"center\" }\n : cdStyle === \"minimal\"\n ? { fontSize: \"52px\", fontWeight: 300, color: \"#fff\", fontFamily: \"inherit\", letterSpacing: \"-2px\" }\n : { fontSize: \"44px\", fontWeight: 700, color: \"#fff\", background: \"rgba(0,0,0,0.5)\", padding: \"10px 16px\", borderRadius: \"6px\", minWidth: \"68px\", textAlign: \"center\", borderBottom: \"2px solid rgba(255,255,255,0.15)\" };\n const labelStyle = { fontSize: \"10px\", textTransform: \"uppercase\", letterSpacing: \"0.15em\", opacity: 0.7, marginTop: \"6px\", color: \"#fff\" };\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", background: gc, display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}>\n {cdBgImg && <img src={cdBgImg} alt=\"\" style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\" }} />}\n <div style={{ position: \"absolute\", inset: 0, background: `rgba(0,0,0,${cdOverlayOp})` }}></div>\n <div style={{ position: \"relative\", zIndex: 2, textAlign: \"center\", color: \"#fff\", padding: \"40px\" }}>\n <div style={{ fontSize: \"11px\", textTransform: \"uppercase\", letterSpacing: \"0.15em\", opacity: 0.5, marginBottom: \"8px\" }}>\n {styleMap[cdStyle] || \"Flip Clock\"} · {__(\"Countdown Timer\", \"sage\")}\n </div>\n {cdTitle && (\n <h3 style={{ fontSize: \"28px\", fontWeight: 700, textTransform: \"uppercase\", margin: \"0 0 24px\", textShadow: \"0 2px 8px rgba(0,0,0,0.5)\" }}>{cdTitle}</h3>\n )}\n <div style={{ display: \"flex\", gap: cdStyle === \"minimal\" ? \"24px\" : \"12px\", justifyContent: \"center\", alignItems: \"flex-start\" }}>\n {[\"12\", \"08\", \"45\", \"30\"].map((val, i) => (\n <div key={i} style={{ display: \"flex\", flexDirection: \"column\", alignItems: \"center\" }}>\n <span style={digitStyle}>{val}</span>\n <span style={labelStyle}>{[__(\"Days\", \"sage\"), __(\"Hours\", \"sage\"), __(\"Min\", \"sage\"), __(\"Sec\", \"sage\")][i]}</span>\n </div>\n ))}\n </div>\n {cdEndDate && (\n <p style={{ marginTop: \"16px\", fontSize: \"12px\", opacity: 0.5 }}>{__(\"Ends:\", \"sage\")} {cdEndDate}</p>\n )}\n {cdCtaLabel && (\n <span style={{ display: \"inline-block\", marginTop: \"20px\", padding: \"10px 24px\", fontSize: \"13px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cdCtaColor, color: \"#fff\" }}>{cdCtaLabel}</span>\n )}\n </div>\n </div>\n );\n }\n\n // Alignment helpers for editor preview\n const alignMap = {\n left: { justifyContent: \"flex-start\", textAlign: \"left\", ctaJustify: \"flex-start\" },\n center: { justifyContent: \"center\", textAlign: \"center\", ctaJustify: \"center\" },\n right: { justifyContent: \"flex-end\", textAlign: \"right\", ctaJustify: \"flex-end\" },\n };\n const align = alignMap[effectiveContentAlign] || alignMap.left;\n\n // Per-slide alignment: check local state first (for instant updates), then admin settings\n const getSlideAlign = (offer) => {\n if (!offer) return effectiveContentAlign;\n const key = [offer.year, offer.make, offer.model].filter(Boolean).join(\"_\").toLowerCase().replace(/\\s+/g, \"-\");\n if (slideAligns[key]) return slideAligns[key];\n const ss = (selectedSlider.slide_settings || {})[key];\n return (ss && ss.align) ? ss.align : effectiveContentAlign;\n };\n const getAlignFor = (offer) => alignMap[getSlideAlign(offer)] || alignMap.left;\n const getGradientFor = (offer) => {\n const a = getSlideAlign(offer);\n return a === \"right\"\n ? `linear-gradient(to left, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)`\n : a === \"center\"\n ? `radial-gradient(ellipse at center, rgba(${rgb},0.85) 0%, rgba(${rgb},0.55) 50%, rgba(${rgb},0.15) 80%, transparent 100%)`\n : `linear-gradient(to right, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)`;\n };\n const transLabel = { slide: \"\", fade: \"Fade\", creative: \"3D Rotate\", flip: \"Flip\", coverflow: \"Coverflow\" }[effectiveTransition] || \"\";\n\n // ─── Split Panel layout preview (Minerva) ───\n if (effectiveLayout === \"split\" && selectedSlider.source === \"minerva\" && minervaOffers && minervaOffers.length > 0) {\n const idx = Math.min(previewSlide, minervaOffers.length - 1);\n const offer = minervaOffers[idx];\n const total = minervaOffers.length;\n const sa = getSlideAlign(offer);\n const isReversed = sa !== \"right\";\n const panelBg = `rgba(${rgb},0.95)`;\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", display: \"flex\", flexDirection: isReversed ? \"row-reverse\" : \"row\", background: gc }}>\n {/* Image panel */}\n <div style={{ width: \"58%\", position: \"relative\", overflow: \"hidden\" }}>\n {offer.image && (\n <img src={offer.image} alt={offer.model || \"\"} style={{ width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: \"center center\" }} />\n )}\n </div>\n {/* Content panel */}\n <div style={{ width: \"42%\", background: panelBg, display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", padding: \"40px 36px\", color: \"#fff\" }}>\n {total > 1 && (\n <span style={{ fontSize: \"11px\", opacity: 0.5, marginBottom: \"12px\", textTransform: \"uppercase\", letterSpacing: \"0.1em\" }}>{idx + 1} / {total} {__(\"offers\", \"sage\")}</span>\n )}\n <h3 style={{ margin: \"0 0 20px\", fontSize: \"26px\", fontWeight: 700, textTransform: \"uppercase\", lineHeight: 1.2 }}>\n {offer.year} {offer.model} {offer.trim}\n </h3>\n {(offer.finance || offer.lease) && (\n <div style={{ display: \"flex\", gap: \"10px\", marginBottom: \"16px\", flexWrap: \"wrap\" }}>\n {offer.finance && (\n <span style={{ padding: \"6px 14px\", fontSize: \"12px\", fontWeight: 600, borderRadius: \"6px\", background: \"rgba(255,255,255,0.15)\", border: \"1px solid rgba(255,255,255,0.25)\" }}>\n {offer.finance}\n </span>\n )}\n {offer.lease && (\n <span style={{ padding: \"6px 14px\", fontSize: \"12px\", fontWeight: 600, borderRadius: \"6px\", background: \"rgba(255,255,255,0.15)\", border: \"1px solid rgba(255,255,255,0.25)\" }}>\n {offer.lease}\n </span>\n )}\n </div>\n )}\n {offer.payment && (\n <div style={{ fontSize: \"22px\", fontWeight: 700, marginBottom: \"6px\" }}>{offer.payment}</div>\n )}\n {(offer.normal1 || offer.normal2) && (\n <p style={{ fontSize: \"13px\", lineHeight: 1.5, opacity: 0.8, marginBottom: \"20px\" }}>\n {offer.normal1}{offer.normal1 && offer.normal2 && <br />}{offer.normal2}\n </p>\n )}\n {effectiveShowViewInventory && !(slideImageLinks[getOfferKey(offer)] || (((selectedSlider.slide_settings || {})[getOfferKey(offer)] || {}).image_link_url)) && (\n <span style={{ padding: \"10px 24px\", fontSize: \"13px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: \"#1d4ed8\", color: \"#fff\", alignSelf: \"flex-start\" }}>\n {__(\"VIEW INVENTORY\", \"sage\")}\n </span>\n )}\n </div>\n {total > 1 && renderArrows(\n () => setPreviewSlide((idx - 1 + total) % total),\n () => setPreviewSlide((idx + 1) % total)\n )}\n {renderDots(total, idx, setPreviewSlide)}\n </div>\n );\n }\n\n // ─── Split Panel layout preview (Custom) ───\n if (effectiveLayout === \"split\" && selectedSlider.source === \"custom\" && firstSlide) {\n const idx = Math.min(previewSlide, slides.length - 1);\n const slide = slides[idx];\n const total = slides.length;\n const slideAlign = (customSlideAligns[idx] !== undefined ? customSlideAligns[idx] : slide.align) || effectiveContentAlign;\n const isReversed = slideAlign !== \"right\";\n const panelBg = `rgba(${rgb},0.95)`;\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", display: \"flex\", flexDirection: isReversed ? \"row-reverse\" : \"row\", background: gc }}>\n <div style={{ width: \"58%\", position: \"relative\", overflow: \"hidden\" }}>\n {slide.media_type === \"video\" && slide.video_url ? (\n <video src={slide.video_url} muted autoPlay loop playsInline style={{ width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: \"center center\" }} />\n ) : slide.media_type === \"video\" ? (\n <div style={{ width: \"100%\", height: \"100%\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", background: \"#111827\", color: \"#9ca3af\", fontSize: \"12px\", textTransform: \"uppercase\", letterSpacing: \"0.12em\" }}>{__(\"Video slide\", \"sage\")}</div>\n ) : slide.image_url && (\n <img src={slide.image_url} alt={slide.title || \"\"} style={{ width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: \"center center\" }} />\n )}\n </div>\n <div style={{ width: \"42%\", background: panelBg, display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", padding: \"40px 36px\", color: \"#fff\" }}>\n {total > 1 && (\n <span style={{ fontSize: \"11px\", opacity: 0.5, marginBottom: \"8px\" }}>{idx + 1} / {total}</span>\n )}\n <h3 style={{ margin: \"0 0 16px\", fontSize: \"26px\", fontWeight: 700, textTransform: \"uppercase\", lineHeight: 1.2, color: slide.title_color || \"#fff\", fontStyle: slide.title_italic ? \"italic\" : \"normal\" }}>\n {slide.title || __(\"(No title)\", \"sage\")}\n </h3>\n {slide.description && (\n <div style={{ fontSize: \"14px\", lineHeight: 1.6, marginBottom: \"16px\", opacity: 0.9, color: slide.desc_color || \"#fff\" }} dangerouslySetInnerHTML={{ __html: slide.description }}></div>\n )}\n <div style={{ display: \"flex\", gap: \"10px\", flexWrap: \"wrap\" }}>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && (!c.position || c.position === \"inline\")).map((cta, ci) => (\n <span key={ci} style={{ padding: \"10px 24px\", fontSize: \"13px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cta.color || (ci === 0 ? \"#1d4ed8\" : \"rgba(255,255,255,0.2)\"), color: \"#fff\", border: ci > 0 && !cta.color ? \"1px solid rgba(255,255,255,0.5)\" : \"none\" }}>{cta.label}</span>\n ))}\n </div>\n </div>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && c.position && c.position !== \"inline\").map((cta, ci) => (\n <span key={\"f\" + ci} style={{ position: \"absolute\", zIndex: 15, padding: \"8px 18px\", fontSize: \"12px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cta.color || \"#1d4ed8\", color: \"#fff\", ...(cta.position.includes(\"top\") ? { top: \"16px\" } : cta.position.includes(\"bottom\") ? { bottom: \"16px\" } : { top: \"50%\", transform: \"translateY(-50%)\" }), ...(cta.position.includes(\"left\") ? { left: \"16px\" } : cta.position.includes(\"right\") ? { right: \"16px\" } : { left: \"50%\", transform: (cta.position.includes(\"middle\") ? \"translate(-50%, -50%)\" : \"translateX(-50%)\") }) }}>{cta.label}</span>\n ))}\n {total > 1 && renderArrows(\n () => setPreviewSlide((idx - 1 + total) % total),\n () => setPreviewSlide((idx + 1) % total)\n )}\n {renderDots(total, idx, setPreviewSlide)}\n </div>\n );\n }\n\n // ─── Media Columns layout preview (OEM) ───\n if (effectiveLayout === \"media-columns\" && selectedSlider.source === \"minerva\" && minervaOffers && minervaOffers.length > 0) {\n const cols = Math.max(1, Math.min(effectiveMediaColumnsDesktop || 3, 6));\n const previewOffers = minervaOffers.slice(0, cols);\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", minHeight: effectiveSliderHeight + \"px\", background: \"#0f172a\", display: \"grid\", gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`, gap: 0 }}>\n {previewOffers.map((offer, i) => (\n <div key={i} style={{ position: \"relative\", minHeight: effectiveSliderHeight + \"px\", overflow: \"hidden\", borderLeft: i > 0 ? \"1px solid rgba(255,255,255,0.16)\" : \"none\" }}>\n {(() => {\n const key = [offer.year, offer.make, offer.model].filter(Boolean).join(\"_\").toLowerCase().replace(/\\s+/g, \"-\");\n const ss = (selectedSlider.slide_settings || {})[key] || {};\n const btnLabel = ss.cta_label || \"\";\n const btnUrl = ss.cta_url || \"\";\n return (\n <>\n {offer.image && (\n <img src={offer.image} alt={offer.model || \"\"} style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\" }} />\n )}\n <div style={{ position: \"absolute\", inset: 0, background: \"linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0.1) 100%)\", zIndex: 3 }}></div>\n <div style={{ position: \"absolute\", left: \"0\", right: \"0\", bottom: \"0\", textAlign: \"center\", padding: \"20px 14px 22px\", zIndex: 4, color: \"#fff\" }}>\n <h4 style={{ margin: \"0 0 10px\", fontSize: \"34px\", lineHeight: 1.1, textTransform: \"uppercase\", letterSpacing: \"0.08em\" }}>\n {[offer.year, offer.model].filter(Boolean).join(\" \") || __(\"Untitled\", \"sage\")}\n </h4>\n {btnLabel && btnUrl && (\n <span style={{ display: \"inline-block\", minWidth: \"86px\", padding: \"8px 14px\", borderRadius: \"3px\", background: \"rgba(255,255,255,0.95)\", color: \"#111827\", border: \"1px solid rgba(255,255,255,0.8)\", fontSize: \"10px\", fontWeight: 700, textTransform: \"uppercase\", letterSpacing: \"0.12em\" }}>\n {btnLabel}\n </span>\n )}\n </div>\n </>\n );\n })()}\n </div>\n ))}\n </div>\n );\n }\n\n // ─── Media Columns layout preview (Custom) ───\n if (effectiveLayout === \"media-columns\" && selectedSlider.source === \"custom\" && firstSlide) {\n const cols = Math.max(1, Math.min(effectiveMediaColumnsDesktop || 3, 6));\n const previewSlides = slides.slice(0, cols);\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", minHeight: effectiveSliderHeight + \"px\", background: \"#0f172a\", display: \"grid\", gridTemplateColumns: `repeat(${cols}, minmax(0, 1fr))`, gap: \"0px\" }}>\n {previewSlides.map((slide, i) => (\n <div key={i} style={{ position: \"relative\", minHeight: effectiveSliderHeight + \"px\", overflow: \"hidden\", borderLeft: i > 0 ? \"1px solid rgba(255,255,255,0.16)\" : \"none\" }}>\n {slide.media_type === \"video\" && slide.video_url ? (\n <video src={slide.video_url} muted autoPlay loop playsInline style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\" }} />\n ) : slide.media_type !== \"video\" && slide.image_url && (\n <img src={slide.image_url} alt={slide.title || \"\"} style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\" }} />\n )}\n {slide.media_type === \"video\" && !slide.video_url && (\n <div style={{ position: \"absolute\", inset: 0, background: \"rgba(0,0,0,0.24)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\", zIndex: 2 }}>\n <span style={{ color: \"#fff\", fontSize: \"11px\", textTransform: \"uppercase\", letterSpacing: \"0.12em\", border: \"1px solid rgba(255,255,255,0.5)\", borderRadius: \"999px\", padding: \"4px 10px\" }}>\n {__(\"Video slide\", \"sage\")}\n </span>\n </div>\n )}\n <div style={{ position: \"absolute\", inset: 0, background: \"linear-gradient(to top, rgba(0,0,0,0.72) 0%, rgba(0,0,0,0.2) 60%, rgba(0,0,0,0.1) 100%)\", zIndex: 3 }}></div>\n <div style={{ position: \"absolute\", left: \"0\", right: \"0\", bottom: \"0\", textAlign: \"center\", padding: \"20px 14px 22px\", zIndex: 4, color: \"#fff\" }}>\n <h4 style={{ margin: \"0 0 10px\", fontSize: \"34px\", lineHeight: 1.1, textTransform: \"uppercase\", letterSpacing: \"0.08em\", color: slide.title_color || \"#fff\", fontStyle: slide.title_italic ? \"italic\" : \"normal\" }}>\n {slide.title || __(\"Untitled\", \"sage\")}\n </h4>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && c.url && (!c.position || c.position === \"inline\")).slice(0, 1).map((cta, ci) => (\n <span key={ci} style={{ display: \"inline-block\", minWidth: \"86px\", padding: \"8px 14px\", borderRadius: \"3px\", background: cta.color || \"rgba(255,255,255,0.95)\", color: cta.color ? \"#fff\" : \"#111827\", border: \"1px solid rgba(255,255,255,0.8)\", fontSize: \"10px\", fontWeight: 700, textTransform: \"uppercase\", letterSpacing: \"0.12em\" }}>\n {cta.label}\n </span>\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n }\n\n // ─── Carousel layout preview (Custom) ───\n if (effectiveLayout === \"carousel\" && selectedSlider.source === \"custom\" && firstSlide) {\n const idx = Math.min(previewSlide, slides.length - 1);\n const slide = slides[idx];\n const total = slides.length;\n const slideAlign = (customSlideAligns[idx] !== undefined ? customSlideAligns[idx] : slide.align) || effectiveContentAlign;\n const slideAlignObj = alignMap[slideAlign] || alignMap.left;\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", background: gc }}>\n {slide.media_type === \"video\" && slide.video_url ? (\n <video src={slide.video_url} muted autoPlay loop playsInline style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: slideAlign === \"right\" ? \"left center\" : slideAlign === \"center\" ? \"center center\" : \"right center\" }} />\n ) : slide.media_type !== \"video\" && slide.image_url && (\n <img src={slide.image_url} alt={slide.title || \"\"} style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: slideAlign === \"right\" ? \"left center\" : slideAlign === \"center\" ? \"center center\" : \"right center\" }} />\n )}\n <div style={{ position: \"absolute\", inset: 0, background: slideAlign === \"right\"\n ? `linear-gradient(to left, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)`\n : slideAlign === \"center\"\n ? `radial-gradient(ellipse at center, rgba(${rgb},0.85) 0%, rgba(${rgb},0.55) 50%, rgba(${rgb},0.15) 80%, transparent 100%)`\n : `linear-gradient(to right, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)` }}></div>\n <div style={{ position: \"relative\", zIndex: 2, padding: \"48px\", color: \"#fff\", maxWidth: slideAlign === \"center\" ? \"65%\" : \"45%\", display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", height: \"100%\", textAlign: slideAlignObj.textAlign, marginLeft: slideAlign === \"right\" ? \"auto\" : undefined }}>\n {total > 1 && <span style={{ fontSize: \"11px\", opacity: 0.5, marginBottom: \"8px\" }}>{idx + 1} / {total}</span>}\n <h3 style={{ margin: \"0 0 16px\", fontSize: \"28px\", fontWeight: 700, textTransform: \"uppercase\", lineHeight: 1.2, textShadow: \"0 2px 8px rgba(0,0,0,0.5)\", color: slide.title_color || \"#fff\", fontStyle: slide.title_italic ? \"italic\" : \"normal\" }}>\n {slide.title || __(\"(No title)\", \"sage\")}\n </h3>\n {slide.description && <div style={{ fontSize: \"14px\", lineHeight: 1.6, marginBottom: \"16px\", color: slide.desc_color || \"#fff\" }} dangerouslySetInnerHTML={{ __html: slide.description }}></div>}\n <div style={{ display: \"flex\", gap: \"10px\", flexWrap: \"wrap\", justifyContent: slideAlignObj.ctaJustify }}>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && (!c.position || c.position === \"inline\")).map((cta, ci) => (\n <span key={ci} style={{ padding: \"10px 24px\", fontSize: \"13px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cta.color || (ci === 0 ? \"#1d4ed8\" : \"rgba(255,255,255,0.2)\"), color: \"#fff\", border: ci > 0 && !cta.color ? \"1px solid rgba(255,255,255,0.5)\" : \"none\" }}>{cta.label}</span>\n ))}\n </div>\n </div>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && c.position && c.position !== \"inline\").map((cta, ci) => (\n <span key={\"f\" + ci} style={{ position: \"absolute\", zIndex: 15, padding: \"8px 18px\", fontSize: \"12px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cta.color || \"#1d4ed8\", color: \"#fff\", ...(cta.position.includes(\"top\") ? { top: \"16px\" } : cta.position.includes(\"bottom\") ? { bottom: \"16px\" } : { top: \"50%\", transform: \"translateY(-50%)\" }), ...(cta.position.includes(\"left\") ? { left: \"16px\" } : cta.position.includes(\"right\") ? { right: \"16px\" } : { left: \"50%\", transform: (cta.position.includes(\"middle\") ? \"translate(-50%, -50%)\" : \"translateX(-50%)\") }) }}>{cta.label}</span>\n ))}\n {total > 1 && renderArrows(\n () => setPreviewSlide((idx - 1 + total) % total),\n () => setPreviewSlide((idx + 1) % total)\n )}\n {renderDots(total, idx, setPreviewSlide)}\n </div>\n );\n }\n\n // ─── Carousel layout preview (Minerva) ───\n if (effectiveLayout === \"carousel\" && selectedSlider.source === \"minerva\" && minervaOffers && minervaOffers.length > 0) {\n const total = minervaOffers.length;\n const isSingleSlideEffect = [\"fade\", \"creative\", \"flip\"].includes(effectiveTransition);\n const vw = (typeof window !== \"undefined\" && window.innerWidth) ? window.innerWidth : 1280;\n const responsiveCols = vw <= 640\n ? effectiveCarouselColumnsMobile\n : vw <= 1024\n ? effectiveCarouselColumnsTablet\n : effectiveCarouselColumnsDesktop;\n const cardsPerView = isSingleSlideEffect\n ? 1\n : Math.max(1, Math.min(Number(responsiveCols) || 3, 6));\n const gap = Math.max(0, Number(spaceBetween) || 0);\n const start = Math.min(previewSlide, total - 1);\n\n const visibleOffers = Array.from({ length: Math.min(cardsPerView, total) }, (_, i) => {\n return minervaOffers[(start + i) % total];\n });\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", background: gc }}>\n <div style={{ display: \"grid\", gridTemplateColumns: `repeat(${visibleOffers.length}, minmax(0, 1fr))`, gap: `${gap}px`, height: \"100%\", padding: \"0px\" }}>\n {visibleOffers.map((offer, i) => {\n const sa = getSlideAlign(offer);\n const sAlign = getAlignFor(offer);\n const sGradient = getGradientFor(offer);\n const details = [offer.finance, offer.lease, offer.payment, offer.normal1, offer.normal2].filter(Boolean).slice(0, 2).join(\" · \");\n return (\n <div key={`${offer.year || \"\"}-${offer.make || \"\"}-${offer.model || \"\"}-${i}`} style={{ position: \"relative\", overflow: \"hidden\", height: \"100%\", background: \"#0f172a\" }}>\n {offer.image && (\n <img src={offer.image} alt={offer.model || \"\"} style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: sa === \"right\" ? \"left center\" : sa === \"center\" ? \"center center\" : \"right center\" }} />\n )}\n <div style={{ position: \"absolute\", inset: 0, background: sGradient }}></div>\n <div style={{ position: \"absolute\", inset: 0, display: \"flex\", alignItems: \"flex-end\", justifyContent: sAlign.justifyContent, textAlign: sAlign.textAlign, color: \"#fff\", padding: \"20px 14px 22px\", zIndex: 2 }}>\n <div style={{ width: \"100%\" }}>\n <h4 style={{ margin: \"0 0 8px\", fontSize: \"32px\", lineHeight: 1.1, textTransform: \"uppercase\", letterSpacing: \"0.05em\", textShadow: \"0 2px 8px rgba(0,0,0,0.55)\" }}>\n {[offer.year, offer.model, offer.trim].filter(Boolean).join(\" \") || __(\"Untitled\", \"sage\")}\n </h4>\n {details && (\n <div style={{ fontSize: \"12px\", lineHeight: 1.35, opacity: 0.92, marginBottom: (effectiveShowViewInventory && !(slideImageLinks[getOfferKey(offer)] || (((selectedSlider.slide_settings || {})[getOfferKey(offer)] || {}).image_link_url))) ? \"10px\" : \"0\" }}>\n {details}\n </div>\n )}\n {effectiveShowViewInventory && !(slideImageLinks[getOfferKey(offer)] || (((selectedSlider.slide_settings || {})[getOfferKey(offer)] || {}).image_link_url)) && (\n <span style={{ display: \"inline-block\", padding: \"8px 14px\", fontSize: \"10px\", fontWeight: 700, textTransform: \"uppercase\", borderRadius: \"9999px\", background: \"#1d4ed8\", color: \"#fff\", letterSpacing: \"0.1em\" }}>\n {__(\"VIEW INVENTORY\", \"sage\")}\n </span>\n )}\n </div>\n </div>\n </div>\n );\n })}\n </div>\n {total > 1 && renderArrows(\n () => setPreviewSlide((start - 1 + total) % total),\n () => setPreviewSlide((start + 1) % total)\n )}\n {renderDots(total, start, setPreviewSlide)}\n </div>\n );\n }\n\n // Custom source with offers-template: show one slide at a time\n if (selectedSlider.source === \"custom\" && isHero && firstSlide) {\n const idx = Math.min(previewSlide, slides.length - 1);\n const slide = slides[idx];\n const total = slides.length;\n const slideAlign = (customSlideAligns[idx] !== undefined ? customSlideAligns[idx] : slide.align) || effectiveContentAlign;\n const slideAlignObj = alignMap[slideAlign] || alignMap.left;\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", background: gc }}>\n {slide.media_type === \"video\" && slide.video_url ? (\n <video src={slide.video_url} muted autoPlay loop playsInline style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: slideAlign === \"right\" ? \"left center\" : slideAlign === \"center\" ? \"center center\" : \"right center\" }} />\n ) : slide.media_type !== \"video\" && slide.image_url && (\n <img src={slide.image_url} alt={slide.title || \"\"} style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: slideAlign === \"right\" ? \"left center\" : slideAlign === \"center\" ? \"center center\" : \"right center\" }} />\n )}\n <div style={{ position: \"absolute\", inset: 0, background: slideAlign === \"right\"\n ? `linear-gradient(to left, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)`\n : slideAlign === \"center\"\n ? `radial-gradient(ellipse at center, rgba(${rgb},0.85) 0%, rgba(${rgb},0.55) 50%, rgba(${rgb},0.15) 80%, transparent 100%)`\n : `linear-gradient(to right, rgba(${rgb},0.85) 0%, rgba(${rgb},0.65) 35%, rgba(${rgb},0.1) 55%, transparent 70%)` }}></div>\n <div style={{ position: \"relative\", zIndex: 2, padding: \"48px\", color: \"#fff\", maxWidth: slideAlign === \"center\" ? \"65%\" : \"45%\", display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", height: \"100%\", textAlign: slideAlignObj.textAlign, marginLeft: slideAlign === \"right\" ? \"auto\" : undefined }}>\n {total > 1 && (\n <span style={{ fontSize: \"11px\", opacity: 0.5, marginBottom: \"8px\" }}>{idx + 1} / {total}</span>\n )}\n <h3 style={{ margin: \"0 0 16px\", fontSize: \"28px\", fontWeight: 700, textTransform: \"uppercase\", lineHeight: 1.2, textShadow: \"0 2px 8px rgba(0,0,0,0.5)\", color: slide.title_color || \"#fff\", fontStyle: slide.title_italic ? \"italic\" : \"normal\" }}>\n {slide.title || __(\"(No title)\", \"sage\")}\n </h3>\n {slide.description && (\n <div style={{ border: \"1px solid rgba(255,255,255,0.4)\", borderRadius: \"8px\", padding: \"14px 18px\", marginBottom: \"16px\" }}>\n <div style={{ fontSize: \"14px\", lineHeight: 1.5, color: slide.desc_color || \"#fff\" }} dangerouslySetInnerHTML={{ __html: slide.description }}></div>\n </div>\n )}\n <div style={{ display: \"flex\", gap: \"10px\", flexWrap: \"wrap\", justifyContent: slideAlignObj.ctaJustify }}>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && (!c.position || c.position === \"inline\")).map((cta, ci) => (\n <span key={ci} style={{ padding: \"10px 24px\", fontSize: \"13px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cta.color || (ci === 0 ? \"#1d4ed8\" : \"rgba(255,255,255,0.2)\"), color: \"#fff\", border: ci > 0 && !cta.color ? \"1px solid rgba(255,255,255,0.5)\" : \"none\" }}>{cta.label}</span>\n ))}\n </div>\n </div>\n {(Array.isArray(slide.ctas) ? slide.ctas : []).filter(c => c.label && c.position && c.position !== \"inline\").map((cta, ci) => (\n <span key={\"f\" + ci} style={{ position: \"absolute\", zIndex: 15, padding: \"8px 18px\", fontSize: \"12px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: cta.color || \"#1d4ed8\", color: \"#fff\", ...(cta.position.includes(\"top\") ? { top: \"16px\" } : cta.position.includes(\"bottom\") ? { bottom: \"16px\" } : { top: \"50%\", transform: \"translateY(-50%)\" }), ...(cta.position.includes(\"left\") ? { left: \"16px\" } : cta.position.includes(\"right\") ? { right: \"16px\" } : { left: \"50%\", transform: (cta.position.includes(\"middle\") ? \"translate(-50%, -50%)\" : \"translateX(-50%)\") }) }}>{cta.label}</span>\n ))}\n {total > 1 && renderArrows(\n () => setPreviewSlide((idx - 1 + total) % total),\n () => setPreviewSlide((idx + 1) % total)\n )}\n {renderDots(total, idx, setPreviewSlide)}\n </div>\n );\n }\n\n // ─── Minerva source with hero layout: show real offers ───\n const isOEM = selectedSlider.source === \"minerva\";\n\n if (isOEM && isHero && minervaOffers && minervaOffers.length > 0) {\n const idx = Math.min(previewSlide, minervaOffers.length - 1);\n const offer = minervaOffers[idx];\n const total = minervaOffers.length;\n const sa = getSlideAlign(offer);\n const sAlign = getAlignFor(offer);\n const sGradient = getGradientFor(offer);\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", height: effectiveSliderHeight + \"px\", background: gc }}>\n {offer.image && (\n <img src={offer.image} alt={offer.model || \"\"} style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: sa === \"right\" ? \"left center\" : sa === \"center\" ? \"center center\" : \"right center\" }} />\n )}\n <div style={{ position: \"absolute\", inset: 0, background: sGradient }}></div>\n\n {total > 1 && renderArrows(\n () => setPreviewSlide((idx - 1 + total) % total),\n () => setPreviewSlide((idx + 1) % total)\n )}\n\n <div style={{ position: \"relative\", zIndex: 2, padding: \"48px\", color: \"#fff\", maxWidth: sa === \"center\" ? \"65%\" : \"45%\", display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", height: \"100%\", textAlign: sAlign.textAlign, marginLeft: sa === \"right\" ? \"auto\" : undefined }}>\n {total > 1 && (\n <span style={{ fontSize: \"11px\", opacity: 0.5, marginBottom: \"8px\" }}>{idx + 1} / {total} {__(\"offers\", \"sage\")}</span>\n )}\n <h3 style={{ margin: \"0 0 16px\", fontSize: \"28px\", fontWeight: 700, textTransform: \"uppercase\", lineHeight: 1.2, textShadow: \"0 2px 8px rgba(0,0,0,0.5)\", color: \"#fff\" }}>\n {offer.year} {offer.model} {offer.trim}\n </h3>\n {(offer.finance || offer.lease || offer.payment || offer.normal1) && (\n <div style={{ border: \"1px solid rgba(255,255,255,0.4)\", borderRadius: \"8px\", padding: \"14px 18px\", marginBottom: \"16px\" }}>\n {offer.finance && <div style={{ fontSize: \"14px\", lineHeight: 1.6 }}>{offer.finance}</div>}\n {offer.lease && <div style={{ fontSize: \"14px\", lineHeight: 1.6 }}>{offer.lease}</div>}\n {offer.payment && <div style={{ fontSize: \"14px\", lineHeight: 1.6 }}>{offer.payment}</div>}\n {offer.normal1 && <div style={{ fontSize: \"14px\", lineHeight: 1.6 }}>{offer.normal1}</div>}\n {offer.normal2 && <div style={{ fontSize: \"14px\", lineHeight: 1.6 }}>{offer.normal2}</div>}\n </div>\n )}\n {effectiveShowViewInventory && !(slideImageLinks[getOfferKey(offer)] || (((selectedSlider.slide_settings || {})[getOfferKey(offer)] || {}).image_link_url)) && (\n <span style={{ padding: \"10px 24px\", fontSize: \"13px\", fontWeight: 600, textTransform: \"uppercase\", borderRadius: \"9999px\", background: \"#1d4ed8\", color: \"#fff\", alignSelf: \"flex-start\" }}>\n {__(\"VIEW INVENTORY\", \"sage\")}\n </span>\n )}\n </div>\n\n {renderDots(total, idx, setPreviewSlide)}\n </div>\n );\n }\n\n // ─── Loading / fallback preview ───\n const previewImg = firstSlide ? firstSlide.image_url : null;\n const slideCount = isOEM ? (minervaOffers ? minervaOffers.length : null) : (selectedSlider.source === \"custom\" ? slides.length : null);\n\n return (\n <div style={{ position: \"relative\", overflow: \"hidden\", minHeight: isHero ? (effectiveSliderHeight + \"px\") : \"200px\", background: gc }}>\n {previewImg && (\n <img src={previewImg} alt=\"\" style={{ position: \"absolute\", inset: 0, width: \"100%\", height: \"100%\", objectFit: \"cover\", objectPosition: \"right center\" }} />\n )}\n <div style={{ position: \"absolute\", inset: 0, background: `linear-gradient(to right, rgba(${rgb},0.92) 0%, rgba(${rgb},0.75) 30%, rgba(${rgb},0.2) 55%, transparent 70%)` }}></div>\n <div style={{ position: \"relative\", zIndex: 2, padding: isHero ? \"48px\" : \"24px 32px\", color: \"#fff\", maxWidth: isHero ? \"50%\" : \"55%\", display: \"flex\", flexDirection: \"column\", justifyContent: \"center\", minHeight: \"inherit\" }}>\n <div style={{ display: \"inline-flex\", alignItems: \"center\", gap: \"6px\", marginBottom: \"16px\", background: \"rgba(255,255,255,0.15)\", padding: \"4px 12px\", borderRadius: \"4px\", alignSelf: \"flex-start\", fontSize: \"11px\", textTransform: \"uppercase\", letterSpacing: \"0.1em\" }}>\n <span className=\"dashicons dashicons-slides\" style={{ fontSize: \"14px\", width: \"14px\", height: \"14px\" }}></span>\n {__(\"LBX Slider\", \"sage\")}\n </div>\n <h3 style={{ margin: \"0 0 12px\", fontSize: isHero ? \"28px\" : \"20px\", fontWeight: 700, textTransform: \"uppercase\", lineHeight: 1.2, textShadow: \"0 2px 8px rgba(0,0,0,0.5)\", color: \"#fff\" }}>\n {selectedSlider.name}\n {!selectedSlider.enabled && <span style={{ color: \"#ff6b6b\", fontSize: \"13px\", marginLeft: \"10px\", fontWeight: 400, textTransform: \"none\" }}>({__(\"Disabled\", \"sage\")})</span>}\n {(selectedSlider.start_date || selectedSlider.end_date) && (\n <span style={{ display: \"inline-flex\", alignItems: \"center\", gap: \"4px\", marginLeft: \"10px\", fontSize: \"11px\", fontWeight: 500, textTransform: \"none\", background: \"rgba(59,130,246,0.3)\", border: \"1px solid rgba(59,130,246,0.5)\", padding: \"2px 8px\", borderRadius: \"4px\", verticalAlign: \"middle\" }}>\n <span className=\"dashicons dashicons-calendar-alt\" style={{ fontSize: \"12px\", width: \"12px\", height: \"12px\" }}></span>\n {__(\"Scheduled\", \"sage\")}\n </span>\n )}\n </h3>\n <div style={{ border: \"1px solid rgba(255,255,255,0.4)\", borderRadius: \"8px\", padding: \"14px 18px\", marginBottom: \"16px\" }}>\n <p style={{ margin: 0, fontSize: \"13px\" }}>\n <strong>{sourceLabels[selectedSlider.source] || selectedSlider.source}</strong>\n {\" · \"}{effectiveLayout}\n {transLabel && <>{\" · \"}{transLabel}</>}\n {!isHero && effectiveTransition === \"slide\" && <>{\" · \"}{columns} {__(\"col\", \"sage\")}</>}\n {slideCount !== null && <>{\" · \"}<strong>{slideCount}</strong> {__(\"slide(s)\", \"sage\")}</>}\n </p>\n {(selectedSlider.start_date || selectedSlider.end_date) && (\n <p style={{ margin: \"6px 0 0\", fontSize: \"11px\", opacity: 0.7 }}>\n {selectedSlider.start_date && <>{__(\"Publishes\", \"sage\")}: {selectedSlider.start_date.replace(\"T\", \" \")}</>}\n {selectedSlider.start_date && selectedSlider.end_date && \" · \"}\n {selectedSlider.end_date && <>{__(\"Expires\", \"sage\")}: {selectedSlider.end_date.replace(\"T\", \" \")}</>}\n </p>\n )}\n </div>\n {isOEM && minervaLoading && (\n <p style={{ fontSize: \"13px\", opacity: 0.6 }}>{__(\"Loading OEM offers preview...\", \"sage\")}</p>\n )}\n {isOEM && !minervaLoading && minervaOffers && minervaOffers.length === 0 && (\n <p style={{ fontSize: \"13px\", opacity: 0.6 }}>{__(\"No active OEM offers found.\", \"sage\")}</p>\n )}\n </div>\n {renderArrows(() => {}, () => {})}\n {renderDots(slideCount || 3, 0, () => {})}\n </div>\n );\n })() : (\n <div style={{ padding: \"40px 20px\", textAlign: \"center\", background: \"#f8f9fa\", borderRadius: \"4px\", border: \"2px dashed #c3c4c7\" }}>\n <span className=\"dashicons dashicons-slides\" style={{ fontSize: \"40px\", color: \"#c3c4c7\", marginBottom: \"8px\", display: \"block\" }}></span>\n <p style={{ color: \"#757575\", margin: 0, fontSize: \"14px\" }}>{__(\"Select a slider from the block settings panel →\", \"sage\")}</p>\n </div>\n )}\n </>\n );\n },\n save: () => null,\n });\n};\n\n/**\n * Initialize\n *\n * @see https://webpack.js.org/api/hot-module-replacement\n */\ndomReady(main);\nimport.meta.webpackHot?.accept(main);\n","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = arr == null ? null : typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"];\n\n if (_i == null) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n\n var _s, _e;\n\n try {\n for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}"],"names":["Object","defineProperty","exports","value","onReady","window","requestAnimationFrame","check","document","body","__importDefault","this","mod","__esModule","domReady","domReady_1","default","main","err","console","error","unregisterBlockStyle","registerBlockStyle","name","label","PlainText","wp","editor","components","SelectControl","PanelBody","TextControl","blockEditor","InspectorControls","MediaUpload","MediaUploadCheck","registerBlockType","title","__","category","icon","attributes","accordions","type","edit","createElement","className","save","InnerBlocks","version","imageUrl","sageThemeData","themeUri","imageId","props","setAttributes","onRemoveImage","initialOpen","options","onChange","newVersion","log","onSelect","media","url","id","allowedTypes","render","open","onClick","style","textAlign","src","alt","maxWidth","height","marginLeft","href","width","viewBox","fill","xmlns","d","stroke","marginTop","renderBlockContent","fields","JSON","stringify","component","parse","map","field","index","key","placeholder","newComponent","newFields","f","i","filter","department","phone","newDepartment","newPhone","newLabel","help","terms","useSelect","select","getEntityRecords","per_page","term","slug","newCategory","ToggleControl","RangeControl","ColorPalette","BaseControl","description","sliderId","layout","columns","mediaColumnsMobile","mediaColumnsTablet","mediaColumnsDesktop","carouselColumnsMobile","carouselColumnsTablet","carouselColumnsDesktop","showArrows","showPagination","autoplay","autoplaySpeed","loop","spaceBetween","gradientColor","sliderHeight","showViewInventory","arrowStyle","arrowColor","arrowOpacity","paginationColor","countdownEndDate","countdownStartDate","countdownStyle","countdownExpiredMessage","countdownBgImage","countdownBgImageId","countdownOverlayOpacity","contentAlign","transition","transitionEffect","element","useState","useEffect","useCallback","useRef","minervaOffers","setMinervaOffers","minervaLoading","setMinervaLoading","previewSlide","setPreviewSlide","customEditSlideIndex","setCustomEditSlideIndex","mediaColumnsEditKey","setMediaColumnsEditKey","slideAligns","setSlideAligns","slideImageLinks","setSlideImageLinks","slideButtonLabels","setSlideButtonLabels","slideButtonUrls","setSlideButtonUrls","slideButtonTargets","setSlideButtonTargets","customSlideLinks","setCustomSlideLinks","customSlideAligns","setCustomSlideAligns","countdownImageLink","setCountdownImageLink","previewUrl","setPreviewUrl","previewHeight","setPreviewHeight","previewReload","setPreviewReload","previewLang","setPreviewLang","slideSettingsRef","customSlidesRef","sliders","getEntityRecord","sliderOptions","lbx_sliders","entries","slider","enabled","selectedSlider","selectedSource","source","effectiveLayout","effectiveTransition","effectiveContentAlign","content_align","effectiveSliderHeight","Number","adminHeight","slider_height","parseInt","effectiveMediaColumnsMobile","media_columns_mobile","effectiveMediaColumnsTablet","media_columns_tablet","effectiveMediaColumnsDesktop","media_columns_desktop","effectiveCarouselColumnsMobile","carousel_columns_mobile","effectiveCarouselColumnsTablet","carousel_columns_tablet","effectiveCarouselColumnsDesktop","carousel_columns_desktop","effectiveShowViewInventory","show_view_inventory","layoutOptions","updates","countdown_end_date","countdown_start_date","countdown_style","countdown_expired_msg","countdown_bg_image","keys","length","slide_settings","aligns","forEach","ss","align","current","custom_slides","oemLinks","image_link_url","oemBtnLabels","oemBtnUrls","oemBtnTargets","Array","isArray","ctas","target","cta_label","cta_url","cta_target","cLinks","cAligns","s","countdown_image_link_url","total","getOfferKey","offer","year","make","model","Boolean","join","toLowerCase","replace","currentOffer","Math","min","currentSlideKey","oemSlideOptions","trim","opt","some","slides","idx","slide","slideTitle","editingSlideKey","editingSlideAlign","saveSlideField","prev","nonce","lbxSliderEditor","ajaxNonce","allSettings","color","position","fd","FormData","append","fetch","ajaxurl","method","credentials","saveSlideAlign","val","saveCustomSlideField","editorConfig","saveSliderField","fieldName","restUrl","apiFetch","path","then","data","offers","cancelled","encodeURIComponent","onMessage","e","_typeof","lbxSliderPreviewHeight","h","max","round","addEventListener","removeEventListener","isSelected","k","undefined","includes","String","step","marginBottom","fontSize","fontWeight","textTransform","letterSpacing","borderTop","margin","next","findIndex","image_link_target","countdown_image_link_target","checked","colors","clearable","maxHeight","borderRadius","objectFit","display","gap","langSrc","indexOf","overflow","border","background","top","left","zIndex","padding","pointerEvents","right","alignItems","lng","cursor","justifyContent","lineHeight","scrolling","r","g","b","isHero","firstSlide","gc","rgb","substring","effShowArrows","show_arrows","effShowPagination","show_pagination","effArrowStyle","arrow_style","effArrowColor","arrow_color","effArrowOpacity","arrow_opacity","effPaginationColor","pagination_color","arrowBaseStyle","transform","aOp","customBg","hex","opacity","hexToRgba","customChevron","isLightColor","arrowVariants","circle","boxShadow","square","pill","minimal","dark","aStyle","prevArrowStyle","nextArrowStyle","chevronSize","chevronColor","renderArrows","onPrev","onNext","strokeWidth","strokeLinecap","strokeLinejoin","points","dotColor","renderDots","activeIdx","onDot","bottom","from","_","adminCd","cdEndDate","cdStyle","cdOverlayOp","countdown_overlay_opacity","cdBgImg","image_url","cdTitle","countdown_title","cdCtaLabel","countdown_cta_label","main_cta","cdCtaColor","digitStyle","textShadow","fontFamily","minWidth","borderBottom","labelStyle","inset","flip","boxed","neon","flexDirection","alignMap","ctaJustify","center","getSlideAlign","getAlignFor","getGradientFor","a","transLabel","fade","creative","coverflow","isReversed","panelBg","image","objectPosition","finance","lease","flexWrap","payment","normal1","normal2","alignSelf","media_type","video_url","muted","autoPlay","playsInline","title_color","fontStyle","title_italic","desc_color","dangerouslySetInnerHTML","__html","c","cta","ci","cols","previewOffers","slice","minHeight","gridTemplateColumns","borderLeft","btnLabel","btnUrl","previewSlides","slideAlign","slideAlignObj","isSingleSlideEffect","vw","innerWidth","responsiveCols","cardsPerView","start","visibleOffers","sa","sAlign","sGradient","details","isOEM","previewImg","slideCount","start_date","end_date","verticalAlign","minerva","custom","countdown","accept","_arrayLikeToArray","arr","len","arr2","_defineProperty","obj","enumerable","configurable","writable","_slicedToArray","_i","Symbol","iterator","_s","_e","_arr","_n","_d","call","done","push","unsupportedIterableToArray","TypeError","_toConsumableArray","arrayLikeToArray","iter","constructor","prototype","_unsupportedIterableToArray","o","minLen","n","toString","test"],"sourceRoot":""}