tailwind_css_fixes/systems/effect_system/
mod.rs

1use 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}