847 lines
18 KiB
JavaScript
847 lines
18 KiB
JavaScript
import ctEvents from 'ct-events'
|
|
import { typographyOption } from '../../../../static/js/customizer/sync/variables/typography'
|
|
import { updateAndSaveEl } from '../../../../static/js/customizer/sync'
|
|
import {
|
|
getRootSelectorFor,
|
|
assembleSelector,
|
|
responsiveClassesFor,
|
|
mutateSelector,
|
|
getColumnSelectorFor,
|
|
} from '../../../../static/js/customizer/sync/helpers'
|
|
|
|
const getVariables = ({ itemId, fullItemId, panelType }) => ({
|
|
cta_button_icon_size: {
|
|
selector: assembleSelector(
|
|
getRootSelectorFor({ itemId, fullItemId, panelType })
|
|
),
|
|
variable: 'theme-icon-size',
|
|
responsive: true,
|
|
unit: 'px',
|
|
},
|
|
|
|
cta_button_gap: {
|
|
selector: assembleSelector(
|
|
getRootSelectorFor({ itemId, fullItemId, panelType })
|
|
),
|
|
variable: 'theme-button-gap',
|
|
responsive: true,
|
|
unit: '',
|
|
},
|
|
|
|
headerCtaRadius: {
|
|
selector: assembleSelector(
|
|
getRootSelectorFor({ itemId, fullItemId, panelType })
|
|
),
|
|
type: 'spacing',
|
|
variable: 'theme-button-border-radius',
|
|
responsive: true,
|
|
emptyValue: '',
|
|
},
|
|
|
|
headerCtaPadding: {
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({ itemId, fullItemId, panelType }),
|
|
operation: 'suffix',
|
|
to_add: 'a',
|
|
})
|
|
),
|
|
type: 'spacing',
|
|
variable: 'theme-button-padding',
|
|
responsive: true,
|
|
emptyValue: '',
|
|
},
|
|
|
|
headerCtaMargin: {
|
|
selector: assembleSelector(
|
|
getRootSelectorFor({ itemId, fullItemId, panelType })
|
|
),
|
|
type: 'spacing',
|
|
variable: 'margin',
|
|
responsive: true,
|
|
important: true,
|
|
},
|
|
|
|
...typographyOption({
|
|
id: 'headerButtonFont',
|
|
prefix: 'button',
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({ itemId, fullItemId, panelType }),
|
|
operation: 'suffix',
|
|
to_add: '[class*="ct-button"]',
|
|
})
|
|
),
|
|
}),
|
|
|
|
header_button_text_horizontal_alignment: {
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({ itemId, fullItemId, panelType }),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-text',
|
|
})
|
|
),
|
|
variable: 'horizontal-alignment',
|
|
responsive: true,
|
|
unit: '',
|
|
},
|
|
|
|
...typographyOption({
|
|
id: 'headerButtonSecondaryLabelFont',
|
|
prefix: 'button',
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({ itemId, fullItemId, panelType }),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-secondary-text',
|
|
})
|
|
),
|
|
}),
|
|
|
|
// default state
|
|
headerButtonFontColor: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default_2',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover_2',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
headerButtonSecondaryFontColor: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button .ct-button-secondary-text',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button .ct-button-secondary-text',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost .ct-button-secondary-text',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default_2',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost .ct-button-secondary-text',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover_2',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
headerButtonForeground: [
|
|
{
|
|
selector: assembleSelector(
|
|
getRootSelectorFor({ itemId, fullItemId, panelType })
|
|
),
|
|
variable: 'theme-button-background-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
getRootSelectorFor({ itemId, fullItemId, panelType })
|
|
),
|
|
variable: 'theme-button-background-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
// transparent state
|
|
transparentHeaderButtonFontColor: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default_2',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover_2',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
transparentHeaderButtonSecondaryFontColor: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default_2',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover_2',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
transparentHeaderButtonForeground: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-background-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-transparent-row="yes"]',
|
|
})
|
|
),
|
|
|
|
variable: 'theme-button-background-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
// sticky state
|
|
stickyHeaderButtonFontColor: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default_2',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover_2',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
stickyHeaderButtonSecondaryFontColor: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-initial-color',
|
|
type: 'color:default_2',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'suffix',
|
|
to_add: '.ct-button-ghost .ct-button-secondary-text',
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-text-hover-color',
|
|
type: 'color:hover_2',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
stickyHeaderButtonForeground: [
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-background-initial-color',
|
|
type: 'color:default',
|
|
responsive: true,
|
|
},
|
|
|
|
{
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType,
|
|
}),
|
|
operation: 'between',
|
|
to_add: '[data-sticky*="yes"]',
|
|
})
|
|
),
|
|
variable: 'theme-button-background-hover-color',
|
|
type: 'color:hover',
|
|
responsive: true,
|
|
},
|
|
],
|
|
|
|
// footer button
|
|
footer_button_horizontal_alignment: {
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType: 'footer',
|
|
}),
|
|
operation: 'replace-last',
|
|
to_add: getColumnSelectorFor({ itemId: fullItemId }),
|
|
})
|
|
),
|
|
variable: 'horizontal-alignment',
|
|
responsive: true,
|
|
unit: '',
|
|
},
|
|
|
|
footer_button_vertical_alignment: {
|
|
selector: assembleSelector(
|
|
mutateSelector({
|
|
selector: getRootSelectorFor({
|
|
itemId,
|
|
fullItemId,
|
|
panelType: 'footer',
|
|
}),
|
|
operation: 'replace-last',
|
|
to_add: getColumnSelectorFor({ itemId: fullItemId }),
|
|
})
|
|
),
|
|
variable: 'vertical-alignment',
|
|
responsive: true,
|
|
unit: '',
|
|
},
|
|
})
|
|
|
|
ctEvents.on(
|
|
'ct:header:sync:collect-variable-descriptors',
|
|
(variableDescriptors) => {
|
|
variableDescriptors['button'] = ({ itemId, fullItemId }) => {
|
|
return getVariables({ itemId, fullItemId, panelType: 'header' })
|
|
}
|
|
}
|
|
)
|
|
|
|
ctEvents.on(
|
|
'ct:footer:sync:collect-variable-descriptors',
|
|
(variableDescriptors) => {
|
|
variableDescriptors['button'] = ({ itemId, fullItemId }) =>
|
|
getVariables({ itemId, fullItemId, panelType: 'footer' })
|
|
}
|
|
)
|
|
|
|
ctEvents.on(
|
|
'ct:header:sync:item:button',
|
|
({ itemId, optionId, optionValue, values: { icon_position } }) => {
|
|
const selector = `[data-id="${itemId}"]`
|
|
|
|
if (optionId === 'header_button_type') {
|
|
updateAndSaveEl(selector, (el) => {
|
|
const button = el.querySelector('[class*="ct-button"]')
|
|
button.classList.remove('ct-button', 'ct-button-ghost')
|
|
|
|
button.classList.add(
|
|
optionValue === 'type-1' ? 'ct-button' : 'ct-button-ghost'
|
|
)
|
|
})
|
|
}
|
|
|
|
if (optionId === 'visibility') {
|
|
updateAndSaveEl(selector, (el) =>
|
|
responsiveClassesFor({ ...optionValue, desktop: true }, el)
|
|
)
|
|
}
|
|
|
|
if (optionId === 'header_button_size') {
|
|
updateAndSaveEl(selector, (el) => {
|
|
el.querySelector('[class*="ct-button"]').dataset.size =
|
|
optionValue
|
|
})
|
|
}
|
|
|
|
if (optionId === 'header_button_text') {
|
|
updateAndSaveEl(selector, (el) => {
|
|
if (el.querySelector('.ct-button-secondary-text')) {
|
|
const maybeSmallTag = el.querySelector(
|
|
'.ct-button-secondary-text'
|
|
)
|
|
|
|
el.querySelector('.ct-button-text').innerHTML =
|
|
optionValue + maybeSmallTag.outerHTML
|
|
} else {
|
|
const maybeIcon = el.querySelector(
|
|
'[class*="ct-button"] .ct-icon'
|
|
)
|
|
let icon = ''
|
|
|
|
if (maybeIcon) {
|
|
icon = maybeIcon.outerHTML
|
|
}
|
|
|
|
el.querySelector('[class*="ct-button"]').innerHTML =
|
|
icon_position === 'right'
|
|
? `${optionValue}${icon}`
|
|
: `${icon}${optionValue}`
|
|
}
|
|
})
|
|
}
|
|
|
|
if (optionId === 'header_button_secondary_text') {
|
|
updateAndSaveEl(selector, (el) => {
|
|
el.querySelector('.ct-button-secondary-text').innerHTML =
|
|
optionValue
|
|
})
|
|
}
|
|
|
|
if (optionId === 'header_button_link') {
|
|
updateAndSaveEl(selector, (el) => {
|
|
el.querySelector('[class*="ct-button"]').href = optionValue
|
|
})
|
|
}
|
|
}
|
|
)
|
|
|
|
ctEvents.on(
|
|
'ct:footer:sync:item:button',
|
|
({ itemId, optionId, optionValue }) => {
|
|
const selector = `.ct-footer [data-id="${itemId}"]`
|
|
const el = document.querySelector(selector)
|
|
|
|
if (optionId === 'header_button_type') {
|
|
const button = el.querySelector('[class*="ct-button"]')
|
|
button.classList.remove('ct-button', 'ct-button-ghost')
|
|
|
|
button.classList.add(
|
|
optionValue === 'type-1' ? 'ct-button' : 'ct-button-ghost'
|
|
)
|
|
}
|
|
|
|
if (optionId === 'visibility') {
|
|
responsiveClassesFor(optionValue, el)
|
|
}
|
|
|
|
if (optionId === 'header_button_size') {
|
|
el.querySelector('[class*="ct-button"]').dataset.size = optionValue
|
|
}
|
|
|
|
if (optionId === 'header_button_text') {
|
|
el.querySelector('[class*="ct-button"]').innerHTML = optionValue
|
|
}
|
|
|
|
if (optionId === 'header_button_link') {
|
|
el.querySelector('[class*="ct-button"]').href = optionValue
|
|
}
|
|
}
|
|
)
|