themes/ignite-admin/webapp/ignite/js/coreui/utilities/get-css-custom-properties.js
/**
* --------------------------------------------------------------------------
* CoreUI Utilities (v2.1.9): get-css-custom-properties.js
* Licensed under MIT (https://coreui.io/license)
* @returns {string} css custom property name
* --------------------------------------------------------------------------
*/
const getCssCustomProperties = () => {
const cssCustomProperties = {}
const sheets = document.styleSheets
let cssText = ''
for (let i = sheets.length - 1; i > -1; i--) {
const rules = sheets[i].cssRules
for (let j = rules.length - 1; j > -1; j--) {
if (rules[j].selectorText === '.ie-custom-properties') {
cssText = rules[j].cssText
break
}
}
if (cssText) {
break
}
}
cssText = cssText.substring(
cssText.lastIndexOf('{') + 1,
cssText.lastIndexOf('}')
)
cssText.split(';').forEach((property) => {
if (property) {
const name = property.split(': ')[0]
const value = property.split(': ')[1]
if (name && value) {
cssCustomProperties[`--${name.trim()}`] = value.trim()
}
}
})
return cssCustomProperties
}
export default getCssCustomProperties