Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F99971406
jss-plugin-camel-case.esm.js
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Jan 27, 13:02
Size
1 KB
Mime Type
text/x-java
Expires
Wed, Jan 29, 13:02 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
23861228
Attached To
rOACCT Open Access Compliance Check Tool (OACCT)
jss-plugin-camel-case.esm.js
View Options
import
hyphenate
from
'hyphenate-style-name'
;
/**
* Convert camel cased property names to dash separated.
*/
function
convertCase
(
style
)
{
var
converted
=
{};
for
(
var
prop
in
style
)
{
var
key
=
prop
.
indexOf
(
'--'
)
===
0
?
prop
:
hyphenate
(
prop
);
converted
[
key
]
=
style
[
prop
];
}
if
(
style
.
fallbacks
)
{
if
(
Array
.
isArray
(
style
.
fallbacks
))
converted
.
fallbacks
=
style
.
fallbacks
.
map
(
convertCase
);
else
converted
.
fallbacks
=
convertCase
(
style
.
fallbacks
);
}
return
converted
;
}
/**
* Allow camel cased property names by converting them back to dasherized.
*/
function
camelCase
()
{
function
onProcessStyle
(
style
)
{
if
(
Array
.
isArray
(
style
))
{
// Handle rules like @font-face, which can have multiple styles in an array
for
(
var
index
=
0
;
index
<
style
.
length
;
index
++
)
{
style
[
index
]
=
convertCase
(
style
[
index
]);
}
return
style
;
}
return
convertCase
(
style
);
}
function
onChangeValue
(
value
,
prop
,
rule
)
{
if
(
prop
.
indexOf
(
'--'
)
===
0
)
{
return
value
;
}
var
hyphenatedProp
=
hyphenate
(
prop
);
// There was no camel case in place
if
(
prop
===
hyphenatedProp
)
return
value
;
rule
.
prop
(
hyphenatedProp
,
value
);
// Core will ignore that property value we set the proper one above.
return
null
;
}
return
{
onProcessStyle
:
onProcessStyle
,
onChangeValue
:
onChangeValue
};
}
export
default
camelCase
;
Event Timeline
Log In to Comment