AlkantarClanX12

Your IP : 216.73.217.24


Current Path : /www/capitalgmcbuickregina_830/public/wp-content/themes/lbx-egypt/public/scripts/
Upload File :
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                  &#10006;\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":""}