tailwind_css_fixes/systems/effect_system/
mod.rs1use std::collections::BTreeMap;
2
3mod builtin;
4
5#[derive(Debug, Clone, PartialEq, Eq, Hash, Default)]
6pub struct EffectSystem {
7 box_shadow_default: String,
8 box_shadows: BTreeMap<String, String>,
9 drop_shadow_default: String,
10 drop_shadows: BTreeMap<String, String>,
11}
12
13impl EffectSystem {
14 pub fn get_box_shadow(&self, name: &str) -> String {
15 self.box_shadows.get(name).unwrap_or(&self.box_shadow_default).clone()
16 }
17 pub fn insert_box_shadow<K, V>(&mut self, key: K, value: V)
18 where
19 K: Into<String>,
20 V: Into<String>,
21 {
22 self.box_shadows.insert(key.into(), value.into());
23 }
24 pub fn set_box_shadow_default<V>(&mut self, value: V)
25 where
26 V: Into<String>,
27 {
28 self.box_shadow_default = value.into();
29 }
30 pub fn get_drop_shadow(&self, name: &str) -> String {
31 self.box_shadows.get(name).unwrap_or(&self.drop_shadow_default).clone()
32 }
33 pub fn insert_drop_shadow<K, V>(&mut self, key: K, value: V)
34 where
35 K: Into<String>,
36 V: Into<String>,
37 {
38 self.drop_shadows.insert(key.into(), value.into());
39 }
40 pub fn set_drop_shadow_default<V>(&mut self, value: V)
41 where
42 V: Into<String>,
43 {
44 self.drop_shadow_default = value.into();
45 }
46}