diff --git a/src/node_modules/animated-tailwindcss/LICENSE b/src/node_modules/animated-tailwindcss/LICENSE
new file mode 100644
index 0000000..92901ec
--- /dev/null
+++ b/src/node_modules/animated-tailwindcss/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2021 IIIT Kota CodeBase
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/src/node_modules/animated-tailwindcss/README.md b/src/node_modules/animated-tailwindcss/README.md
new file mode 100644
index 0000000..b7fd302
--- /dev/null
+++ b/src/node_modules/animated-tailwindcss/README.md
@@ -0,0 +1,58 @@
+
+
+
+
+ A configuration to use Animate.css with
+ Tailwind CSS .
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+---
+
+## References
+
+- [Docs for v3](https://ikcb.org/animated-tailwindcss)
+- [tw-Playground](https://play.tailwindcss.com/TsNC9Yw9Nc)
+- [Docs for v2](https://www.npmjs.com/package/animated-tailwindcss/v/2.6.1)
+
+## License
+
+This configuration is licensed under [the MIT license](LICENSE).
+
+## Code of Conduct
+
+This project and everyone participating in it are governed by the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [contact@ikcb.org](mailto:contact@ikcb.org).
+
+## Contributing
+
+All sorts of contributions are welcome here! But please follow the [Airbnb JavaScript Style Guide](https://github.com/airbnb/javascript) while creating PRs.
+
+When you submit code changes, your submissions are understood to be under the same MIT license that covers the project. Feel free to contact the maintainers if that's a concern.
+
+## Credits
+
+- [Animate.css](https://github.com/animate-css/animate.css) – for animation utilities & keyframes – used under [Hippocratic License 2.1](https://github.com/animate-css/animate.css/blob/main/LICENSE).
+- [Transform.tools](https://github.com/ritz078/transform) – for converting Animate.css to CSS-in-JS – used under [the MIT license](https://github.com/ritz078/transform/blob/master/LICENSE).
+
+## Contributors
+
+|  |  |
+| :----------------------------------------------------------------------------: | :--------------------------------------------------------------------------: |
+| [Divyansh Singh](https://github.com/brc-dd) Author | [Akash Tureha](https://github.com/MrMischievousX) Contributor |
diff --git a/src/node_modules/animated-tailwindcss/index.d.ts b/src/node_modules/animated-tailwindcss/index.d.ts
new file mode 100644
index 0000000..5e5de51
--- /dev/null
+++ b/src/node_modules/animated-tailwindcss/index.d.ts
@@ -0,0 +1,340 @@
+// https://github.com/tailwindlabs/play.tailwindcss.com/tree/master/src/monaco/ *.d.ts
+
+import type * as CSS from 'csstype';
+import type * as postcss from 'postcss';
+
+type KeyValuePair = Record;
+
+type CSSProperties = CSS.Properties & Record<`--${string}`, string>;
+
+type CSSBlock = Record>;
+
+type ConfigUtils = {
+ negative: (input: TInput) => TOutput;
+ breakpoints: (input: TInput) => TOutput;
+};
+
+type ConfigDotNotationPath = string;
+
+type ResolvableTo =
+ | TResult
+ | ((theme: (path: ConfigDotNotationPath) => TResult, utils: ConfigUtils) => TResult);
+
+type BaseConfig = {
+ important: boolean | string;
+ target: 'ie11' | 'relaxed';
+ prefix: string | ((className: string) => string);
+ separator: string;
+};
+
+type PurgeConfig =
+ | Array
+ | false
+ | { enabled: boolean; mode: 'all' | 'conservative'; content: Array }
+ | { enabled: boolean; options: { content: Array; whitelist: Array } };
+
+type ContentConfig =
+ | Array
+ | {
+ files: Array;
+ safelist?: Array }>;
+ transform?: Record string>;
+ extract?: Record Array>;
+ };
+
+type FutureConfig = Record | 'all' | [];
+
+type ExperimentalConfig = Record | 'all' | [];
+
+type DarkModeConfig = 'class' | 'media' | false;
+
+type ThemeConfig = Partial<
+ Record & {
+ extend: Partial>;
+
+ /** Responsiveness */
+ screens: ResolvableTo;
+
+ /** Reusable base configs */
+ colors: ResolvableTo>>;
+ spacing: ResolvableTo;
+
+ /** Background */
+ backgroundColor: ThemeConfig['colors'];
+ backgroundImage: ResolvableTo;
+ gradientColorStops: ThemeConfig['colors'];
+ backgroundOpacity: ThemeConfig['opacity'];
+ backgroundPosition: ResolvableTo;
+ backgroundSize: ResolvableTo;
+ backgroundOrigin: ResolvableTo;
+
+ /** Border */
+ borderColor: ThemeConfig['colors'];
+ borderOpacity: ThemeConfig['opacity'];
+ borderRadius: ResolvableTo;
+ borderWidth: ResolvableTo;
+
+ /** Shadow */
+ boxShadow: ResolvableTo;
+
+ /** Outline */
+ outline: ResolvableTo;
+
+ /** Cursor */
+ cursor: ResolvableTo;
+
+ /** Content */
+ content: ResolvableTo;
+
+ /** Divider */
+ divideColor: ThemeConfig['borderColor'];
+ divideOpacity: ThemeConfig['borderOpacity'];
+ devideWidth: ThemeConfig['borderWidth'];
+
+ /** SVG */
+ fill: ResolvableTo;
+ stroke: ResolvableTo;
+ strokeWidth: ResolvableTo;
+
+ /** Flexbox */
+ flex: ResolvableTo;
+ flexGrow: ResolvableTo;
+ flexShrink: ResolvableTo;
+
+ /** Fonts */
+ fontFamily: ResolvableTo>>;
+ fontSize: ResolvableTo;
+ fontWeight: ResolvableTo;
+
+ /** Sizes */
+ height: ThemeConfig['spacing'];
+ minHeight: ResolvableTo;
+ maxHeight: ResolvableTo;
+ width: ThemeConfig['spacing'];
+ minWidth: ResolvableTo;
+ maxWidth: ResolvableTo;
+ aspectRatio: ResolvableTo;
+
+ /** Positioning */
+ inset: ResolvableTo;
+ zIndex: ResolvableTo;
+
+ /** Text */
+ letterSpacing: ResolvableTo;
+ lineHeight: ResolvableTo;
+ textColor: ThemeConfig['colors'];
+ textOpacity: ThemeConfig['opacity'];
+ textIndent: ThemeConfig['spacing'];
+
+ /** Input */
+ placeholderColor: ThemeConfig['colors'];
+ placeholderOpacity: ThemeConfig['opacity'];
+ caretColor: ThemeConfig['colors'];
+
+ /** Lists */
+ listStyleType: ResolvableTo;
+
+ /** Layout */
+ margin: ThemeConfig['spacing'];
+ padding: ThemeConfig['spacing'];
+ space: ThemeConfig['spacing'];
+ opacity: ResolvableTo;
+ order: ResolvableTo;
+ columns: ResolvableTo;
+
+ /** Images */
+ objectPosition: ResolvableTo;
+
+ /** Grid */
+ gap: ThemeConfig['spacing'];
+ gridTemplateColumns: ResolvableTo;
+ gridColumn: ResolvableTo;
+ gridColumnStart: ResolvableTo;
+ gridColumnEnd: ResolvableTo;
+ gridTemplateRows: ResolvableTo;
+ gridRow: ResolvableTo;
+ gridRowStart: ResolvableTo;
+ gridRowEnd: ResolvableTo;
+
+ /** Transformations */
+ transformOrigin: ResolvableTo;
+ scale: ResolvableTo;
+ rotate: ResolvableTo;
+ translate: ThemeConfig['spacing'];
+ skew: ResolvableTo;
+
+ /** Transitions */
+ transitionProperty: ResolvableTo;
+ transitionTimingFunction: ResolvableTo;
+ transitionDuration: ResolvableTo;
+ transitionDelay: ResolvableTo;
+ willChange: ResolvableTo;
+
+ /** Animations */
+ animation: ResolvableTo;
+ keyframes: ResolvableTo>>;
+
+ /** Filters */
+ blur: ResolvableTo | string>>;
+ brightness: ResolvableTo | string>>;
+ contrast: ResolvableTo | string>>;
+ dropShadow: ResolvableTo | string>>;
+ grayscale: ResolvableTo | string>>;
+ hueRotate: ResolvableTo | string>>;
+ invert: ResolvableTo | string>>;
+ saturate: ResolvableTo | string>>;
+ sepia: ResolvableTo | string>>;
+ backdropFilter: ResolvableTo | string>>;
+ backdropBlur: ResolvableTo | string>>;
+ backdropBrightness: ResolvableTo | string>>;
+ backdropContrast: ResolvableTo | string>>;
+ backdropGrayscale: ResolvableTo | string>>;
+ backdropHueRotate: ResolvableTo | string>>;
+ backdropInvert: ResolvableTo | string>>;
+ backdropOpacity: ResolvableTo | string>>;
+ backdropSaturate: ResolvableTo | string>>;
+ backdropSepia: ResolvableTo | string>>;
+
+ /** Components */
+ container: Partial<{
+ screens:
+ | Array
+ | Record
+ | Record;
+ center: boolean;
+ padding: KeyValuePair | string;
+ }>;
+ }
+>;
+
+type VariantsAPI = {
+ variants: (path: string) => Array;
+
+ before: (
+ toInsert: Array,
+ variant?: string,
+ existingPluginVariants?: Array,
+ ) => Array;
+
+ after: (
+ toInsert: Array,
+ variant?: string,
+ existingPluginVariants?: Array,
+ ) => Array;
+
+ without: (toRemove: Array, existingPluginVariants?: Array) => Array;
+};
+
+type VariantsConfig =
+ | Array
+ | Record | ((api: VariantsAPI) => Array)>
+ | { extend: Record> };
+
+type CorePluginsConfig = Array | Record;
+
+type VariantConfig =
+ | Array
+ | Partial<{ variants: Array; respectPrefix: false; respectImportant: false }>;
+
+type ValueType =
+ | 'absolute-size'
+ | 'any'
+ | 'color'
+ | 'family-name'
+ | 'generic-name'
+ | 'image'
+ | 'length'
+ | 'line-width'
+ | 'lookup'
+ | 'number'
+ | 'percentage'
+ | 'position'
+ | 'relative-size'
+ | 'url';
+
+type PluginAPI = {
+ /** Get access to the whole config */
+ config: (
+ path?: ConfigDotNotationPath,
+ defaultValue?: TDefaultValue,
+ ) => TDefaultValue;
+
+ /** Escape classNames */
+ e: (className: string) => string;
+
+ /** Shortcut for the theme section of the config */
+ theme: (
+ path: ConfigDotNotationPath,
+ defaultValue?: TDefaultValue,
+ ) => TDefaultValue;
+
+ variants: (
+ path: ConfigDotNotationPath,
+ defaultValue: TDefaultValue,
+ ) => TDefaultValue;
+
+ target: (path: ConfigDotNotationPath) => string;
+
+ prefix: (selector: string) => string;
+
+ /** Ability to add utilities. E.g.: .p-4 */
+ addUtilities: (utilities: CSSBlock, variantConfig?: VariantConfig) => void;
+
+ /** Ability to add components. E.g.: .btn */
+ addComponents: (components: CSSBlock, variantConfig?: VariantConfig) => void;
+
+ addBase: (base: CSSBlock) => void;
+
+ addVariant: (
+ name: string,
+ generator: (api: {
+ container: postcss.Container;
+ separator: string;
+ modifySelectors: (
+ modifierFunction: (api: { className: string; selector: string }) => void,
+ ) => void;
+ }) => void,
+ ) => void;
+
+ matchUtilities: (
+ utilities: Record CSSBlock[string]>,
+ options?: Partial<{
+ values: Record;
+ type: Array | ValueType;
+ respectPrefix: boolean;
+ respectImportant: boolean;
+ respectVariants: boolean;
+ }>,
+ ) => void;
+
+ corePlugins: (path: string) => boolean;
+
+ postcss: typeof postcss;
+};
+
+type PluginCreator = (api: PluginAPI) => void;
+
+type PluginsConfig = Array;
+
+/** The holy grail Tailwind config definition */
+type TailwindConfig = Partial<
+ BaseConfig &
+ Record & {
+ presets: Array;
+ future: FutureConfig;
+ experimental: ExperimentalConfig;
+ purge: PurgeConfig;
+ content: ContentConfig;
+ darkMode: DarkModeConfig;
+ theme: ThemeConfig;
+ variants: VariantsConfig;
+ corePlugins: CorePluginsConfig;
+ plugins: PluginsConfig;
+ mode: 'aot' | 'jit';
+ }
+>;
+
+type EntryPoint = (config: TailwindConfig) => TailwindConfig;
+
+declare const withAnimations: EntryPoint;
+export = withAnimations;
diff --git a/src/node_modules/animated-tailwindcss/index.min.js b/src/node_modules/animated-tailwindcss/index.min.js
new file mode 100644
index 0000000..97ca35d
--- /dev/null
+++ b/src/node_modules/animated-tailwindcss/index.min.js
@@ -0,0 +1,3 @@
+"use strict";var v=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var y=v(n=>{"use strict";var w=n&&n.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(n,"__esModule",{value:!0});n.distance=n.fill=n.repeat=n.delay=n.ease=n.duration=void 0;var o=w(require("lodash.range")),l=(e,r="",p=!1,x=f=>f)=>e.reduce((f,g)=>({...f,[`${g}${p?r:""}`]:`${x(g)}${r}`}),{});n.duration=l([75,100,150,200,300,500,700,1e3],"ms");n.ease={linear:"0,0,1,1",in:".42,0,1,1",out:"0,0,.58,1","in-out":".42,0,.58,1","in-sine":".12,0,.39,0","out-sine":".61,1,.88,1","in-out-sine":".37,0,.63,1","in-quad":".11,0,.5,0","out-quad":".5,1,.89,1","in-out-quad":".45,0,.55,1","in-cubic":".32,0,.67,0","out-cubic":".33,1,.68,1","in-out-cubic":".65,0,.35,1","in-quart":".5,0,.75,0","out-quart":".25,1,.5,1","in-out-quart":".76,0,.24,1","in-quint":".64,0,.78,0","out-quint":".22,1,.36,1","in-out-quint":".83,0,.17,1","in-expo":".7,0,.84,0","out-expo":".16,1,.3,1","in-out-expo":".87,0,.13,1","in-circ":".55,0,1,.45","out-circ":"0,.55,.45,1","in-out-circ":".85,0,.15,1","in-back":".36,0,.66,-.56","out-back":".34,1.56,.64,1","in-out-back":".68,-.6,.32,1.6"};n.delay={...n.duration,...l((0,o.default)(6),"s",!0)};n.repeat=l((0,o.default)(13));n.fill=l(["none","forwards","backwards","both"]);n.distance={px:"1px",...l([...(0,o.default)(0,4,.5),...(0,o.default)(4,12,1),...(0,o.default)(12,16,2),...(0,o.default)(16,64,4),...(0,o.default)(64,80,8),...(0,o.default)(80,100,16)],"rem",!1,e=>e*.25),"1/2":"50%","1/3":"33.333333%","2/3":"66.666667%","1/4":"25%","2/4":"50%","3/4":"75%","1/5":"20%","2/5":"40%","3/5":"60%","4/5":"80%","1/6":"16.666667%","2/6":"33.333333%","3/6":"50%","4/6":"66.666667%","5/6":"83.333333%","1/12":"8.333333%","2/12":"16.666667%","3/12":"25%","4/12":"33.333333%","5/12":"41.666667%","6/12":"50%","7/12":"58.333333%","8/12":"66.666667%","9/12":"75%","10/12":"83.333333%","11/12":"91.666667%",full:"100%",screen:"100vh"}});var h=v(b=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0});b.keyframes=void 0;b.keyframes={bounce:{"from, 20%, 53%, to":{animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)",transform:"translate3d(0, 0, 0)"},"40%, 43%":{animationTimingFunction:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",transform:"translate3d(0, -30px, 0) scale3d(1, 1.1, 1)"},"70%":{animationTimingFunction:"cubic-bezier(0.755, 0.05, 0.855, 0.06)",transform:"translate3d(0, -15px, 0) scale3d(1, 1.05, 1)"},"80%":{animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)",transform:"translate3d(0, 0, 0) scale3d(1, 0.95, 1)"},"90%":{transform:"translate3d(0, -4px, 0) scale3d(1, 1.02, 1)"}},flash:{"25%, 75%":{opacity:"0"},"50%":{opacity:"1"}},pulse:{"50%":{transform:"scale3d(1.05, 1.05, 1.05)"}},rubberBand:{"30%":{transform:"scale3d(1.25, 0.75, 1)"},"40%":{transform:"scale3d(0.75, 1.25, 1)"},"50%":{transform:"scale3d(1.15, 0.85, 1)"},"65%":{transform:"scale3d(0.95, 1.05, 1)"},"75%":{transform:"scale3d(1.05, 0.95, 1)"}},shakeX:{"10%, 30%, 50%, 70%, 90%":{transform:"translate3d(-10px, 0, 0)"},"20%, 40%, 60%, 80%":{transform:"translate3d(10px, 0, 0)"}},shakeY:{"10%, 30%, 50%, 70%, 90%":{transform:"translate3d(0, -10px, 0)"},"20%, 40%, 60%, 80%":{transform:"translate3d(0, 10px, 0)"}},headShake:{"6.5%":{transform:"translate3d(-6px, 0, 0) rotate3d(0, 1, 0, -9deg)"},"18.5%":{transform:"translate3d(5px, 0, 0) rotate3d(0, 1, 0, 7deg)"},"31.5%":{transform:"translate3d(-3px, 0, 0) rotate3d(0, 1, 0, -5deg)"},"43.5%":{transform:"translate3d(2px, 0, 0) rotate3d(0, 1, 0, 3deg)"},"50%":{transform:"translate3d(0, 0, 0)"}},swing:{"20%":{transform:"rotate3d(0, 0, 1, 15deg)"},"40%":{transform:"rotate3d(0, 0, 1, -10deg)"},"60%":{transform:"rotate3d(0, 0, 1, 5deg)"},"80%":{transform:"rotate3d(0, 0, 1, -5deg)"}},tada:{"10%, 20%":{transform:"scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg)"},"30%, 50%, 70%, 90%":{transform:"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg)"},"40%, 60%, 80%":{transform:"scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg)"}},wobble:{"15%":{transform:"translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg)"},"30%":{transform:"translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg)"},"45%":{transform:"translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg)"},"60%":{transform:"translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg)"},"75%":{transform:"translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg)"}},jello:{"11.1%":{transform:"translate3d(0, 0, 0)"},"22.2%":{transform:"skew(-12.5deg, -12.5deg)"},"33.3%":{transform:"skew(6.25deg, 6.25deg)"},"44.4%":{transform:"skew(-3.125deg, -3.125deg)"},"55.5%":{transform:"skew(1.5625deg, 1.5625deg)"},"66.6%":{transform:"skew(-0.78125deg, -0.78125deg)"},"77.7%":{transform:"skew(0.390625deg, 0.390625deg)"},"88.8%":{transform:"skew(-0.1953125deg, -0.1953125deg)"}},heartBeat:{"14%":{transform:"scale3d(1.3, 1.3, 1.3)"},"28%":{transform:"scale3d(1, 1, 1)"},"42%":{transform:"scale3d(1.3, 1.3, 1.3)"},"70%":{transform:"scale3d(1, 1, 1)"}},backInDown:{from:{transform:"translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0) scale3d(0, 0, 1)"},"80%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"}},backInLeft:{from:{transform:"translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0) scale3d(0, 0, 1)"},"80%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"}},backInRight:{from:{transform:"translate3d(var(--animate-distance, 2000px), 0, 0) scale3d(0, 0, 1)"},"80%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"}},backInUp:{from:{transform:"translate3d(0, var(--animate-distance, 1000px), 0) scale3d(0, 0, 1)"},"80%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"}},backOutDown:{"20%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"},to:{transform:"translate3d(0, var(--animate-distance, 1000px), 0) scale3d(0, 0, 1)"}},backOutLeft:{"20%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"},to:{transform:"translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0) scale3d(0, 0, 1)"}},backOutRight:{"20%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"},to:{transform:"translate3d(var(--animate-distance, 2000px), 0, 0) scale3d(0, 0, 1)"}},backOutUp:{"20%":{opacity:"0.7",transform:"translate3d(0, 0, 0) scale3d(0.7, 0.7, 1)"},to:{transform:"translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0) scale3d(0, 0, 1)"}},bounceIn:{from:{transform:"scale3d(0.3, 0.3, 0.3)"},"20%":{transform:"scale3d(1.1, 1.1, 1.1)"},"40%":{transform:"scale3d(0.9, 0.9, 0.9)"},"60%":{opacity:"1",transform:"scale3d(1.03, 1.03, 1.03)"},"80%":{transform:"scale3d(0.97, 0.97, 0.97)"}},bounceInDown:{from:{transform:"translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0) scale3d(1, 3, 1)"},"60%":{opacity:"1",transform:"translate3d(0, 20px, 0) scale3d(1, 0.9, 1)"},"75%":{transform:"translate3d(0, -10px, 0) scale3d(1, 0.95, 1)"},"90%":{transform:"translate3d(0, 5px, 0) scale3d(1, 0.985, 1)"}},bounceInLeft:{from:{transform:"translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0) scale3d(3, 1, 1)"},"60%":{opacity:"1",transform:"translate3d(25px, 0, 0) scale3d(1, 1, 1)"},"75%":{transform:"translate3d(-10px, 0, 0) scale3d(1, 0.98, 1)"},"90%":{transform:"translate3d(5px, 0, 0) scale3d(1, 0.995, 1)"}},bounceInRight:{from:{transform:"translate3d(var(--animate-distance, 2000px), 0, 0) scale3d(3, 1, 1)"},"60%":{opacity:"1",transform:"translate3d(-25px, 0, 0) scale3d(1, 1, 1)"},"75%":{transform:"translate3d(10px, 0, 0) scale3d(1, 0.98, 1)"},"90%":{transform:"translate3d(-5px, 0, 0) scale3d(1, 0.995, 1)"}},bounceInUp:{from:{transform:"translate3d(0, var(--animate-distance, 1000px), 0) scale3d(1, 3, 1)"},"60%":{opacity:"1",transform:"translate3d(0, -20px, 0) scale3d(1, 0.9, 1)"},"75%":{transform:"translate3d(0, 10px, 0) scale3d(1, 0.95, 1)"},"90%":{transform:"translate3d(0, -5px, 0) scale3d(1, 0.985, 1)"}},bounceOut:{"20%":{transform:"scale3d(0.9, 0.9, 0.9)"},"50%, 55%":{opacity:"1",transform:"scale3d(1.1, 1.1, 1.1)"},to:{transform:"scale3d(0.3, 0.3, 0.3)"}},bounceOutDown:{"20%":{transform:"translate3d(0, 10px, 0) scale3d(1, 0.985, 1)"},"40%, 45%":{opacity:"1",transform:"translate3d(0, -20px, 0) scale3d(1, 0.9, 1)"},to:{transform:"translate3d(0, var(--animate-distance, 1000px), 0) scale3d(1, 3, 1)"}},bounceOutLeft:{"20%":{opacity:"1",transform:"translate3d(20px, 0, 0) scale3d(0.9, 1, 1)"},to:{transform:"translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0) scale3d(2, 1, 1)"}},bounceOutRight:{"20%":{opacity:"1",transform:"translate3d(-20px, 0, 0) scale3d(0.9, 1, 1)"},to:{transform:"translate3d(var(--animate-distance, 2000px), 0, 0) scale3d(2, 1, 1)"}},bounceOutUp:{"20%":{transform:"translate3d(0, -10px, 0) scale3d(1, 0.985, 1)"},"40%, 45%":{opacity:"1",transform:"translate3d(0, 20px, 0) scale3d(1, 0.9, 1)"},to:{transform:"translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0) scale3d(1, 3, 1)"}},fadeIn:{},fadeInDown:{from:{transform:"translate3d(0, -100%, 0)"}},fadeInDownBig:{from:{transform:"translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0)"}},fadeInLeft:{from:{transform:"translate3d(-100%, 0, 0)"}},fadeInLeftBig:{from:{transform:"translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0)"}},fadeInRight:{from:{transform:"translate3d(100%, 0, 0)"}},fadeInRightBig:{from:{transform:"translate3d(var(--animate-distance, 2000px), 0, 0)"}},fadeInUp:{from:{transform:"translate3d(0, 100%, 0)"}},fadeInUpBig:{from:{transform:"translate3d(0, var(--animate-distance, 1000px), 0)"}},fadeInTopLeft:{from:{transform:"translate3d(-100%, -100%, 0)"}},fadeInTopRight:{from:{transform:"translate3d(100%, -100%, 0)"}},fadeInBottomLeft:{from:{transform:"translate3d(-100%, 100%, 0)"}},fadeInBottomRight:{from:{transform:"translate3d(100%, 100%, 0)"}},fadeOut:{},fadeOutDown:{to:{transform:"translate3d(0, 100%, 0)"}},fadeOutDownBig:{to:{transform:"translate3d(0, var(--animate-distance, 1000px), 0)"}},fadeOutLeft:{to:{transform:"translate3d(-100%, 0, 0)"}},fadeOutLeftBig:{to:{transform:"translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0)"}},fadeOutRight:{to:{transform:"translate3d(100%, 0, 0)"}},fadeOutRightBig:{to:{transform:"translate3d(var(--animate-distance, 2000px), 0, 0)"}},fadeOutUp:{to:{transform:"translate3d(0, -100%, 0)"}},fadeOutUpBig:{to:{transform:"translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0)"}},fadeOutTopLeft:{to:{transform:"translate3d(-100%, -100%, 0)"}},fadeOutTopRight:{to:{transform:"translate3d(100%, -100%, 0)"}},fadeOutBottomRight:{to:{transform:"translate3d(100%, 100%, 0)"}},fadeOutBottomLeft:{to:{transform:"translate3d(-100%, 100%, 0)"}},flip:{from:{animationTimingFunction:"ease-out",transform:"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg)"},"40%":{animationTimingFunction:"ease-out",transform:"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg)"},"50%":{animationTimingFunction:"ease-in",transform:"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg)"},"80%":{animationTimingFunction:"ease-in",transform:"perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg)"},to:{animationTimingFunction:"ease-in",transform:"perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg)"}},flipInX:{from:{animationTimingFunction:"ease-in",transform:"perspective(400px) rotate3d(1, 0, 0, 90deg)"},"40%":{animationTimingFunction:"ease-in",transform:"perspective(400px) rotate3d(1, 0, 0, -20deg)"},"60%":{opacity:"1",transform:"perspective(400px) rotate3d(1, 0, 0, 10deg)"},"80%":{transform:"perspective(400px) rotate3d(1, 0, 0, -5deg)"},to:{transform:"perspective(400px)"}},flipInY:{from:{animationTimingFunction:"ease-in",transform:"perspective(400px) rotate3d(0, 1, 0, 90deg)"},"40%":{animationTimingFunction:"ease-in",transform:"perspective(400px) rotate3d(0, 1, 0, -20deg)"},"60%":{opacity:"1",transform:"perspective(400px) rotate3d(0, 1, 0, 10deg)"},"80%":{transform:"perspective(400px) rotate3d(0, 1, 0, -5deg)"},to:{transform:"perspective(400px)"}},flipOutX:{from:{transform:"perspective(400px)"},"30%":{opacity:"1",transform:"perspective(400px) rotate3d(1, 0, 0, -20deg)"},to:{transform:"perspective(400px) rotate3d(1, 0, 0, 90deg)"}},flipOutY:{from:{transform:"perspective(400px)"},"30%":{opacity:"1",transform:"perspective(400px) rotate3d(0, 1, 0, -15deg)"},to:{transform:"perspective(400px) rotate3d(0, 1, 0, 90deg)"}},lightSpeedInRight:{from:{transform:"translate3d(100%, 0, 0) skew(-30deg)"},"60%":{opacity:"1",transform:"skew(20deg)"},"80%":{transform:"skew(-5deg)"}},lightSpeedInLeft:{from:{transform:"translate3d(-100%, 0, 0) skew(30deg)"},"60%":{opacity:"1",transform:"skew(-20deg)"},"80%":{transform:"skew(5deg)"}},lightSpeedOutRight:{to:{transform:"translate3d(100%, 0, 0) skew(30deg)"}},lightSpeedOutLeft:{to:{transform:"translate3d(-100%, 0, 0) skew(-30deg)"}},rotateIn:{from:{transform:"rotate3d(0, 0, 1, -200deg)"}},rotateInDownLeft:{from:{transform:"rotate3d(0, 0, 1, -45deg)"}},rotateInDownRight:{from:{transform:"rotate3d(0, 0, 1, 45deg)"}},rotateInUpLeft:{from:{transform:"rotate3d(0, 0, 1, 45deg)"}},rotateInUpRight:{from:{transform:"rotate3d(0, 0, 1, -90deg)"}},rotateOut:{to:{transform:"rotate3d(0, 0, 1, 200deg)"}},rotateOutDownLeft:{to:{transform:"rotate3d(0, 0, 1, 45deg)"}},rotateOutDownRight:{to:{transform:"rotate3d(0, 0, 1, -45deg)"}},rotateOutUpLeft:{to:{transform:"rotate3d(0, 0, 1, -45deg)"}},rotateOutUpRight:{to:{transform:"rotate3d(0, 0, 1, 90deg)"}},hinge:{"20%, 60%":{transform:"rotate3d(0, 0, 1, 80deg)"},"40%, 80%":{opacity:"1",transform:"rotate3d(0, 0, 1, 60deg)"},to:{transform:"translate3d(0, var(--animate-distance, 1000px), 0)"}},jackInTheBox:{from:{transform:"scale3d(0.1, 0.1, 1) rotate3d(0, 0, 1, 30deg)",transformOrigin:"center bottom"},"50%":{transform:"rotate3d(0, 0, 1, -10deg)"},"70%":{transform:"rotate3d(0, 0, 1, 3deg)"}},rollIn:{from:{transform:"translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg)"}},rollOut:{to:{transform:"translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg)"}},zoomIn:{from:{transform:"scale3d(0.3, 0.3, 0.3)"},"50%":{opacity:"1"}},zoomInDown:{from:{animationTimingFunction:"cubic-bezier(0.55, 0.055, 0.675, 0.19)",transform:"scale3d(0.1, 0.1, 0.1) translate3d(0, calc(-1 * var(--animate-distance, 2000px)), 0)"},"60%":{animationTimingFunction:"cubic-bezier(0.175, 0.885, 0.32, 1)",opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)"}},zoomInLeft:{from:{animationTimingFunction:"cubic-bezier(0.55, 0.055, 0.675, 0.19)",transform:"scale3d(0.1, 0.1, 0.1) translate3d(calc(-1 * var(--animate-distance, 1000px)), 0, 0)"},"60%":{animationTimingFunction:"cubic-bezier(0.175, 0.885, 0.32, 1)",opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0)"}},zoomInRight:{from:{animationTimingFunction:"cubic-bezier(0.55, 0.055, 0.675, 0.19)",transform:"scale3d(0.1, 0.1, 0.1) translate3d(var(--animate-distance, 1000px), 0, 0)"},"60%":{animationTimingFunction:"cubic-bezier(0.175, 0.885, 0.32, 1)",opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0)"}},zoomInUp:{from:{animationTimingFunction:"cubic-bezier(0.55, 0.055, 0.675, 0.19)",transform:"scale3d(0.1, 0.1, 0.1) translate3d(0, var(--animate-distance, 2000px), 0)"},"60%":{animationTimingFunction:"cubic-bezier(0.175, 0.885, 0.32, 1)",opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)"}},zoomOut:{"50%":{opacity:"0",transform:"scale3d(0.3, 0.3, 0.3)"}},zoomOutDown:{"40%":{animationTimingFunction:"cubic-bezier(0.55, 0.055, 0.675, 0.19)",opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0)"},to:{animationTimingFunction:"cubic-bezier(0.175, 0.885, 0.32, 1)",transform:"scale3d(0.1, 0.1, 0.1) translate3d(0, var(--animate-distance, 1000px), 0)"}},zoomOutLeft:{"40%":{opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0)"},to:{transform:"scale3d(0.1, 0.1, 1) translate3d(calc(-1 * var(--animate-distance, 2000px)), 0, 0)"}},zoomOutRight:{"40%":{opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0)"},to:{transform:"scale3d(0.1, 0.1, 1) translate3d(var(--animate-distance, 2000px), 0, 0)"}},zoomOutUp:{"40%":{animationTimingFunction:"cubic-bezier(0.55, 0.055, 0.675, 0.19)",opacity:"1",transform:"scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0)"},to:{animationTimingFunction:"cubic-bezier(0.175, 0.885, 0.32, 1)",transform:"scale3d(0.1, 0.1, 0.1) translate3d(0, calc(-1 * var(--animate-distance, 1000px)), 0)"}},slideInDown:{from:{transform:"translate3d(0, -100%, 0)"}},slideInLeft:{from:{transform:"translate3d(-100%, 0, 0)"}},slideInRight:{from:{transform:"translate3d(100%, 0, 0)"}},slideInUp:{from:{transform:"translate3d(0, 100%, 0)"}},slideOutDown:{to:{transform:"translate3d(0, 100%, 0)"}},slideOutLeft:{to:{transform:"translate3d(-100%, 0, 0)"}},slideOutRight:{to:{transform:"translate3d(100%, 0, 0)"}},slideOutUp:{to:{transform:"translate3d(0, -100%, 0)"}}}});var I=v(m=>{"use strict";Object.defineProperty(m,"__esModule",{value:!0});m.animationUtils=m.keyframeUtils=void 0;m.keyframeUtils={bounce:{transformOrigin:"center bottom"},pulse:{animationTimingFunction:"ease-in-out"},headShake:{animationTimingFunction:"ease-in-out"},swing:{transformOrigin:"top center"},jello:{transformOrigin:"center"},heartBeat:{animationDuration:"1.3s",animationTimingFunction:"ease-in-out"},bounceIn:{animationDuration:"0.75s",animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)"},bounceInDown:{animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)"},bounceInLeft:{animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)"},bounceInRight:{animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)"},bounceInUp:{animationTimingFunction:"cubic-bezier(0.215, 0.61, 0.355, 1)"},bounceOut:{animationDuration:"0.75s"},flip:{backfaceVisibility:"visible"},flipInX:{backfaceVisibility:"visible"},flipInY:{backfaceVisibility:"visible"},flipOutX:{animationDuration:"0.75s",backfaceVisibility:"visible"},flipOutY:{animationDuration:"0.75s",backfaceVisibility:"visible"},lightSpeedInRight:{animationTimingFunction:"ease-out"},lightSpeedInLeft:{animationTimingFunction:"ease-out"},lightSpeedOutRight:{animationTimingFunction:"ease-in"},lightSpeedOutLeft:{animationTimingFunction:"ease-in"},rotateIn:{transformOrigin:"center"},rotateInDownLeft:{transformOrigin:"left bottom"},rotateInDownRight:{transformOrigin:"right bottom"},rotateInUpLeft:{transformOrigin:"left bottom"},rotateInUpRight:{transformOrigin:"right bottom"},rotateOut:{transformOrigin:"center"},rotateOutDownLeft:{transformOrigin:"left bottom"},rotateOutDownRight:{transformOrigin:"right bottom"},rotateOutUpLeft:{transformOrigin:"left bottom"},rotateOutUpRight:{transformOrigin:"right bottom"},hinge:{animationDuration:"2s",animationTimingFunction:"ease-in-out",transformOrigin:"top left"},zoomOutDown:{transformOrigin:"center bottom"},zoomOutLeft:{transformOrigin:"left center"},zoomOutRight:{transformOrigin:"right center"},zoomOutUp:{transformOrigin:"center bottom"}};m.animationUtils={none:{animation:"none"},faster:{animationDuration:"0.5s"},fast:{animationDuration:"0.8s"},slow:{animationDuration:"2s"},slower:{animationDuration:"3s"},ease:{animationTimingFunction:"cubic-bezier(.25,.1,.25,1)"},infinite:{animationIterationCount:"infinite"},normal:{animationDirection:"normal"},reverse:{animationDirection:"reverse"},alternate:{animationDirection:"alternate"},"alternate-reverse":{animationDirection:"alternate-reverse"},paused:{animationPlayState:"paused"},running:{animationPlayState:"running"}}});var T=exports&&exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}},O=T(require("lodash.get")),s=T(require("lodash.set")),i=y(),c=h(),u=I(),D=(e={})=>{let r=Object.fromEntries(Object.keys(c.keyframes).map(t=>{var a,d;return[t,`${((a=u.keyframeUtils[t])===null||a===void 0?void 0:a.animationDuration)||"1s"}
+ ${((d=u.keyframeUtils[t])===null||d===void 0?void 0:d.animationTimingFunction)||""}
+ both ${t}`.replace(/\s+/g," ")]})),p=(0,O.default)(e,["theme","extend","animation"],{});(0,s.default)(e,["theme","animation"],{...r,...p}),Object.keys(r).forEach(t=>{t.includes("In")&&(t.includes("slide")||(0,s.default)(c.keyframes,[t,"from","opacity"],"0"),(0,s.default)(c.keyframes,[t,"from","visibility"],"visible")),t.includes("Out")&&(t.includes("slide")||(0,s.default)(c.keyframes,[t,"to","opacity"],"0"),(0,s.default)(c.keyframes,[t,"to","visibility"],"hidden"))});let x=(0,O.default)(e,["theme","extend","keyframes"],{});(0,s.default)(e,"theme.keyframes",{...c.keyframes,...x});let f=Object.fromEntries(Object.entries({...u.keyframeUtils,...u.animationUtils}).flatMap(([t,a])=>{if(t in p)return[];let d=t in u.animationUtils?a:Object.fromEntries(Object.entries(a).filter(([k])=>!k.startsWith("animation")));return Object.keys(d).length>0?[[`.animate-${t}`,d]]:[]})),g=[({addUtilities:t})=>{t(f)},({matchUtilities:t})=>{t({"animate-duration":a=>({animationDuration:a})},{values:i.duration}),t({"animate-ease":a=>({animationTimingFunction:`cubic-bezier(${a})`})},{values:i.ease}),t({"animate-steps-start":a=>({animationTimingFunction:`steps(${a},jump-start)`})},{values:i.repeat}),t({"animate-steps-end":a=>({animationTimingFunction:`steps(${a},jump-end)`})},{values:i.repeat}),t({"animate-steps-both":a=>({animationTimingFunction:`steps(${a},jump-both)`})},{values:i.repeat}),t({"animate-steps-none":a=>({animationTimingFunction:`steps(${a},jump-none)`})},{values:i.repeat}),t({"animate-delay":a=>({animationDelay:a})},{values:i.delay}),t({"animate-repeat":a=>({animationIterationCount:a})},{values:i.repeat}),t({"animate-fill":a=>({animationFillMode:a})},{values:i.fill}),t({"animate-distance":a=>({"--animate-distance":a})},{values:i.distance})}],F=(0,O.default)(e,["plugins"],[]);return(0,s.default)(e,"plugins",[...g,...F]),e};module.exports=D;
diff --git a/src/node_modules/animated-tailwindcss/package.json b/src/node_modules/animated-tailwindcss/package.json
new file mode 100644
index 0000000..5dfa92a
--- /dev/null
+++ b/src/node_modules/animated-tailwindcss/package.json
@@ -0,0 +1,86 @@
+{
+ "$schema": "https://json.schemastore.org/package.json",
+ "_from": "animated-tailwindcss",
+ "_id": "animated-tailwindcss@3.0.1",
+ "_inBundle": false,
+ "_integrity": "sha512-xFDqlUTOGUp/aYHDecakGQiB2EkCfu0amzBpTafGb0J4+3vXelRTZyhrKYC2LC0f/eyO0JMP8HNhRKitqrp+2g==",
+ "_location": "/animated-tailwindcss",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "tag",
+ "registry": true,
+ "raw": "animated-tailwindcss",
+ "name": "animated-tailwindcss",
+ "escapedName": "animated-tailwindcss",
+ "rawSpec": "",
+ "saveSpec": null,
+ "fetchSpec": "latest"
+ },
+ "_requiredBy": [
+ "#DEV:/",
+ "#USER"
+ ],
+ "_resolved": "https://registry.npmjs.org/animated-tailwindcss/-/animated-tailwindcss-3.0.1.tgz",
+ "_shasum": "a800d235dc20931a14d776b3ab2058fd30d5beaa",
+ "_spec": "animated-tailwindcss",
+ "_where": "/usr/src/app",
+ "author": {
+ "name": "Divyansh Singh",
+ "email": "divyansh.singh@ikcb.org",
+ "url": "https://github.com/brc-dd"
+ },
+ "bugs": {
+ "url": "https://github.com/ikcb/animated-tailwindcss/issues",
+ "email": "codebase@iiitkota.ac.in"
+ },
+ "bundleDependencies": false,
+ "contributors": [
+ {
+ "name": "Akash Tureha",
+ "email": "2020kucp1138@iiitkota.ac.in",
+ "url": "https://github.com/MrMischievousX"
+ }
+ ],
+ "dependencies": {
+ "csstype": "^3",
+ "lodash.get": "^4",
+ "lodash.range": "^3",
+ "lodash.set": "^4"
+ },
+ "deprecated": false,
+ "description": "A configuration to use Animate.css with Tailwind CSS",
+ "engines": {
+ "node": ">=12"
+ },
+ "files": [
+ "index.d.ts"
+ ],
+ "homepage": "https://ikcb.org/animated-tailwindcss",
+ "keywords": [
+ "animate.css",
+ "animatecss",
+ "animations",
+ "configuration",
+ "css",
+ "jit",
+ "keyframes",
+ "tailwind",
+ "tailwindcss"
+ ],
+ "license": "MIT",
+ "main": "index.min.js",
+ "name": "animated-tailwindcss",
+ "peerDependencies": {
+ "postcss": "^8",
+ "tailwindcss": "^3"
+ },
+ "publishConfig": {
+ "registry": "https://registry.npmjs.org"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/ikcb/animated-tailwindcss.git"
+ },
+ "types": "index.d.ts",
+ "version": "3.0.1"
+}
diff --git a/src/node_modules/csstype/LICENSE b/src/node_modules/csstype/LICENSE
new file mode 100644
index 0000000..c4cb789
--- /dev/null
+++ b/src/node_modules/csstype/LICENSE
@@ -0,0 +1,19 @@
+Copyright (c) 2017-2018 Fredrik Nicol
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/src/node_modules/csstype/README.md b/src/node_modules/csstype/README.md
new file mode 100644
index 0000000..b64155b
--- /dev/null
+++ b/src/node_modules/csstype/README.md
@@ -0,0 +1,271 @@
+# CSSType
+
+[](https://www.npmjs.com/package/csstype)
+
+TypeScript and Flow definitions for CSS, generated by [data from MDN](https://github.com/mdn/data). It provides autocompletion and type checking for CSS properties and values.
+
+**TypeScript**
+
+```ts
+import * as CSS from 'csstype';
+
+const style: CSS.Properties = {
+ colour: 'white', // Type error on property
+ textAlign: 'middle', // Type error on value
+};
+```
+
+**Flow**
+
+```js
+// @flow strict
+import * as CSS from 'csstype';
+
+const style: CSS.Properties<> = {
+ colour: 'white', // Type error on property
+ textAlign: 'middle', // Type error on value
+};
+```
+
+_Further examples below will be in TypeScript!_
+
+## Getting started
+
+```sh
+$ npm install csstype
+```
+
+## Table of content
+
+- [Style types](#style-types)
+- [At-rule types](#at-rule-types)
+- [Pseudo types](#pseudo-types)
+- [Generics](#generics)
+- [Usage](#usage)
+- [What should I do when I get type errors?](#what-should-i-do-when-i-get-type-errors)
+- [Version 3.0](#version-30)
+- [Contributing](#contributing)
+
+## Style types
+
+Properties are categorized in different uses and in several technical variations to provide typings that suits as many as possible.
+
+| | Default | `Hyphen` | `Fallback` | `HyphenFallback` |
+| -------------- | -------------------- | -------------------------- | ---------------------------- | ---------------------------------- |
+| **All** | `Properties` | `PropertiesHyphen` | `PropertiesFallback` | `PropertiesHyphenFallback` |
+| **`Standard`** | `StandardProperties` | `StandardPropertiesHyphen` | `StandardPropertiesFallback` | `StandardPropertiesHyphenFallback` |
+| **`Vendor`** | `VendorProperties` | `VendorPropertiesHyphen` | `VendorPropertiesFallback` | `VendorPropertiesHyphenFallback` |
+| **`Obsolete`** | `ObsoleteProperties` | `ObsoletePropertiesHyphen` | `ObsoletePropertiesFallback` | `ObsoletePropertiesHyphenFallback` |
+| **`Svg`** | `SvgProperties` | `SvgPropertiesHyphen` | `SvgPropertiesFallback` | `SvgPropertiesHyphenFallback` |
+
+Categories:
+
+- **All** - Includes `Standard`, `Vendor`, `Obsolete` and `Svg`
+- **`Standard`** - Current properties and extends subcategories `StandardLonghand` and `StandardShorthand` _(e.g. `StandardShorthandProperties`)_
+- **`Vendor`** - Vendor prefixed properties and extends subcategories `VendorLonghand` and `VendorShorthand` _(e.g. `VendorShorthandProperties`)_
+- **`Obsolete`** - Removed or deprecated properties
+- **`Svg`** - SVG-specific properties
+
+Variations:
+
+- **Default** - JavaScript (camel) cased property names
+- **`Hyphen`** - CSS (kebab) cased property names
+- **`Fallback`** - Also accepts array of values e.g. `string | string[]`
+
+## At-rule types
+
+At-rule interfaces with descriptors.
+
+**TypeScript**: These will be found in the `AtRule` namespace, e.g. `AtRule.Viewport`.
+**Flow**: These will be prefixed with `AtRule$`, e.g. `AtRule$Viewport`.
+
+| | Default | `Hyphen` | `Fallback` | `HyphenFallback` |
+| -------------------- | -------------- | -------------------- | ---------------------- | ---------------------------- |
+| **`@counter-style`** | `CounterStyle` | `CounterStyleHyphen` | `CounterStyleFallback` | `CounterStyleHyphenFallback` |
+| **`@font-face`** | `FontFace` | `FontFaceHyphen` | `FontFaceFallback` | `FontFaceHyphenFallback` |
+| **`@viewport`** | `Viewport` | `ViewportHyphen` | `ViewportFallback` | `ViewportHyphenFallback` |
+
+## Pseudo types
+
+String literals of pseudo classes and pseudo elements
+
+- `Pseudos`
+
+ Extends:
+
+ - `AdvancedPseudos`
+
+ Function-like pseudos e.g. `:not(:first-child)`. The string literal contains the value excluding the parenthesis: `:not`. These are separated because they require an argument that results in infinite number of variations.
+
+ - `SimplePseudos`
+
+ Plain pseudos e.g. `:hover` that can only be **one** variation.
+
+## Generics
+
+All interfaces has two optional generic argument to define length and time: `CSS.Properties`
+
+- **Length** is the first generic parameter and defaults to `string | 0` because `0` is the only [length where the unit identifier is optional](https://drafts.csswg.org/css-values-3/#lengths). You can specify this, e.g. `string | number`, for platforms and libraries that accepts any numeric value as length with a specific unit.
+ ```tsx
+ const style: CSS.Properties = {
+ width: 100,
+ };
+ ```
+- **Time** is the second generic argument and defaults to `string`. You can specify this, e.g. `string | number`, for platforms and libraries that accepts any numeric value as length with a specific unit.
+ ```tsx
+ const style: CSS.Properties = {
+ transitionDuration: 1000,
+ };
+ ```
+
+## Usage
+
+```ts
+import * as CSS from 'csstype';
+
+const style: CSS.Properties = {
+ width: '10px',
+ margin: '1em',
+};
+```
+
+In some cases, like for CSS-in-JS libraries, an array of values is a way to provide fallback values in CSS. Using `CSS.PropertiesFallback` instead of `CSS.Properties` will add the possibility to use any property value as an array of values.
+
+```ts
+import * as CSS from 'csstype';
+
+const style: CSS.PropertiesFallback = {
+ display: ['-webkit-flex', 'flex'],
+ color: 'white',
+};
+```
+
+There's even string literals for pseudo selectors and elements.
+
+```ts
+import * as CSS from 'csstype';
+
+const pseudos: { [P in CSS.SimplePseudos]?: CSS.Properties } = {
+ ':hover': {
+ display: 'flex',
+ },
+};
+```
+
+Hyphen cased (kebab cased) properties are provided in `CSS.PropertiesHyphen` and `CSS.PropertiesHyphenFallback`. It's not **not** added by default in `CSS.Properties`. To allow both of them, you can simply extend with `CSS.PropertiesHyphen` or/and `CSS.PropertiesHyphenFallback`.
+
+```ts
+import * as CSS from 'csstype';
+
+interface Style extends CSS.Properties, CSS.PropertiesHyphen {}
+
+const style: Style = {
+ 'flex-grow': 1,
+ 'flex-shrink': 0,
+ 'font-weight': 'normal',
+ backgroundColor: 'white',
+};
+```
+
+Adding type checked CSS properties to a `HTMLElement`.
+
+```ts
+import * as CSS from 'csstype';
+
+const style: CSS.Properties = {
+ color: 'red',
+ margin: '1em',
+};
+
+let button = document.createElement('button');
+
+Object.assign(button.style, style);
+```
+
+## What should I do when I get type errors?
+
+The goal is to have as perfect types as possible and we're trying to do our best. But with CSS Custom Properties, the CSS specification changing frequently and vendors implementing their own specifications with new releases sometimes causes type errors even if it should work. Here's some steps you could take to get it fixed:
+
+_If you're using CSS Custom Properties you can step directly to step 3._
+
+1. **First of all, make sure you're doing it right.** A type error could also indicate that you're not :wink:
+
+ - Some CSS specs that some vendors has implemented could have been officially rejected or haven't yet received any official acceptance and are therefor not included
+ - If you're using TypeScript, [type widening](https://blog.mariusschulz.com/2017/02/04/TypeScript-2-1-literal-type-widening) could be the reason you get `Type 'string' is not assignable to...` errors
+
+2. **Have a look in [issues](https://github.com/frenic/csstype/issues) to see if an issue already has been filed. If not, create a new one.** To help us out, please refer to any information you have found.
+3. Fix the issue locally with **TypeScript** (Flow further down):
+
+ - The recommended way is to use **module augmentation**. Here's a few examples:
+
+ ```ts
+ // My css.d.ts file
+ import * as CSS from 'csstype';
+
+ declare module 'csstype' {
+ interface Properties {
+ // Add a missing property
+ WebkitRocketLauncher?: string;
+
+ // Add a CSS Custom Property
+ '--theme-color'?: 'black' | 'white';
+
+ // ...or allow any other property
+ [index: string]: any;
+ }
+ }
+ ```
+
+ - The alternative way is to use **type assertion**. Here's a few examples:
+
+ ```ts
+ const style: CSS.Properties = {
+ // Add a missing property
+ ['WebkitRocketLauncher' as any]: 'launching',
+
+ // Add a CSS Custom Property
+ ['--theme-color' as any]: 'black',
+ };
+ ```
+
+ Fix the issue locally with **Flow**:
+
+ - Use **type assertion**. Here's a few examples:
+
+ ```js
+ const style: $Exact> = {
+ // Add a missing property
+ [('WebkitRocketLauncher': any)]: 'launching',
+
+ // Add a CSS Custom Property
+ [('--theme-color': any)]: 'black',
+ };
+ ```
+
+## Version 3.0
+
+- **All property types are exposed with namespace**
+ TypeScript: `Property.AlignContent` (was `AlignContentProperty` before)
+ Flow: `Property$AlignContent`
+- **All at-rules are exposed with namespace**
+ TypeScript: `AtRule.FontFace` (was `FontFace` before)
+ Flow: `AtRule$FontFace`
+- **Data types are NOT exposed**
+ E.g. `Color` and `Box`. Because the generation of data types may suddenly be removed or renamed.
+- **TypeScript hack for autocompletion**
+ Uses `(string & {})` for literal string unions and `(number & {})` for literal number unions ([related issue](https://github.com/microsoft/TypeScript/issues/29729)). Utilize `PropertyValue` to unpack types from e.g. `(string & {})` to `string`.
+- **New generic for time**
+ Read more on the ["Generics"](#generics) section.
+- **Flow types improvements**
+ Flow Strict enabled and exact types are used.
+
+## Contributing
+
+**Never modify `index.d.ts` and `index.js.flow` directly. They are generated automatically and committed so that we can easily follow any change it results in.** Therefor it's important that you run `$ git config merge.ours.driver true` after you've forked and cloned. That setting prevents merge conflicts when doing rebase.
+
+### Commands
+
+- `npm run build` Generates typings and type checks them
+- `npm run watch` Runs build on each save
+- `npm run test` Runs the tests
+- `npm run lazy` Type checks, lints and formats everything
diff --git a/src/node_modules/csstype/index.d.ts b/src/node_modules/csstype/index.d.ts
new file mode 100644
index 0000000..21b660e
--- /dev/null
+++ b/src/node_modules/csstype/index.d.ts
@@ -0,0 +1,20512 @@
+export {};
+
+export type PropertyValue = TValue extends Array
+ ? Array
+ : TValue extends infer TUnpacked & {}
+ ? TUnpacked
+ : TValue;
+
+export type Fallback = { [P in keyof T]: T[P] | NonNullable[] };
+
+export interface StandardLonghandProperties {
+ /**
+ * The **`accent-color`** CSS property sets the color of the elements accent. An accent appears in elements such as ` ` of `type="checkbox"`, or `type="radio"`.
+ *
+ * **Syntax**: `auto | `
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **93** | **92** | No | **93** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/accent-color
+ */
+ accentColor?: Property.AccentColor | undefined;
+ /**
+ * The CSS **`align-content`** property sets the distribution of space between and around content items along a flexbox's cross-axis or a grid's block axis.
+ *
+ * **Syntax**: `normal | | | ? `
+ *
+ * **Initial value**: `normal`
+ *
+ * ---
+ *
+ * _Supported in Flex Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :------: | :-----: | :-----: | :----: | :----: |
+ * | **29** | **28** | **9** | **12** | **11** |
+ * | 21 _-x-_ | | 7 _-x-_ | | |
+ *
+ * ---
+ *
+ * _Supported in Grid Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **57** | **52** | **10.1** | **16** | No |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/align-content
+ */
+ alignContent?: Property.AlignContent | undefined;
+ /**
+ * The CSS **`align-items`** property sets the `align-self` value on all direct children as a group. In Flexbox, it controls the alignment of items on the Cross Axis. In Grid Layout, it controls the alignment of items on the Block Axis within their grid area.
+ *
+ * **Syntax**: `normal | stretch | | [ ? ]`
+ *
+ * **Initial value**: `normal`
+ *
+ * ---
+ *
+ * _Supported in Flex Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :------: | :-----: | :-----: | :----: | :----: |
+ * | **52** | **20** | **9** | **12** | **11** |
+ * | 21 _-x-_ | | 7 _-x-_ | | |
+ *
+ * ---
+ *
+ * _Supported in Grid Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **57** | **52** | **10.1** | **16** | No |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/align-items
+ */
+ alignItems?: Property.AlignItems | undefined;
+ /**
+ * The **`align-self`** CSS property overrides a grid or flex item's `align-items` value. In Grid, it aligns the item inside the grid area. In Flexbox, it aligns the item on the cross axis.
+ *
+ * **Syntax**: `auto | normal | stretch | | ? `
+ *
+ * **Initial value**: `auto`
+ *
+ * ---
+ *
+ * _Supported in Flex Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :------: | :-----: | :-------: | :----: | :----: |
+ * | **36** | **20** | **9** | **12** | **11** |
+ * | 21 _-x-_ | | 6.1 _-x-_ | | |
+ *
+ * ---
+ *
+ * _Supported in Grid Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :----------: |
+ * | **57** | **52** | **10.1** | **16** | **10** _-x-_ |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/align-self
+ */
+ alignSelf?: Property.AlignSelf | undefined;
+ /**
+ * The **`align-tracks`** CSS property sets the alignment in the masonry axis for grid containers that have masonry in their block axis.
+ *
+ * **Syntax**: `[ normal | | | ? ]#`
+ *
+ * **Initial value**: `normal`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :--: | :-: |
+ * | No | n/a | No | No | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/align-tracks
+ */
+ alignTracks?: Property.AlignTracks | undefined;
+ /**
+ * The **`animation-delay`** CSS property specifies the amount of time to wait from applying the animation to an element before beginning to perform the animation. The animation can start later, immediately from its beginning, or immediately and partway through the animation.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `0s`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-delay
+ */
+ animationDelay?: Property.AnimationDelay | undefined;
+ /**
+ * The **`animation-direction`** CSS property sets whether an animation should play forward, backward, or alternate back and forth between playing the sequence forward and backward.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `normal`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-direction
+ */
+ animationDirection?: Property.AnimationDirection | undefined;
+ /**
+ * The **`animation-duration`** CSS property sets the length of time that an animation takes to complete one cycle.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `0s`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-duration
+ */
+ animationDuration?: Property.AnimationDuration | undefined;
+ /**
+ * The **`animation-fill-mode`** CSS property sets how a CSS animation applies styles to its target before and after its execution.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 5 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-fill-mode
+ */
+ animationFillMode?: Property.AnimationFillMode | undefined;
+ /**
+ * The **`animation-iteration-count`** CSS property sets the number of times an animation sequence should be played before stopping.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `1`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-iteration-count
+ */
+ animationIterationCount?: Property.AnimationIterationCount | undefined;
+ /**
+ * The **`animation-name`** CSS property specifies the names of one or more `@keyframes` at-rules describing the animation or animations to apply to the element.
+ *
+ * **Syntax**: `[ none | ]#`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-name
+ */
+ animationName?: Property.AnimationName | undefined;
+ /**
+ * The **`animation-play-state`** CSS property sets whether an animation is running or paused.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `running`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-play-state
+ */
+ animationPlayState?: Property.AnimationPlayState | undefined;
+ /**
+ * The **`animation-timing-function`** CSS property sets how an animation progresses through the duration of each cycle.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `ease`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **43** | **16** | **9** | **12** | **10** |
+ * | 3 _-x-_ | 5 _-x-_ | 4 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/animation-timing-function
+ */
+ animationTimingFunction?: Property.AnimationTimingFunction | undefined;
+ /**
+ * The `**appearance**` CSS property is used to display an element using platform-native styling, based on the operating system's theme. The **`-moz-appearance`** and **`-webkit-appearance`** properties are non-standard versions of this property, used (respectively) by Gecko (Firefox) and by WebKit-based (e.g., Safari) and Blink-based (e.g., Chrome, Opera) browsers to achieve the same thing. Note that Firefox and Edge also support **`-webkit-appearance`**, for compatibility reasons.
+ *
+ * **Syntax**: `none | auto | textfield | menulist-button | `
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :---------: | :------: | :-: |
+ * | **84** | **80** | **3** _-x-_ | **84** | No |
+ * | 1 _-x-_ | 1 _-x-_ | | 12 _-x-_ | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/appearance
+ */
+ appearance?: Property.Appearance | undefined;
+ /**
+ * The **`aspect-ratio`** CSS property sets a **preferred aspect ratio** for the box, which will be used in the calculation of auto sizes and some other layout functions.
+ *
+ * **Syntax**: `auto | `
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **88** | **89** | **15** | **88** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/aspect-ratio
+ */
+ aspectRatio?: Property.AspectRatio | undefined;
+ /**
+ * The **`backdrop-filter`** CSS property lets you apply graphical effects such as blurring or color shifting to the area behind an element. Because it applies to everything _behind_ the element, to see the effect you must make the element or its background at least partially transparent.
+ *
+ * **Syntax**: `none | `
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :---------: | :----: | :-: |
+ * | **76** | n/a | **9** _-x-_ | **17** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/backdrop-filter
+ */
+ backdropFilter?: Property.BackdropFilter | undefined;
+ /**
+ * The **`backface-visibility`** CSS property sets whether the back face of an element is visible when turned towards the user.
+ *
+ * **Syntax**: `visible | hidden`
+ *
+ * **Initial value**: `visible`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :------: | :------: | :-----------: | :----: | :----: |
+ * | **36** | **16** | **5.1** _-x-_ | **12** | **10** |
+ * | 12 _-x-_ | 10 _-x-_ | | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/backface-visibility
+ */
+ backfaceVisibility?: Property.BackfaceVisibility | undefined;
+ /**
+ * The **`background-attachment`** CSS property sets whether a background image's position is fixed within the viewport, or scrolls with its containing block.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `scroll`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-attachment
+ */
+ backgroundAttachment?: Property.BackgroundAttachment | undefined;
+ /**
+ * The **`background-blend-mode`** CSS property sets how an element's background images should blend with each other and with the element's background color.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `normal`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **35** | **30** | **8** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-blend-mode
+ */
+ backgroundBlendMode?: Property.BackgroundBlendMode | undefined;
+ /**
+ * The **`background-clip`** CSS property sets whether an element's background extends underneath its border box, padding box, or content box.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `border-box`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :---------: | :----: | :---: |
+ * | **1** | **4** | **3** _-x-_ | **12** | **9** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-clip
+ */
+ backgroundClip?: Property.BackgroundClip | undefined;
+ /**
+ * The **`background-color`** CSS property sets the background color of an element.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `transparent`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-color
+ */
+ backgroundColor?: Property.BackgroundColor | undefined;
+ /**
+ * The **`background-image`** CSS property sets one or more background images on an element.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-image
+ */
+ backgroundImage?: Property.BackgroundImage | undefined;
+ /**
+ * The **`background-origin`** CSS property sets the background's origin: from the border start, inside the border, or inside the padding.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `padding-box`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **4** | **3** | **12** | **9** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-origin
+ */
+ backgroundOrigin?: Property.BackgroundOrigin | undefined;
+ /**
+ * The **`background-position-x`** CSS property sets the initial horizontal position for each background image. The position is relative to the position layer set by `background-origin`.
+ *
+ * **Syntax**: `[ center | [ [ left | right | x-start | x-end ]? ? ]! ]#`
+ *
+ * **Initial value**: `left`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **49** | **1** | **12** | **6** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-position-x
+ */
+ backgroundPositionX?: Property.BackgroundPositionX | undefined;
+ /**
+ * The **`background-position-y`** CSS property sets the initial vertical position for each background image. The position is relative to the position layer set by `background-origin`.
+ *
+ * **Syntax**: `[ center | [ [ top | bottom | y-start | y-end ]? ? ]! ]#`
+ *
+ * **Initial value**: `top`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **49** | **1** | **12** | **6** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-position-y
+ */
+ backgroundPositionY?: Property.BackgroundPositionY | undefined;
+ /**
+ * The **`background-repeat`** CSS property sets how background images are repeated. A background image can be repeated along the horizontal and vertical axes, or not repeated at all.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `repeat`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-repeat
+ */
+ backgroundRepeat?: Property.BackgroundRepeat | undefined;
+ /**
+ * The **`background-size`** CSS property sets the size of the element's background image. The image can be left to its natural size, stretched, or constrained to fit the available space.
+ *
+ * **Syntax**: `#`
+ *
+ * **Initial value**: `auto auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **3** | **4** | **5** | **12** | **9** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/background-size
+ */
+ backgroundSize?: Property.BackgroundSize | undefined;
+ /**
+ * **Syntax**: `clip | ellipsis | `
+ *
+ * **Initial value**: `clip`
+ */
+ blockOverflow?: Property.BlockOverflow | undefined;
+ /**
+ * The **`block-size`** CSS property defines the horizontal or vertical size of an element's block, depending on its writing mode. It corresponds to either the `width` or the `height` property, depending on the value of `writing-mode`.
+ *
+ * **Syntax**: `<'width'>`
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **57** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/block-size
+ */
+ blockSize?: Property.BlockSize | undefined;
+ /**
+ * The **`border-block-color`** CSS property defines the color of the logical block borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-color'>{1,2}`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **87** | **66** | **14.1** | **87** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-color
+ */
+ borderBlockColor?: Property.BorderBlockColor | undefined;
+ /**
+ * The **`border-block-end-color`** CSS property defines the color of the logical block-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-color'>`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-color
+ */
+ borderBlockEndColor?: Property.BorderBlockEndColor | undefined;
+ /**
+ * The **`border-block-end-style`** CSS property defines the style of the logical block-end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-style
+ */
+ borderBlockEndStyle?: Property.BorderBlockEndStyle | undefined;
+ /**
+ * The **`border-block-end-width`** CSS property defines the width of the logical block-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-end-width
+ */
+ borderBlockEndWidth?: Property.BorderBlockEndWidth | undefined;
+ /**
+ * The **`border-block-start-color`** CSS property defines the color of the logical block-start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-color'>`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-color
+ */
+ borderBlockStartColor?: Property.BorderBlockStartColor | undefined;
+ /**
+ * The **`border-block-start-style`** CSS property defines the style of the logical block start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-style
+ */
+ borderBlockStartStyle?: Property.BorderBlockStartStyle | undefined;
+ /**
+ * The **`border-block-start-width`** CSS property defines the width of the logical block-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-start-width
+ */
+ borderBlockStartWidth?: Property.BorderBlockStartWidth | undefined;
+ /**
+ * The **`border-block-style`** CSS property defines the style of the logical block borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **87** | **66** | **14.1** | **87** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-style
+ */
+ borderBlockStyle?: Property.BorderBlockStyle | undefined;
+ /**
+ * The **`border-block-width`** CSS property defines the width of the logical block borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and `border-bottom-width`, or `border-left-width`, and `border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **87** | **66** | **14.1** | **87** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-block-width
+ */
+ borderBlockWidth?: Property.BorderBlockWidth | undefined;
+ /**
+ * The **`border-bottom-color`** CSS property sets the color of an element's bottom border. It can also be set with the shorthand CSS properties `border-color` or `border-bottom`.
+ *
+ * **Syntax**: `<'border-top-color'>`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-color
+ */
+ borderBottomColor?: Property.BorderBottomColor | undefined;
+ /**
+ * The **`border-bottom-left-radius`** CSS property rounds the bottom-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **4** | **4** | **5** | **12** | **9** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-left-radius
+ */
+ borderBottomLeftRadius?: Property.BorderBottomLeftRadius | undefined;
+ /**
+ * The **`border-bottom-right-radius`** CSS property rounds the bottom-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **4** | **4** | **5** | **12** | **9** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-right-radius
+ */
+ borderBottomRightRadius?: Property.BorderBottomRightRadius | undefined;
+ /**
+ * The **`border-bottom-style`** CSS property sets the line style of an element's bottom `border`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-----: |
+ * | **1** | **1** | **1** | **12** | **5.5** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-style
+ */
+ borderBottomStyle?: Property.BorderBottomStyle | undefined;
+ /**
+ * The **`border-bottom-width`** CSS property sets the width of the bottom border of an element.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-bottom-width
+ */
+ borderBottomWidth?: Property.BorderBottomWidth | undefined;
+ /**
+ * The **`border-collapse`** CSS property sets whether cells inside a `` have shared or separate borders.
+ *
+ * **Syntax**: `collapse | separate`
+ *
+ * **Initial value**: `separate`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :-----: | :----: | :---: |
+ * | **1** | **1** | **1.2** | **12** | **5** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-collapse
+ */
+ borderCollapse?: Property.BorderCollapse | undefined;
+ /**
+ * The **`border-end-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **89** | **66** | **15** | **89** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-end-end-radius
+ */
+ borderEndEndRadius?: Property.BorderEndEndRadius | undefined;
+ /**
+ * The **`border-end-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **89** | **66** | **15** | **89** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-end-start-radius
+ */
+ borderEndStartRadius?: Property.BorderEndStartRadius | undefined;
+ /**
+ * The **`border-image-outset`** CSS property sets the distance by which an element's border image is set out from its border box.
+ *
+ * **Syntax**: `[ | ]{1,4}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **15** | **15** | **6** | **12** | **11** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-image-outset
+ */
+ borderImageOutset?: Property.BorderImageOutset | undefined;
+ /**
+ * The **`border-image-repeat`** CSS property defines how the edge regions of a source image are adjusted to fit the dimensions of an element's border image.
+ *
+ * **Syntax**: `[ stretch | repeat | round | space ]{1,2}`
+ *
+ * **Initial value**: `stretch`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **15** | **15** | **6** | **12** | **11** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-image-repeat
+ */
+ borderImageRepeat?: Property.BorderImageRepeat | undefined;
+ /**
+ * The **`border-image-slice`** CSS property divides the image specified by `border-image-source` into regions. These regions form the components of an element's border image.
+ *
+ * **Syntax**: `{1,4} && fill?`
+ *
+ * **Initial value**: `100%`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **15** | **15** | **6** | **12** | **11** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-image-slice
+ */
+ borderImageSlice?: Property.BorderImageSlice | undefined;
+ /**
+ * The **`border-image-source`** CSS property sets the source image used to create an element's border image.
+ *
+ * **Syntax**: `none | `
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **15** | **15** | **6** | **12** | **11** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-image-source
+ */
+ borderImageSource?: Property.BorderImageSource | undefined;
+ /**
+ * The **`border-image-width`** CSS property sets the width of an element's border image.
+ *
+ * **Syntax**: `[ | | auto ]{1,4}`
+ *
+ * **Initial value**: `1`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **15** | **13** | **6** | **12** | **11** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-image-width
+ */
+ borderImageWidth?: Property.BorderImageWidth | undefined;
+ /**
+ * The **`border-inline-color`** CSS property defines the color of the logical inline borders of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color` and `border-bottom-color`, or `border-right-color` and `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-color'>{1,2}`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **87** | **66** | **14.1** | **87** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-color
+ */
+ borderInlineColor?: Property.BorderInlineColor | undefined;
+ /**
+ * The **`border-inline-end-color`** CSS property defines the color of the logical inline-end border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-color'>`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-------------------------: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ * | | 3 _(-moz-border-end-color)_ | | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-color
+ */
+ borderInlineEndColor?: Property.BorderInlineEndColor | undefined;
+ /**
+ * The **`border-inline-end-style`** CSS property defines the style of the logical inline end border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-------------------------: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ * | | 3 _(-moz-border-end-style)_ | | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-style
+ */
+ borderInlineEndStyle?: Property.BorderInlineEndStyle | undefined;
+ /**
+ * The **`border-inline-end-width`** CSS property defines the width of the logical inline-end border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-------------------------: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ * | | 3 _(-moz-border-end-width)_ | | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-end-width
+ */
+ borderInlineEndWidth?: Property.BorderInlineEndWidth | undefined;
+ /**
+ * The **`border-inline-start-color`** CSS property defines the color of the logical inline start border of an element, which maps to a physical border color depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-color`, `border-right-color`, `border-bottom-color`, or `border-left-color` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-color'>`
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :---------------------------: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ * | | 3 _(-moz-border-start-color)_ | | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-color
+ */
+ borderInlineStartColor?: Property.BorderInlineStartColor | undefined;
+ /**
+ * The **`border-inline-start-style`** CSS property defines the style of the logical inline start border of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style`, `border-right-style`, `border-bottom-style`, or `border-left-style` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :---------------------------: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ * | | 3 _(-moz-border-start-style)_ | | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-style
+ */
+ borderInlineStartStyle?: Property.BorderInlineStartStyle | undefined;
+ /**
+ * The **`border-inline-start-width`** CSS property defines the width of the logical inline-start border of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width`, `border-right-width`, `border-bottom-width`, or `border-left-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **69** | **41** | **12.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-start-width
+ */
+ borderInlineStartWidth?: Property.BorderInlineStartWidth | undefined;
+ /**
+ * The **`border-inline-style`** CSS property defines the style of the logical inline borders of an element, which maps to a physical border style depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-style` and `border-bottom-style`, or `border-left-style` and `border-right-style` properties depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **87** | **66** | **14.1** | **87** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-style
+ */
+ borderInlineStyle?: Property.BorderInlineStyle | undefined;
+ /**
+ * The **`border-inline-width`** CSS property defines the width of the logical inline borders of an element, which maps to a physical border width depending on the element's writing mode, directionality, and text orientation. It corresponds to the `border-top-width` and `border-bottom-width`, or `border-left-width`, and `border-right-width` property depending on the values defined for `writing-mode`, `direction`, and `text-orientation`.
+ *
+ * **Syntax**: `<'border-top-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **87** | **66** | **14.1** | **87** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-inline-width
+ */
+ borderInlineWidth?: Property.BorderInlineWidth | undefined;
+ /**
+ * The **`border-left-color`** CSS property sets the color of an element's left border. It can also be set with the shorthand CSS properties `border-color` or `border-left`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-left-color
+ */
+ borderLeftColor?: Property.BorderLeftColor | undefined;
+ /**
+ * The **`border-left-style`** CSS property sets the line style of an element's left `border`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-----: |
+ * | **1** | **1** | **1** | **12** | **5.5** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-left-style
+ */
+ borderLeftStyle?: Property.BorderLeftStyle | undefined;
+ /**
+ * The **`border-left-width`** CSS property sets the width of the left border of an element.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-left-width
+ */
+ borderLeftWidth?: Property.BorderLeftWidth | undefined;
+ /**
+ * The **`border-right-color`** CSS property sets the color of an element's right border. It can also be set with the shorthand CSS properties `border-color` or `border-right`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-right-color
+ */
+ borderRightColor?: Property.BorderRightColor | undefined;
+ /**
+ * The **`border-right-style`** CSS property sets the line style of an element's right `border`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-----: |
+ * | **1** | **1** | **1** | **12** | **5.5** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-right-style
+ */
+ borderRightStyle?: Property.BorderRightStyle | undefined;
+ /**
+ * The **`border-right-width`** CSS property sets the width of the right border of an element.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-right-width
+ */
+ borderRightWidth?: Property.BorderRightWidth | undefined;
+ /**
+ * The **`border-spacing`** CSS property sets the distance between the borders of adjacent `` cells. This property applies only when `border-collapse` is `separate`.
+ *
+ * **Syntax**: ` ?`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **8** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-spacing
+ */
+ borderSpacing?: Property.BorderSpacing | undefined;
+ /**
+ * The **`border-start-end-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius depending on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **89** | **66** | **15** | **89** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-start-end-radius
+ */
+ borderStartEndRadius?: Property.BorderStartEndRadius | undefined;
+ /**
+ * The **`border-start-start-radius`** CSS property defines a logical border radius on an element, which maps to a physical border radius that depends on the element's `writing-mode`, `direction`, and `text-orientation`. This is useful when building styles to work regardless of the text orientation and writing mode.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **89** | **66** | **15** | **89** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-start-start-radius
+ */
+ borderStartStartRadius?: Property.BorderStartStartRadius | undefined;
+ /**
+ * The **`border-top-color`** CSS property sets the color of an element's top border. It can also be set with the shorthand CSS properties `border-color` or `border-top`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-top-color
+ */
+ borderTopColor?: Property.BorderTopColor | undefined;
+ /**
+ * The **`border-top-left-radius`** CSS property rounds the top-left corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **4** | **4** | **5** | **12** | **9** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-top-left-radius
+ */
+ borderTopLeftRadius?: Property.BorderTopLeftRadius | undefined;
+ /**
+ * The **`border-top-right-radius`** CSS property rounds the top-right corner of an element by specifying the radius (or the radius of the semi-major and semi-minor axes) of the ellipse defining the curvature of the corner.
+ *
+ * **Syntax**: `{1,2}`
+ *
+ * **Initial value**: `0`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **4** | **4** | **5** | **12** | **9** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-top-right-radius
+ */
+ borderTopRightRadius?: Property.BorderTopRightRadius | undefined;
+ /**
+ * The **`border-top-style`** CSS property sets the line style of an element's top `border`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-----: |
+ * | **1** | **1** | **1** | **12** | **5.5** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-top-style
+ */
+ borderTopStyle?: Property.BorderTopStyle | undefined;
+ /**
+ * The **`border-top-width`** CSS property sets the width of the top border of an element.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/border-top-width
+ */
+ borderTopWidth?: Property.BorderTopWidth | undefined;
+ /**
+ * The **`bottom`** CSS property participates in setting the vertical position of a positioned element. It has no effect on non-positioned elements.
+ *
+ * **Syntax**: ` | | auto`
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **5** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/bottom
+ */
+ bottom?: Property.Bottom | undefined;
+ /**
+ * The **`box-decoration-break`** CSS property specifies how an element's fragments should be rendered when broken across multiple lines, columns, or pages.
+ *
+ * **Syntax**: `slice | clone`
+ *
+ * **Initial value**: `slice`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----------: | :-----: | :---------: | :----------: | :-: |
+ * | **22** _-x-_ | **32** | **7** _-x-_ | **79** _-x-_ | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/box-decoration-break
+ */
+ boxDecorationBreak?: Property.BoxDecorationBreak | undefined;
+ /**
+ * The **`box-shadow`** CSS property adds shadow effects around an element's frame. You can set multiple effects separated by commas. A box shadow is described by X and Y offsets relative to the element, blur and spread radius, and color.
+ *
+ * **Syntax**: `none | #`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **10** | **4** | **5.1** | **12** | **9** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/box-shadow
+ */
+ boxShadow?: Property.BoxShadow | undefined;
+ /**
+ * The **`box-sizing`** CSS property sets how the total width and height of an element is calculated.
+ *
+ * **Syntax**: `content-box | border-box`
+ *
+ * **Initial value**: `content-box`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :---: |
+ * | **10** | **29** | **5.1** | **12** | **8** |
+ * | 1 _-x-_ | 1 _-x-_ | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/box-sizing
+ */
+ boxSizing?: Property.BoxSizing | undefined;
+ /**
+ * The **`break-after`** CSS property sets how page, column, or region breaks should behave after a generated box. If there is no generated box, the property is ignored.
+ *
+ * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
+ *
+ * **Initial value**: `auto`
+ *
+ * ---
+ *
+ * _Supported in Multi-column Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **50** | **65** | No | **12** | **10** |
+ *
+ * ---
+ *
+ * _Supported in Paged Media_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **50** | **65** | **10** | **12** | **10** |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/break-after
+ */
+ breakAfter?: Property.BreakAfter | undefined;
+ /**
+ * The **`break-before`** CSS property sets how page, column, or region breaks should behave before a generated box. If there is no generated box, the property is ignored.
+ *
+ * **Syntax**: `auto | avoid | always | all | avoid-page | page | left | right | recto | verso | avoid-column | column | avoid-region | region`
+ *
+ * **Initial value**: `auto`
+ *
+ * ---
+ *
+ * _Supported in Multi-column Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **50** | **65** | No | **12** | **10** |
+ *
+ * ---
+ *
+ * _Supported in Paged Media_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **50** | **65** | **10** | **12** | **10** |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/break-before
+ */
+ breakBefore?: Property.BreakBefore | undefined;
+ /**
+ * The **`break-inside`** CSS property sets how page, column, or region breaks should behave inside a generated box. If there is no generated box, the property is ignored.
+ *
+ * **Syntax**: `auto | avoid | avoid-page | avoid-column | avoid-region`
+ *
+ * **Initial value**: `auto`
+ *
+ * ---
+ *
+ * _Supported in Multi-column Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **50** | **65** | **10** | **12** | **10** |
+ *
+ * ---
+ *
+ * _Supported in Paged Media_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :----: |
+ * | **50** | **65** | **10** | **12** | **10** |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/break-inside
+ */
+ breakInside?: Property.BreakInside | undefined;
+ /**
+ * The **`caption-side`** CSS property puts the content of a table's `` on the specified side. The values are relative to the `writing-mode` of the table.
+ *
+ * **Syntax**: `top | bottom | block-start | block-end | inline-start | inline-end`
+ *
+ * **Initial value**: `top`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **8** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/caption-side
+ */
+ captionSide?: Property.CaptionSide | undefined;
+ /**
+ * The **`caret-color`** CSS property sets the color of the **insertion caret**, the visible marker where the next character typed will be inserted. This is sometimes referred to as the **text input cursor**. The caret appears in elements such as ` ` or those with the `contenteditable` attribute. The caret is typically a thin vertical line that flashes to help make it more noticeable. By default, it is black, but its color can be altered with this property.
+ *
+ * **Syntax**: `auto | `
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **57** | **53** | **11.1** | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/caret-color
+ */
+ caretColor?: Property.CaretColor | undefined;
+ /**
+ * The **`clear`** CSS property sets whether an element must be moved below (cleared) floating elements that precede it. The `clear` property applies to floating and non-floating elements.
+ *
+ * **Syntax**: `none | left | right | both | inline-start | inline-end`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **4** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/clear
+ */
+ clear?: Property.Clear | undefined;
+ /**
+ * The `**clip-path**` CSS property creates a clipping region that sets what part of an element should be shown. Parts that are inside the region are shown, while those outside are hidden.
+ *
+ * **Syntax**: ` | [ || ] | none`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :------: | :-----: | :-------: | :----: | :----: |
+ * | **55** | **3.5** | **9.1** | **12** | **10** |
+ * | 23 _-x-_ | | 6.1 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/clip-path
+ */
+ clipPath?: Property.ClipPath | undefined;
+ /**
+ * The **`color`** CSS property sets the foreground color value of an element's text and text decorations, and sets the `` value. `currentcolor` may be used as an indirect value on _other_ properties and is the default for other color properties, such as `border-color`.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: Varies from one browser to another
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **3** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/color
+ */
+ color?: Property.Color | undefined;
+ /**
+ * The **`color-adjust`** CSS property sets what, if anything, the user agent may do to optimize the appearance of the element on the output device. By default, the browser is allowed to make any adjustments to the element's appearance it determines to be necessary and prudent given the type and capabilities of the output device.
+ *
+ * **Syntax**: `economy | exact`
+ *
+ * **Initial value**: `economy`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----------------------------------: | :-----: | :----------------------------------: | :-----------------------------------: | :-: |
+ * | **49** _(-webkit-print-color-adjust)_ | **48** | **6** _(-webkit-print-color-adjust)_ | **79** _(-webkit-print-color-adjust)_ | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/color-adjust
+ */
+ colorAdjust?: Property.ColorAdjust | undefined;
+ /**
+ * The **`color-scheme`** CSS property allows an element to indicate which color schemes it can comfortably be rendered in.
+ *
+ * **Syntax**: `normal | [ light | dark | ]+`
+ *
+ * **Initial value**: `normal`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **81** | No | **13** | **81** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/color-scheme
+ */
+ colorScheme?: Property.ColorScheme | undefined;
+ /**
+ * The **`column-count`** CSS property breaks an element's content into the specified number of columns.
+ *
+ * **Syntax**: ` | auto`
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **52** | **9** | **12** | **10** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-count
+ */
+ columnCount?: Property.ColumnCount | undefined;
+ /**
+ * The **`column-fill`** CSS property controls how an element's contents are balanced when broken into columns.
+ *
+ * **Syntax**: `auto | balance | balance-all`
+ *
+ * **Initial value**: `balance`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **52** | **9** | **12** | **10** |
+ * | | | 8 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-fill
+ */
+ columnFill?: Property.ColumnFill | undefined;
+ /**
+ * The **`column-gap`** CSS property sets the size of the gap (gutter) between an element's columns.
+ *
+ * **Syntax**: `normal | `
+ *
+ * **Initial value**: `normal`
+ *
+ * ---
+ *
+ * _Supported in Flex Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :------: | :----: | :-: |
+ * | **84** | **63** | **14.1** | **84** | No |
+ *
+ * ---
+ *
+ * _Supported in Grid Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :--------------------: | :--------------------: | :----------------------: | :----: | :-: |
+ * | **66** | **61** | **12** | **16** | No |
+ * | 57 _(grid-column-gap)_ | 52 _(grid-column-gap)_ | 10.1 _(grid-column-gap)_ | | |
+ *
+ * ---
+ *
+ * _Supported in Multi-column Layout_
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **52** | **10** | **12** | **10** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * ---
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-gap
+ */
+ columnGap?: Property.ColumnGap | undefined;
+ /**
+ * The **`column-rule-color`** CSS property sets the color of the line drawn between columns in a multi-column layout.
+ *
+ * **Syntax**: ``
+ *
+ * **Initial value**: `currentcolor`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **52** | **9** | **12** | **10** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-color
+ */
+ columnRuleColor?: Property.ColumnRuleColor | undefined;
+ /**
+ * The **`column-rule-style`** CSS property sets the style of the line drawn between columns in a multi-column layout.
+ *
+ * **Syntax**: `<'border-style'>`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **52** | **9** | **12** | **10** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-style
+ */
+ columnRuleStyle?: Property.ColumnRuleStyle | undefined;
+ /**
+ * The **`column-rule-width`** CSS property sets the width of the line drawn between columns in a multi-column layout.
+ *
+ * **Syntax**: `<'border-width'>`
+ *
+ * **Initial value**: `medium`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **52** | **9** | **12** | **10** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-rule-width
+ */
+ columnRuleWidth?: Property.ColumnRuleWidth | undefined;
+ /**
+ * The **`column-span`** CSS property makes it possible for an element to span across all columns when its value is set to `all`.
+ *
+ * **Syntax**: `none | all`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-------: | :----: | :----: |
+ * | **50** | **71** | **9** | **12** | **10** |
+ * | 6 _-x-_ | | 5.1 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-span
+ */
+ columnSpan?: Property.ColumnSpan | undefined;
+ /**
+ * The **`column-width`** CSS property sets the ideal column width in a multi-column layout. The container will have as many columns as can fit without any of them having a width less than the `column-width` value. If the width of the container is narrower than the specified value, the single column's width will be smaller than the declared column width.
+ *
+ * **Syntax**: ` | auto`
+ *
+ * **Initial value**: `auto`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :-----: | :-----: | :-----: | :----: | :----: |
+ * | **50** | **50** | **9** | **12** | **10** |
+ * | 1 _-x-_ | | 3 _-x-_ | | |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/column-width
+ */
+ columnWidth?: Property.ColumnWidth | undefined;
+ /**
+ * The **`contain`** CSS property allows an author to indicate that an element and its contents are, as much as possible, _independent_ of the rest of the document tree. This allows the browser to recalculate layout, style, paint, size, or any combination of them for a limited area of the DOM and not the entire page, leading to obvious performance benefits.
+ *
+ * **Syntax**: `none | strict | content | [ size || layout || style || paint ]`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **52** | **69** | No | **79** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/contain
+ */
+ contain?: Property.Contain | undefined;
+ /**
+ * The **`content`** CSS property replaces an element with a generated value. Objects inserted using the `content` property are **anonymous replaced elements**_._
+ *
+ * **Syntax**: `normal | none | [ | ] [/ ]?`
+ *
+ * **Initial value**: `normal`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **1** | **1** | **1** | **12** | **8** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/content
+ */
+ content?: Property.Content | undefined;
+ /**
+ * The **`content-visibility`** CSS property controls whether or not an element renders its contents at all, along with forcing a strong set of containments, allowing user agents to potentially omit large swathes of layout and rendering work until it becomes needed. Basically it enables the user agent to skip an element's rendering work, including layout and painting, until it is needed, makes the initial page load much faster.
+ *
+ * **Syntax**: `visible | auto | hidden`
+ *
+ * **Initial value**: `visible`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :-: |
+ * | **85** | No | No | **85** | No |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/content-visibility
+ */
+ contentVisibility?: Property.ContentVisibility | undefined;
+ /**
+ * The **`counter-increment`** CSS property increases or decreases the value of a CSS counter by a given value.
+ *
+ * **Syntax**: `[ ? ]+ | none`
+ *
+ * **Initial value**: `none`
+ *
+ * | Chrome | Firefox | Safari | Edge | IE |
+ * | :----: | :-----: | :----: | :----: | :---: |
+ * | **2** | **1** | **3** | **12** | **8** |
+ *
+ * @see https://developer.mozilla.org/docs/Web/CSS/counter-increment
+ */
+ counterIncrement?: Property.CounterIncrement | undefined;
+ /**
+ * The **`counter-reset`** CSS property resets a CSS counter to a given value.
+ *
+ * **Syntax**: `[