generated from ztimson/template
	Compare commits
	
		
			17 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 33412c61a9 | |||
| 8e3cca4890 | |||
| 035faa69d4 | |||
| 3e48cd5ba2 | |||
| 0363593568 | |||
| 07cf090976 | |||
| 049d3f8a49 | |||
| ed8fb032e5 | |||
| 150bfd7278 | |||
| 715d686171 | |||
| e98ed586f5 | |||
| c046b16b69 | |||
| 344585e6dc | |||
| 0ec350aae7 | |||
| 00f290c861 | |||
| c305577fec | |||
| 103be5f0d8 | 
@@ -14,3 +14,4 @@ COPY --from=build /app/dist /usr/share/nginx/html/dist
 | 
				
			|||||||
COPY src /usr/share/nginx/html/src
 | 
					COPY src /usr/share/nginx/html/src
 | 
				
			||||||
COPY index.html /usr/share/nginx/html
 | 
					COPY index.html /usr/share/nginx/html
 | 
				
			||||||
COPY wave.webp /usr/share/nginx/html
 | 
					COPY wave.webp /usr/share/nginx/html
 | 
				
			||||||
 | 
					COPY favicon.webp /usr/share/nginx/html
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -20,7 +20,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  ---
 | 
					  ---
 | 
				
			||||||
  <div>
 | 
					  <div>
 | 
				
			||||||
    <a href="https://git.zakscode.com/ztimson/css-utils/wiki" target="_blank">Documentation</a>
 | 
					    <a href="https://css.zakscode.com" target="_blank">Documentation</a>
 | 
				
			||||||
    • <a href="https://git.zakscode.com/ztimson/css-utils/releases" target="_blank">Release Notes</a>
 | 
					    • <a href="https://git.zakscode.com/ztimson/css-utils/releases" target="_blank">Release Notes</a>
 | 
				
			||||||
    • <a href="https://git.zakscode.com/ztimson/css-utils/issues/new?template=.github%2fissue_template%2fbug.md" target="_blank">Report a Bug</a>
 | 
					    • <a href="https://git.zakscode.com/ztimson/css-utils/issues/new?template=.github%2fissue_template%2fbug.md" target="_blank">Report a Bug</a>
 | 
				
			||||||
    • <a href="https://git.zakscode.com/ztimson/css-utils/issues/new?template=.github%2fissue_template%2fenhancement.md" target="_blank">Request a Feature</a>
 | 
					    • <a href="https://git.zakscode.com/ztimson/css-utils/issues/new?template=.github%2fissue_template%2fenhancement.md" target="_blank">Request a Feature</a>
 | 
				
			||||||
@@ -36,7 +36,7 @@
 | 
				
			|||||||
  - [Setup](#setup)
 | 
					  - [Setup](#setup)
 | 
				
			||||||
    - [Production](#production)
 | 
					    - [Production](#production)
 | 
				
			||||||
    - [Development](#development)
 | 
					    - [Development](#development)
 | 
				
			||||||
  - [Documentation](#documentation)
 | 
					  - [Documentation](https://css.zakscode.com)
 | 
				
			||||||
  - [License](#license)
 | 
					  - [License](#license)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## About
 | 
					## About
 | 
				
			||||||
@@ -83,6 +83,9 @@ Some extra classes have been added and a few class name changed to match convent
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
</details>
 | 
					</details>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Documentation
 | 
				
			||||||
 | 
					https://css.zaskscode.com
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## License
 | 
					## License
 | 
				
			||||||
Copyright © 2023 Zakary Timson | Available under MIT Licensing
 | 
					Copyright © 2023 Zakary Timson | Available under MIT Licensing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								favicon.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								favicon.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 24 KiB  | 
							
								
								
									
										129
									
								
								index.html
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								index.html
									
									
									
									
									
								
							@@ -6,12 +6,29 @@
 | 
				
			|||||||
		<meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
							<meta name="viewport" content="width=device-width, initial-scale=1.0">
 | 
				
			||||||
		<meta name="description" class="momentum-description" content="Enterprise Resource Planning" />
 | 
							<meta name="description" class="momentum-description" content="Enterprise Resource Planning" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<title>CSS Utils</title>
 | 
							<title>@ztimson/css-utils</title>
 | 
				
			||||||
 | 
							<link href="/favicon.webp" rel="icon">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
 | 
							<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap" rel="stylesheet">
 | 
				
			||||||
		<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
 | 
							<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/default.min.css">
 | 
				
			||||||
		<link href="./dist/css-utils.css" rel="stylesheet">
 | 
							<link href="./dist/css-utils.css" rel="stylesheet">
 | 
				
			||||||
		<style>
 | 
							<style>
 | 
				
			||||||
 | 
								::-webkit-scrollbar {
 | 
				
			||||||
 | 
									width: 6px;
 | 
				
			||||||
 | 
									height: 6px;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								::-webkit-scrollbar-thumb {
 | 
				
			||||||
 | 
									width: 6px;
 | 
				
			||||||
 | 
									height: 6px;
 | 
				
			||||||
 | 
									margin: 0 1px;
 | 
				
			||||||
 | 
									border-radius: 3px;
 | 
				
			||||||
 | 
									background: #777;
 | 
				
			||||||
 | 
									cursor: pointer;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
								::-webkit-scrollbar-corner {
 | 
				
			||||||
 | 
									background: rgba(0,0,0,0);
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			* {
 | 
								* {
 | 
				
			||||||
				font-family: Roboto, sans-serif !important;
 | 
									font-family: Roboto, sans-serif !important;
 | 
				
			||||||
				scroll-behavior: smooth;
 | 
									scroll-behavior: smooth;
 | 
				
			||||||
@@ -33,11 +50,14 @@
 | 
				
			|||||||
			}
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			.animate-example.animated {
 | 
								.animate-example.animated {
 | 
				
			||||||
				left: 110px;
 | 
					 | 
				
			||||||
				background: var(--theme-accent);
 | 
									background: var(--theme-accent);
 | 
				
			||||||
				transform: rotate(180deg);
 | 
									transform: rotate(180deg);
 | 
				
			||||||
				opacity: 25%;
 | 
									opacity: 25%;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 | 
								.animate-example.animated.animate,
 | 
				
			||||||
 | 
								.animate-example.animated.animate-pos {
 | 
				
			||||||
 | 
									left: 110px;
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			.box {
 | 
								.box {
 | 
				
			||||||
				width: 20px;
 | 
									width: 20px;
 | 
				
			||||||
@@ -49,6 +69,7 @@
 | 
				
			|||||||
				display: inline-block;
 | 
									display: inline-block;
 | 
				
			||||||
				padding: 5px;
 | 
									padding: 5px;
 | 
				
			||||||
				background: #f3f3f3;
 | 
									background: #f3f3f3;
 | 
				
			||||||
 | 
									word-break: break-word;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		</style>
 | 
							</style>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -57,9 +78,9 @@
 | 
				
			|||||||
		<script>hljs.highlightAll();</script>
 | 
							<script>hljs.highlightAll();</script>
 | 
				
			||||||
	</head>
 | 
						</head>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	<body class="theme-light p-3 flex-r justify-center">
 | 
						<body class="theme-light p-4 flex-r justify-center">
 | 
				
			||||||
		<div class="clamp flex-c z-1">
 | 
							<div class="clamp flex-c z-1">
 | 
				
			||||||
			<div id="top" class="flex-grow-1 bg-clear shadow p-3">
 | 
								<div id="top" class="flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h1 class="mb-0">@ztimson/css-utils</h1>
 | 
									<h1 class="mb-0">@ztimson/css-utils</h1>
 | 
				
			||||||
				<hr class="mb-3">
 | 
									<hr class="mb-3">
 | 
				
			||||||
				<p>CSS Utils is a css library based on bootstrap. At 1/3 the size, its all the utilities without the bloat.</p>
 | 
									<p>CSS Utils is a css library based on bootstrap. At 1/3 the size, its all the utilities without the bloat.</p>
 | 
				
			||||||
@@ -67,7 +88,7 @@
 | 
				
			|||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<h2 id="setup" class="mt-4 mb-3">Setup</h2>
 | 
								<h2 id="setup" class="mt-4 mb-3">Setup</h2>
 | 
				
			||||||
			<div class="flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="install">Install</h3>
 | 
									<h3 id="install">Install</h3>
 | 
				
			||||||
				<h4>NPM</h4>
 | 
									<h4>NPM</h4>
 | 
				
			||||||
				<pre><code class="language-scss">
 | 
									<pre><code class="language-scss">
 | 
				
			||||||
@@ -88,7 +109,7 @@ npm install @ztimson/css-utils
 | 
				
			|||||||
<link rel="stylesheet" href="https://css.zakscode.com/src/main.scss" ></link>
 | 
					<link rel="stylesheet" href="https://css.zakscode.com/src/main.scss" ></link>
 | 
				
			||||||
				</code></pre>
 | 
									</code></pre>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
			<div class="flex-grow-1 bg-clear shadow p-3 mt-4">
 | 
								<div class="flex-grow-1 bg-container shadow p-3 mt-4">
 | 
				
			||||||
				<h3 id="theming">Theming</h3>
 | 
									<h3 id="theming">Theming</h3>
 | 
				
			||||||
				<p>Theming is minimal since its so opinionated. Its all done through CSS variables allowing runtime manipulation without having to recompile.</p>
 | 
									<p>Theming is minimal since its so opinionated. Its all done through CSS variables allowing runtime manipulation without having to recompile.</p>
 | 
				
			||||||
				<pre><code class="language-scss">
 | 
									<pre><code class="language-scss">
 | 
				
			||||||
@@ -136,7 +157,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<h2 id="utilities" class="mt-4 mb-3">Utilities</h2>
 | 
								<h2 id="utilities" class="mt-4 mb-3">Utilities</h2>
 | 
				
			||||||
			<div class="flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="alignment">Alignment</h3>
 | 
									<h3 id="alignment">Alignment</h3>
 | 
				
			||||||
				<div class="inline-code">.align-[x|y]-[xs|sm|md|lg|xl]-[start|end]</div>
 | 
									<div class="inline-code">.align-[x|y]-[xs|sm|md|lg|xl]-[start|end]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -169,7 +190,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="animations">Animations</h3>
 | 
									<h3 id="animations">Animations</h3>
 | 
				
			||||||
				<div class="inline-code">.animate-[color|none|opacity|pos|trans]</div>
 | 
									<div class="inline-code">.animate-[color|none|opacity|pos|trans]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -233,7 +254,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</script>
 | 
									</script>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="borders">Borders</h3>
 | 
									<h3 id="borders">Borders</h3>
 | 
				
			||||||
				<h4 class="fs-3">Color</h4>
 | 
									<h4 class="fs-3">Color</h4>
 | 
				
			||||||
				<div class="inline-code">.b-[accent|black|danger|info|muted|primary|success|text|warn|white]</div>
 | 
									<div class="inline-code">.b-[accent|black|danger|info|muted|primary|success|text|warn|white]</div>
 | 
				
			||||||
@@ -295,7 +316,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="colors">Colors</h3>
 | 
									<h3 id="colors">Colors</h3>
 | 
				
			||||||
				<h4 class="fs-3">Background</h4>
 | 
									<h4 class="fs-3">Background</h4>
 | 
				
			||||||
				<div class="inline-code">.bg-[accent|backdrop|black|clear|danger|info|muted|primary|success|transparent|text|warn|white]</div>
 | 
									<div class="inline-code">.bg-[accent|backdrop|black|clear|danger|info|muted|primary|success|transparent|text|warn|white]</div>
 | 
				
			||||||
@@ -304,7 +325,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
					<div class="b-1 bg-accent m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-accent</div>
 | 
										<div class="b-1 bg-accent m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-accent</div>
 | 
				
			||||||
					<div class="b-1 bg-backdrop m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-backdrop</div>
 | 
										<div class="b-1 bg-backdrop m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-backdrop</div>
 | 
				
			||||||
					<div class="b-1 bg-black fg-white m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-black</div>
 | 
										<div class="b-1 bg-black fg-white m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-black</div>
 | 
				
			||||||
					<div class="b-1 bg-clear m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-clear</div>
 | 
										<div class="b-1 bg-container m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-container</div>
 | 
				
			||||||
					<div class="b-1 bg-danger m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-danger</div>
 | 
										<div class="b-1 bg-danger m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-danger</div>
 | 
				
			||||||
					<div class="b-1 bg-info m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-info</div>
 | 
										<div class="b-1 bg-info m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-info</div>
 | 
				
			||||||
					<div class="b-1 bg-muted m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-muted</div>
 | 
										<div class="b-1 bg-muted m-2 p-2 inline-code flex-r align-items-center justify-center">.bg-muted</div>
 | 
				
			||||||
@@ -350,7 +371,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="cursors">Cursors</h3>
 | 
									<h3 id="cursors">Cursors</h3>
 | 
				
			||||||
				<div class="inline-code">.curs-[alias|auto|cell|col-resize|copy|crosshair|default|grab|grabbing|help|hover|move|not-allowed|pointer|progress|row-resize|text|none|wait|vertical-text|zoom-in|zoom-out]</div>
 | 
									<div class="inline-code">.curs-[alias|auto|cell|col-resize|copy|crosshair|default|grab|grabbing|help|hover|move|not-allowed|pointer|progress|row-resize|text|none|wait|vertical-text|zoom-in|zoom-out]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -380,12 +401,12 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="display">Display</h3>
 | 
									<h3 id="display">Display</h3>
 | 
				
			||||||
				<div class="inline-code">.d-[xs|sm|md|lg|xl]-[block|flex|grid|inline|inline-block|inline-flex|inline-grid|none|table|table-cell|table-row]</div>
 | 
									<div class="inline-code">.d-[xs|sm|md|lg|xl]-[block|flex|grid|inline|inline-block|inline-flex|inline-grid|none|table|table-cell|table-row]</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="flex">Flex</h3>
 | 
									<h3 id="flex">Flex</h3>
 | 
				
			||||||
				<h4>Direction</h4>
 | 
									<h4>Direction</h4>
 | 
				
			||||||
				<div class="inline-code">.flex-[xs|sm|md|lg|xl]-[c|r|rc|rr]</div>
 | 
									<div class="inline-code">.flex-[xs|sm|md|lg|xl]-[c|r|rc|rr]</div>
 | 
				
			||||||
@@ -554,7 +575,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="float">Float</h3>
 | 
									<h3 id="float">Float</h3>
 | 
				
			||||||
				<div class="inline-code">.float-[xs|sm|md|lg|xl]-[end|none|start]</div>
 | 
									<div class="inline-code">.float-[xs|sm|md|lg|xl]-[end|none|start]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -565,15 +586,15 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="font">Font Style</h3>
 | 
									<h3 id="font">Font Style</h3>
 | 
				
			||||||
				<h4>Decoration</h4>
 | 
									<h4>Decoration</h4>
 | 
				
			||||||
				<div class="inline-code">.fs-[italic|line-through|none|underline]</div>
 | 
									<div class="inline-code">.fs-[italic|none|strike|underline]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
				<div>
 | 
									<div>
 | 
				
			||||||
					<span class="fs-italic inline-code b-1 p-2">.fs-italic</span>
 | 
										<span class="fs-italic inline-code b-1 p-2">.fs-italic</span>
 | 
				
			||||||
					<span class="fs-line-through inline-code b-1 p-2">.fs-line-through</span>
 | 
					 | 
				
			||||||
					<span class="fs-none inline-code b-1 p-2">.fs-none</span>
 | 
										<span class="fs-none inline-code b-1 p-2">.fs-none</span>
 | 
				
			||||||
 | 
										<span class="fs-strike inline-code b-1 p-2">.fs-strike</span>
 | 
				
			||||||
					<span class="fs-underline inline-code b-1 p-2">.fs-underline</span>
 | 
										<span class="fs-underline inline-code b-1 p-2">.fs-underline</span>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
				<br>
 | 
									<br>
 | 
				
			||||||
@@ -633,7 +654,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="hover">Hover</h3>
 | 
									<h3 id="hover">Hover</h3>
 | 
				
			||||||
				<div class="inline-code">.curs-hover|.hover</div>
 | 
									<div class="inline-code">.curs-hover|.hover</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -643,7 +664,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="object-fit">Object Fit</h3>
 | 
									<h3 id="object-fit">Object Fit</h3>
 | 
				
			||||||
				<div class="inline-code">.fit-[contain|cover|fill|scale|none]</div>
 | 
									<div class="inline-code">.fit-[contain|cover|fill|scale|none]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -671,35 +692,37 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow">
 | 
				
			||||||
				<h3 id="overflow">Overflow</h3>
 | 
									<div class="overflow-hidden p-3">
 | 
				
			||||||
				<div class="inline-code">.overflow-[x|y]-[auto|hidden|scroll|visible]</div>
 | 
										<h3 id="overflow">Overflow</h3>
 | 
				
			||||||
				<br><br>
 | 
										<div class="inline-code">.overflow-[x|y]-[auto|hidden|scroll|visible]</div>
 | 
				
			||||||
				<div class="flex-r">
 | 
										<br><br>
 | 
				
			||||||
					<div class="b-1 m-2 overflow-auto" style="width: 150px; height: 150px;">
 | 
										<div class="flex-r">
 | 
				
			||||||
						<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
											<div class="b-1 m-2 overflow-auto" style="width: 150px; height: 150px;">
 | 
				
			||||||
							<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-auto</span>
 | 
												<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
				
			||||||
 | 
													<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-auto</span>
 | 
				
			||||||
 | 
												</div>
 | 
				
			||||||
						</div>
 | 
											</div>
 | 
				
			||||||
					</div>
 | 
											<div class="b-1 m-2 overflow-hidden" style="width: 150px; height: 150px;">
 | 
				
			||||||
					<div class="b-1 m-2 overflow-hidden" style="width: 150px; height: 150px;">
 | 
												<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
				
			||||||
						<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
													<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-hidden</span>
 | 
				
			||||||
							<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-hidden</span>
 | 
												</div>
 | 
				
			||||||
						</div>
 | 
											</div>
 | 
				
			||||||
					</div>
 | 
											<div class="b-1 m-2 overflow-scroll" style="width: 150px; height: 150px;">
 | 
				
			||||||
					<div class="b-1 m-2 overflow-scroll" style="width: 150px; height: 150px;">
 | 
												<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
				
			||||||
						<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
													<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-scroll</span>
 | 
				
			||||||
							<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-scroll</span>
 | 
												</div>
 | 
				
			||||||
						</div>
 | 
											</div>
 | 
				
			||||||
					</div>
 | 
											<div class="b-1 m-2 overflow-visible" style="width: 150px; height: 150px;">
 | 
				
			||||||
					<div class="b-1 m-2 overflow-visible" style="width: 150px; height: 150px;">
 | 
												<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
				
			||||||
						<div style="width: 300px; height: 300px;" class="pos-rel">
 | 
													<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-visible</span>
 | 
				
			||||||
							<span class="pos-abs" style="left: 50%; top: 25%; transform: translate(-50%, -50%)">.overflow-visible</span>
 | 
												</div>
 | 
				
			||||||
						</div>
 | 
											</div>
 | 
				
			||||||
					</div>
 | 
										</div>
 | 
				
			||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="opacity">Opacity</h3>
 | 
									<h3 id="opacity">Opacity</h3>
 | 
				
			||||||
				<div class="inline-code">.opacity-[0|10|20|25|30|33|34|40|50|60|66|70|75|80|90|100]</div>
 | 
									<div class="inline-code">.opacity-[0|10|20|25|30|33|34|40|50|60|66|70|75|80|90|100]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -718,7 +741,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="position">Position</h3>
 | 
									<h3 id="position">Position</h3>
 | 
				
			||||||
				<div class="inline-code">.pos-[abs|rel|static|stick]</div>
 | 
									<div class="inline-code">.pos-[abs|rel|static|stick]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -746,7 +769,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="shadows">Shadows</h3>
 | 
									<h3 id="shadows">Shadows</h3>
 | 
				
			||||||
				<div class="inline-code">.shadow-[drop|none|white]</div>
 | 
									<div class="inline-code">.shadow-[drop|none|white]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -763,7 +786,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="size">Size</h3>
 | 
									<h3 id="size">Size</h3>
 | 
				
			||||||
				<div class="flex-c flex-md-r">
 | 
									<div class="flex-c flex-md-r">
 | 
				
			||||||
					<div class="flex-fill-even">
 | 
										<div class="flex-fill-even">
 | 
				
			||||||
@@ -845,7 +868,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="spacing">Spacing</h3>
 | 
									<h3 id="spacing">Spacing</h3>
 | 
				
			||||||
				<div>Margin: <span class="inline-code">.m[b|e|s|t|x|y]-[xs|sm|md|lg|xl]-[0-5|auto]</span></div>
 | 
									<div>Margin: <span class="inline-code">.m[b|e|s|t|x|y]-[xs|sm|md|lg|xl]-[0-5|auto]</span></div>
 | 
				
			||||||
				<br>
 | 
									<br>
 | 
				
			||||||
@@ -896,7 +919,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="uer-select">User Select</h3>
 | 
									<h3 id="uer-select">User Select</h3>
 | 
				
			||||||
				<div class="inline-code">.select-[all|auto|none|text]</div>
 | 
									<div class="inline-code">.select-[all|auto|none|text]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -906,7 +929,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				<div class="select-text inline-code b-1 p-2">.select-text</div>
 | 
									<div class="select-text inline-code b-1 p-2">.select-text</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3">
 | 
				
			||||||
				<h3 id="visibility">Visibility</h3>
 | 
									<h3 id="visibility">Visibility</h3>
 | 
				
			||||||
				<div class="inline-code">.[hidden|visible]-[xs|sm|md|lg|xl]</div>
 | 
									<div class="inline-code">.[hidden|visible]-[xs|sm|md|lg|xl]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -918,7 +941,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
				</div>
 | 
									</div>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<div class="mt-4 flex-grow-1 bg-clear shadow p-3 mb-3">
 | 
								<div class="mt-4 flex-grow-1 bg-container shadow p-3 mb-3">
 | 
				
			||||||
				<h3 id="z-index">Z-Index</h3>
 | 
									<h3 id="z-index">Z-Index</h3>
 | 
				
			||||||
				<div class="inline-code">.z-[0-5]</div>
 | 
									<div class="inline-code">.z-[0-5]</div>
 | 
				
			||||||
				<br><br>
 | 
									<br><br>
 | 
				
			||||||
@@ -937,10 +960,7 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
			<div class="w-100 p-2"></div>
 | 
								<div class="w-100 p-2"></div>
 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<div id="toc" class="flex-r shadow bg-clear z-5 pos-fix animate b-1" style="right: 0; top: 50px; transform: translateX(calc(100% - 26px))">
 | 
							<div id="toc" class="flex-r shadow bg-container z-5 pos-fix animate b-1" style="left: 0; top: 25px; transform: translateX(calc(-100% + 26px))">
 | 
				
			||||||
			<div id="toc-toggle" class="curs-hover b-0 be-1 px-1 py-3 bg-backdrop" style="writing-mode: vertical-rl">
 | 
					 | 
				
			||||||
				Table of Contents
 | 
					 | 
				
			||||||
			</div>
 | 
					 | 
				
			||||||
			<div class="p-3 overflow-y-auto" style="max-height: 50vh;">
 | 
								<div class="p-3 overflow-y-auto" style="max-height: 50vh;">
 | 
				
			||||||
				<ul class="p-0">
 | 
									<ul class="p-0">
 | 
				
			||||||
					<li>
 | 
										<li>
 | 
				
			||||||
@@ -982,13 +1002,16 @@ $sizes: ('auto': auto, 0: 0, 1: 0.25rem, 2: 0.5rem, 3: 1rem, 4: 1.5rem, 5: 2.5re
 | 
				
			|||||||
					</li>
 | 
										</li>
 | 
				
			||||||
				</ul>
 | 
									</ul>
 | 
				
			||||||
			</div>
 | 
								</div>
 | 
				
			||||||
 | 
								<div id="toc-toggle" class="curs-hover b-0 be-1 px-1 py-3 bg-primary fg-white" style="writing-mode: vertical-rl">
 | 
				
			||||||
 | 
									Table of Contents
 | 
				
			||||||
 | 
								</div>
 | 
				
			||||||
		</div>
 | 
							</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<script>
 | 
							<script>
 | 
				
			||||||
			let open = false;
 | 
								let open = false;
 | 
				
			||||||
			const toc = document.querySelector('#toc')
 | 
								const toc = document.querySelector('#toc')
 | 
				
			||||||
			document.querySelector('#toc-toggle').onclick = () => {
 | 
								document.querySelector('#toc-toggle').onclick = () => {
 | 
				
			||||||
				if(open) toc.style.transform = 'translateX(calc(100% - 26px))';
 | 
									if(open) toc.style.transform = 'translateX(calc(-100% + 26px))';
 | 
				
			||||||
				else toc.style.transform = 'translateX(0)';
 | 
									else toc.style.transform = 'translateX(0)';
 | 
				
			||||||
				open = !open;
 | 
									open = !open;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										955
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										955
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@@ -1,465 +1,494 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
  "name": "@ztimson/css-utils",
 | 
						"name": "@ztimson/css-utils",
 | 
				
			||||||
  "version": "1.0.0",
 | 
						"version": "1.2.1",
 | 
				
			||||||
  "lockfileVersion": 3,
 | 
						"lockfileVersion": 3,
 | 
				
			||||||
  "requires": true,
 | 
						"requires": true,
 | 
				
			||||||
  "packages": {
 | 
						"packages": {
 | 
				
			||||||
    "": {
 | 
							"": {
 | 
				
			||||||
      "name": "@ztimson/css-utils",
 | 
								"name": "@ztimson/css-utils",
 | 
				
			||||||
      "version": "1.0.0",
 | 
								"version": "1.2.1",
 | 
				
			||||||
      "license": "MIT",
 | 
								"license": "MIT",
 | 
				
			||||||
      "dependencies": {
 | 
								"devDependencies": {
 | 
				
			||||||
        "sass": "^1.80.6"
 | 
									"sass": "^1.80.6"
 | 
				
			||||||
      }
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    "node_modules/@parcel/watcher": {
 | 
							"node_modules/@parcel/watcher": {
 | 
				
			||||||
      "version": "2.5.0",
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.0.tgz",
 | 
				
			||||||
      "integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
 | 
								"integrity": "sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==",
 | 
				
			||||||
      "hasInstallScript": true,
 | 
								"dev": true,
 | 
				
			||||||
      "optional": true,
 | 
								"hasInstallScript": true,
 | 
				
			||||||
      "dependencies": {
 | 
								"optional": true,
 | 
				
			||||||
        "detect-libc": "^1.0.3",
 | 
								"dependencies": {
 | 
				
			||||||
        "is-glob": "^4.0.3",
 | 
									"detect-libc": "^1.0.3",
 | 
				
			||||||
        "micromatch": "^4.0.5",
 | 
									"is-glob": "^4.0.3",
 | 
				
			||||||
        "node-addon-api": "^7.0.0"
 | 
									"micromatch": "^4.0.5",
 | 
				
			||||||
      },
 | 
									"node-addon-api": "^7.0.0"
 | 
				
			||||||
      "engines": {
 | 
								},
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"engines": {
 | 
				
			||||||
      },
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "funding": {
 | 
								},
 | 
				
			||||||
        "type": "opencollective",
 | 
								"funding": {
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
									"type": "opencollective",
 | 
				
			||||||
      },
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "optionalDependencies": {
 | 
								},
 | 
				
			||||||
        "@parcel/watcher-android-arm64": "2.5.0",
 | 
								"optionalDependencies": {
 | 
				
			||||||
        "@parcel/watcher-darwin-arm64": "2.5.0",
 | 
									"@parcel/watcher-android-arm64": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-darwin-x64": "2.5.0",
 | 
									"@parcel/watcher-darwin-arm64": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-freebsd-x64": "2.5.0",
 | 
									"@parcel/watcher-darwin-x64": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-linux-arm-glibc": "2.5.0",
 | 
									"@parcel/watcher-freebsd-x64": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-linux-arm-musl": "2.5.0",
 | 
									"@parcel/watcher-linux-arm-glibc": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-linux-arm64-glibc": "2.5.0",
 | 
									"@parcel/watcher-linux-arm-musl": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-linux-arm64-musl": "2.5.0",
 | 
									"@parcel/watcher-linux-arm64-glibc": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-linux-x64-glibc": "2.5.0",
 | 
									"@parcel/watcher-linux-arm64-musl": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-linux-x64-musl": "2.5.0",
 | 
									"@parcel/watcher-linux-x64-glibc": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-win32-arm64": "2.5.0",
 | 
									"@parcel/watcher-linux-x64-musl": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-win32-ia32": "2.5.0",
 | 
									"@parcel/watcher-win32-arm64": "2.5.0",
 | 
				
			||||||
        "@parcel/watcher-win32-x64": "2.5.0"
 | 
									"@parcel/watcher-win32-ia32": "2.5.0",
 | 
				
			||||||
      }
 | 
									"@parcel/watcher-win32-x64": "2.5.0"
 | 
				
			||||||
    },
 | 
								}
 | 
				
			||||||
    "node_modules/@parcel/watcher-android-arm64": {
 | 
							},
 | 
				
			||||||
      "version": "2.5.0",
 | 
							"node_modules/@parcel/watcher-android-arm64": {
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.0.tgz",
 | 
				
			||||||
      "cpu": [
 | 
								"integrity": "sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==",
 | 
				
			||||||
        "arm64"
 | 
								"cpu": [
 | 
				
			||||||
      ],
 | 
									"arm64"
 | 
				
			||||||
      "optional": true,
 | 
								],
 | 
				
			||||||
      "os": [
 | 
								"dev": true,
 | 
				
			||||||
        "android"
 | 
								"optional": true,
 | 
				
			||||||
      ],
 | 
								"os": [
 | 
				
			||||||
      "engines": {
 | 
									"android"
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								],
 | 
				
			||||||
      },
 | 
								"engines": {
 | 
				
			||||||
      "funding": {
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
        "type": "opencollective",
 | 
								},
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"funding": {
 | 
				
			||||||
      }
 | 
									"type": "opencollective",
 | 
				
			||||||
    },
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
    "node_modules/@parcel/watcher-darwin-arm64": {
 | 
								}
 | 
				
			||||||
      "version": "2.5.0",
 | 
							},
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
 | 
							"node_modules/@parcel/watcher-darwin-arm64": {
 | 
				
			||||||
      "integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "cpu": [
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.0.tgz",
 | 
				
			||||||
        "arm64"
 | 
								"integrity": "sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==",
 | 
				
			||||||
      ],
 | 
								"cpu": [
 | 
				
			||||||
      "optional": true,
 | 
									"arm64"
 | 
				
			||||||
      "os": [
 | 
								],
 | 
				
			||||||
        "darwin"
 | 
								"dev": true,
 | 
				
			||||||
      ],
 | 
								"optional": true,
 | 
				
			||||||
      "engines": {
 | 
								"os": [
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
									"darwin"
 | 
				
			||||||
      },
 | 
								],
 | 
				
			||||||
      "funding": {
 | 
								"engines": {
 | 
				
			||||||
        "type": "opencollective",
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								},
 | 
				
			||||||
      }
 | 
								"funding": {
 | 
				
			||||||
    },
 | 
									"type": "opencollective",
 | 
				
			||||||
    "node_modules/@parcel/watcher-darwin-x64": {
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "version": "2.5.0",
 | 
								}
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
 | 
							},
 | 
				
			||||||
      "integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
 | 
							"node_modules/@parcel/watcher-darwin-x64": {
 | 
				
			||||||
      "cpu": [
 | 
								"version": "2.5.0",
 | 
				
			||||||
        "x64"
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.0.tgz",
 | 
				
			||||||
      ],
 | 
								"integrity": "sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==",
 | 
				
			||||||
      "optional": true,
 | 
								"cpu": [
 | 
				
			||||||
      "os": [
 | 
									"x64"
 | 
				
			||||||
        "darwin"
 | 
								],
 | 
				
			||||||
      ],
 | 
								"dev": true,
 | 
				
			||||||
      "engines": {
 | 
								"optional": true,
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"os": [
 | 
				
			||||||
      },
 | 
									"darwin"
 | 
				
			||||||
      "funding": {
 | 
								],
 | 
				
			||||||
        "type": "opencollective",
 | 
								"engines": {
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      }
 | 
								},
 | 
				
			||||||
    },
 | 
								"funding": {
 | 
				
			||||||
    "node_modules/@parcel/watcher-freebsd-x64": {
 | 
									"type": "opencollective",
 | 
				
			||||||
      "version": "2.5.0",
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
 | 
								}
 | 
				
			||||||
      "integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
 | 
							},
 | 
				
			||||||
      "cpu": [
 | 
							"node_modules/@parcel/watcher-freebsd-x64": {
 | 
				
			||||||
        "x64"
 | 
								"version": "2.5.0",
 | 
				
			||||||
      ],
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.0.tgz",
 | 
				
			||||||
      "optional": true,
 | 
								"integrity": "sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==",
 | 
				
			||||||
      "os": [
 | 
								"cpu": [
 | 
				
			||||||
        "freebsd"
 | 
									"x64"
 | 
				
			||||||
      ],
 | 
								],
 | 
				
			||||||
      "engines": {
 | 
								"dev": true,
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"optional": true,
 | 
				
			||||||
      },
 | 
								"os": [
 | 
				
			||||||
      "funding": {
 | 
									"freebsd"
 | 
				
			||||||
        "type": "opencollective",
 | 
								],
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"engines": {
 | 
				
			||||||
      }
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
    },
 | 
								},
 | 
				
			||||||
    "node_modules/@parcel/watcher-linux-arm-glibc": {
 | 
								"funding": {
 | 
				
			||||||
      "version": "2.5.0",
 | 
									"type": "opencollective",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
 | 
								}
 | 
				
			||||||
      "cpu": [
 | 
							},
 | 
				
			||||||
        "arm"
 | 
							"node_modules/@parcel/watcher-linux-arm-glibc": {
 | 
				
			||||||
      ],
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "optional": true,
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.0.tgz",
 | 
				
			||||||
      "os": [
 | 
								"integrity": "sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==",
 | 
				
			||||||
        "linux"
 | 
								"cpu": [
 | 
				
			||||||
      ],
 | 
									"arm"
 | 
				
			||||||
      "engines": {
 | 
								],
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"dev": true,
 | 
				
			||||||
      },
 | 
								"optional": true,
 | 
				
			||||||
      "funding": {
 | 
								"os": [
 | 
				
			||||||
        "type": "opencollective",
 | 
									"linux"
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								],
 | 
				
			||||||
      }
 | 
								"engines": {
 | 
				
			||||||
    },
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
    "node_modules/@parcel/watcher-linux-arm-musl": {
 | 
								},
 | 
				
			||||||
      "version": "2.5.0",
 | 
								"funding": {
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
 | 
									"type": "opencollective",
 | 
				
			||||||
      "integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "cpu": [
 | 
								}
 | 
				
			||||||
        "arm"
 | 
							},
 | 
				
			||||||
      ],
 | 
							"node_modules/@parcel/watcher-linux-arm-musl": {
 | 
				
			||||||
      "optional": true,
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "os": [
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.0.tgz",
 | 
				
			||||||
        "linux"
 | 
								"integrity": "sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==",
 | 
				
			||||||
      ],
 | 
								"cpu": [
 | 
				
			||||||
      "engines": {
 | 
									"arm"
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								],
 | 
				
			||||||
      },
 | 
								"dev": true,
 | 
				
			||||||
      "funding": {
 | 
								"optional": true,
 | 
				
			||||||
        "type": "opencollective",
 | 
								"os": [
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
									"linux"
 | 
				
			||||||
      }
 | 
								],
 | 
				
			||||||
    },
 | 
								"engines": {
 | 
				
			||||||
    "node_modules/@parcel/watcher-linux-arm64-glibc": {
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "version": "2.5.0",
 | 
								},
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
 | 
								"funding": {
 | 
				
			||||||
      "integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
 | 
									"type": "opencollective",
 | 
				
			||||||
      "cpu": [
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
        "arm64"
 | 
								}
 | 
				
			||||||
      ],
 | 
							},
 | 
				
			||||||
      "optional": true,
 | 
							"node_modules/@parcel/watcher-linux-arm64-glibc": {
 | 
				
			||||||
      "os": [
 | 
								"version": "2.5.0",
 | 
				
			||||||
        "linux"
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.0.tgz",
 | 
				
			||||||
      ],
 | 
								"integrity": "sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==",
 | 
				
			||||||
      "engines": {
 | 
								"cpu": [
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
									"arm64"
 | 
				
			||||||
      },
 | 
								],
 | 
				
			||||||
      "funding": {
 | 
								"dev": true,
 | 
				
			||||||
        "type": "opencollective",
 | 
								"optional": true,
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"os": [
 | 
				
			||||||
      }
 | 
									"linux"
 | 
				
			||||||
    },
 | 
								],
 | 
				
			||||||
    "node_modules/@parcel/watcher-linux-arm64-musl": {
 | 
								"engines": {
 | 
				
			||||||
      "version": "2.5.0",
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
 | 
								},
 | 
				
			||||||
      "integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
 | 
								"funding": {
 | 
				
			||||||
      "cpu": [
 | 
									"type": "opencollective",
 | 
				
			||||||
        "arm64"
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      ],
 | 
								}
 | 
				
			||||||
      "optional": true,
 | 
							},
 | 
				
			||||||
      "os": [
 | 
							"node_modules/@parcel/watcher-linux-arm64-musl": {
 | 
				
			||||||
        "linux"
 | 
								"version": "2.5.0",
 | 
				
			||||||
      ],
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.0.tgz",
 | 
				
			||||||
      "engines": {
 | 
								"integrity": "sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==",
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"cpu": [
 | 
				
			||||||
      },
 | 
									"arm64"
 | 
				
			||||||
      "funding": {
 | 
								],
 | 
				
			||||||
        "type": "opencollective",
 | 
								"dev": true,
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"optional": true,
 | 
				
			||||||
      }
 | 
								"os": [
 | 
				
			||||||
    },
 | 
									"linux"
 | 
				
			||||||
    "node_modules/@parcel/watcher-linux-x64-glibc": {
 | 
								],
 | 
				
			||||||
      "version": "2.5.0",
 | 
								"engines": {
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
 | 
								},
 | 
				
			||||||
      "cpu": [
 | 
								"funding": {
 | 
				
			||||||
        "x64"
 | 
									"type": "opencollective",
 | 
				
			||||||
      ],
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "optional": true,
 | 
								}
 | 
				
			||||||
      "os": [
 | 
							},
 | 
				
			||||||
        "linux"
 | 
							"node_modules/@parcel/watcher-linux-x64-glibc": {
 | 
				
			||||||
      ],
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "engines": {
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.0.tgz",
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"integrity": "sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==",
 | 
				
			||||||
      },
 | 
								"cpu": [
 | 
				
			||||||
      "funding": {
 | 
									"x64"
 | 
				
			||||||
        "type": "opencollective",
 | 
								],
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"dev": true,
 | 
				
			||||||
      }
 | 
								"optional": true,
 | 
				
			||||||
    },
 | 
								"os": [
 | 
				
			||||||
    "node_modules/@parcel/watcher-linux-x64-musl": {
 | 
									"linux"
 | 
				
			||||||
      "version": "2.5.0",
 | 
								],
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
 | 
								"engines": {
 | 
				
			||||||
      "integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "cpu": [
 | 
								},
 | 
				
			||||||
        "x64"
 | 
								"funding": {
 | 
				
			||||||
      ],
 | 
									"type": "opencollective",
 | 
				
			||||||
      "optional": true,
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "os": [
 | 
								}
 | 
				
			||||||
        "linux"
 | 
							},
 | 
				
			||||||
      ],
 | 
							"node_modules/@parcel/watcher-linux-x64-musl": {
 | 
				
			||||||
      "engines": {
 | 
								"version": "2.5.0",
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.0.tgz",
 | 
				
			||||||
      },
 | 
								"integrity": "sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==",
 | 
				
			||||||
      "funding": {
 | 
								"cpu": [
 | 
				
			||||||
        "type": "opencollective",
 | 
									"x64"
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								],
 | 
				
			||||||
      }
 | 
								"dev": true,
 | 
				
			||||||
    },
 | 
								"optional": true,
 | 
				
			||||||
    "node_modules/@parcel/watcher-win32-arm64": {
 | 
								"os": [
 | 
				
			||||||
      "version": "2.5.0",
 | 
									"linux"
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
 | 
								],
 | 
				
			||||||
      "integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
 | 
								"engines": {
 | 
				
			||||||
      "cpu": [
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
        "arm64"
 | 
								},
 | 
				
			||||||
      ],
 | 
								"funding": {
 | 
				
			||||||
      "optional": true,
 | 
									"type": "opencollective",
 | 
				
			||||||
      "os": [
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
        "win32"
 | 
								}
 | 
				
			||||||
      ],
 | 
							},
 | 
				
			||||||
      "engines": {
 | 
							"node_modules/@parcel/watcher-win32-arm64": {
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
								"version": "2.5.0",
 | 
				
			||||||
      },
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.0.tgz",
 | 
				
			||||||
      "funding": {
 | 
								"integrity": "sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==",
 | 
				
			||||||
        "type": "opencollective",
 | 
								"cpu": [
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
									"arm64"
 | 
				
			||||||
      }
 | 
								],
 | 
				
			||||||
    },
 | 
								"dev": true,
 | 
				
			||||||
    "node_modules/@parcel/watcher-win32-ia32": {
 | 
								"optional": true,
 | 
				
			||||||
      "version": "2.5.0",
 | 
								"os": [
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
 | 
									"win32"
 | 
				
			||||||
      "integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
 | 
								],
 | 
				
			||||||
      "cpu": [
 | 
								"engines": {
 | 
				
			||||||
        "ia32"
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      ],
 | 
								},
 | 
				
			||||||
      "optional": true,
 | 
								"funding": {
 | 
				
			||||||
      "os": [
 | 
									"type": "opencollective",
 | 
				
			||||||
        "win32"
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      ],
 | 
								}
 | 
				
			||||||
      "engines": {
 | 
							},
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
							"node_modules/@parcel/watcher-win32-ia32": {
 | 
				
			||||||
      },
 | 
								"version": "2.5.0",
 | 
				
			||||||
      "funding": {
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.0.tgz",
 | 
				
			||||||
        "type": "opencollective",
 | 
								"integrity": "sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==",
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"cpu": [
 | 
				
			||||||
      }
 | 
									"ia32"
 | 
				
			||||||
    },
 | 
								],
 | 
				
			||||||
    "node_modules/@parcel/watcher-win32-x64": {
 | 
								"dev": true,
 | 
				
			||||||
      "version": "2.5.0",
 | 
								"optional": true,
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
 | 
								"os": [
 | 
				
			||||||
      "integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
 | 
									"win32"
 | 
				
			||||||
      "cpu": [
 | 
								],
 | 
				
			||||||
        "x64"
 | 
								"engines": {
 | 
				
			||||||
      ],
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "optional": true,
 | 
								},
 | 
				
			||||||
      "os": [
 | 
								"funding": {
 | 
				
			||||||
        "win32"
 | 
									"type": "opencollective",
 | 
				
			||||||
      ],
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
      "engines": {
 | 
								}
 | 
				
			||||||
        "node": ">= 10.0.0"
 | 
							},
 | 
				
			||||||
      },
 | 
							"node_modules/@parcel/watcher-win32-x64": {
 | 
				
			||||||
      "funding": {
 | 
								"version": "2.5.0",
 | 
				
			||||||
        "type": "opencollective",
 | 
								"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.0.tgz",
 | 
				
			||||||
        "url": "https://opencollective.com/parcel"
 | 
								"integrity": "sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==",
 | 
				
			||||||
      }
 | 
								"cpu": [
 | 
				
			||||||
    },
 | 
									"x64"
 | 
				
			||||||
    "node_modules/braces": {
 | 
								],
 | 
				
			||||||
      "version": "3.0.3",
 | 
								"dev": true,
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
 | 
								"optional": true,
 | 
				
			||||||
      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 | 
								"os": [
 | 
				
			||||||
      "optional": true,
 | 
									"win32"
 | 
				
			||||||
      "dependencies": {
 | 
								],
 | 
				
			||||||
        "fill-range": "^7.1.1"
 | 
								"engines": {
 | 
				
			||||||
      },
 | 
									"node": ">= 10.0.0"
 | 
				
			||||||
      "engines": {
 | 
								},
 | 
				
			||||||
        "node": ">=8"
 | 
								"funding": {
 | 
				
			||||||
      }
 | 
									"type": "opencollective",
 | 
				
			||||||
    },
 | 
									"url": "https://opencollective.com/parcel"
 | 
				
			||||||
    "node_modules/chokidar": {
 | 
								}
 | 
				
			||||||
      "version": "4.0.1",
 | 
							},
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
 | 
							"node_modules/braces": {
 | 
				
			||||||
      "integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
 | 
								"version": "3.0.3",
 | 
				
			||||||
      "dependencies": {
 | 
								"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
 | 
				
			||||||
        "readdirp": "^4.0.1"
 | 
								"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
 | 
				
			||||||
      },
 | 
								"dev": true,
 | 
				
			||||||
      "engines": {
 | 
								"optional": true,
 | 
				
			||||||
        "node": ">= 14.16.0"
 | 
								"dependencies": {
 | 
				
			||||||
      },
 | 
									"fill-range": "^7.1.1"
 | 
				
			||||||
      "funding": {
 | 
								},
 | 
				
			||||||
        "url": "https://paulmillr.com/funding/"
 | 
								"engines": {
 | 
				
			||||||
      }
 | 
									"node": ">=8"
 | 
				
			||||||
    },
 | 
								}
 | 
				
			||||||
    "node_modules/detect-libc": {
 | 
							},
 | 
				
			||||||
      "version": "1.0.3",
 | 
							"node_modules/chokidar": {
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
 | 
								"version": "4.0.1",
 | 
				
			||||||
      "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
 | 
								"resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz",
 | 
				
			||||||
      "optional": true,
 | 
								"integrity": "sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==",
 | 
				
			||||||
      "bin": {
 | 
								"dev": true,
 | 
				
			||||||
        "detect-libc": "bin/detect-libc.js"
 | 
								"dependencies": {
 | 
				
			||||||
      },
 | 
									"readdirp": "^4.0.1"
 | 
				
			||||||
      "engines": {
 | 
								},
 | 
				
			||||||
        "node": ">=0.10"
 | 
								"engines": {
 | 
				
			||||||
      }
 | 
									"node": ">= 14.16.0"
 | 
				
			||||||
    },
 | 
								},
 | 
				
			||||||
    "node_modules/fill-range": {
 | 
								"funding": {
 | 
				
			||||||
      "version": "7.1.1",
 | 
									"url": "https://paulmillr.com/funding/"
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
 | 
								}
 | 
				
			||||||
      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 | 
							},
 | 
				
			||||||
      "optional": true,
 | 
							"node_modules/detect-libc": {
 | 
				
			||||||
      "dependencies": {
 | 
								"version": "1.0.3",
 | 
				
			||||||
        "to-regex-range": "^5.0.1"
 | 
								"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
 | 
				
			||||||
      },
 | 
								"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
 | 
				
			||||||
      "engines": {
 | 
								"dev": true,
 | 
				
			||||||
        "node": ">=8"
 | 
								"optional": true,
 | 
				
			||||||
      }
 | 
								"bin": {
 | 
				
			||||||
    },
 | 
									"detect-libc": "bin/detect-libc.js"
 | 
				
			||||||
    "node_modules/immutable": {
 | 
								},
 | 
				
			||||||
      "version": "4.3.7",
 | 
								"engines": {
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
 | 
									"node": ">=0.10"
 | 
				
			||||||
      "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw=="
 | 
								}
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    "node_modules/is-extglob": {
 | 
							"node_modules/fill-range": {
 | 
				
			||||||
      "version": "2.1.1",
 | 
								"version": "7.1.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 | 
								"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
 | 
								"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
 | 
				
			||||||
      "optional": true,
 | 
								"dev": true,
 | 
				
			||||||
      "engines": {
 | 
								"optional": true,
 | 
				
			||||||
        "node": ">=0.10.0"
 | 
								"dependencies": {
 | 
				
			||||||
      }
 | 
									"to-regex-range": "^5.0.1"
 | 
				
			||||||
    },
 | 
								},
 | 
				
			||||||
    "node_modules/is-glob": {
 | 
								"engines": {
 | 
				
			||||||
      "version": "4.0.3",
 | 
									"node": ">=8"
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
 | 
								}
 | 
				
			||||||
      "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
 | 
							},
 | 
				
			||||||
      "optional": true,
 | 
							"node_modules/immutable": {
 | 
				
			||||||
      "dependencies": {
 | 
								"version": "4.3.7",
 | 
				
			||||||
        "is-extglob": "^2.1.1"
 | 
								"resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
 | 
				
			||||||
      },
 | 
								"integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
 | 
				
			||||||
      "engines": {
 | 
								"dev": true
 | 
				
			||||||
        "node": ">=0.10.0"
 | 
							},
 | 
				
			||||||
      }
 | 
							"node_modules/is-extglob": {
 | 
				
			||||||
    },
 | 
								"version": "2.1.1",
 | 
				
			||||||
    "node_modules/is-number": {
 | 
								"resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
 | 
				
			||||||
      "version": "7.0.0",
 | 
								"integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
 | 
								"dev": true,
 | 
				
			||||||
      "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
 | 
								"optional": true,
 | 
				
			||||||
      "optional": true,
 | 
								"engines": {
 | 
				
			||||||
      "engines": {
 | 
									"node": ">=0.10.0"
 | 
				
			||||||
        "node": ">=0.12.0"
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							"node_modules/is-glob": {
 | 
				
			||||||
    "node_modules/micromatch": {
 | 
								"version": "4.0.3",
 | 
				
			||||||
      "version": "4.0.8",
 | 
								"resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
 | 
								"integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
 | 
				
			||||||
      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 | 
								"dev": true,
 | 
				
			||||||
      "optional": true,
 | 
								"optional": true,
 | 
				
			||||||
      "dependencies": {
 | 
								"dependencies": {
 | 
				
			||||||
        "braces": "^3.0.3",
 | 
									"is-extglob": "^2.1.1"
 | 
				
			||||||
        "picomatch": "^2.3.1"
 | 
								},
 | 
				
			||||||
      },
 | 
								"engines": {
 | 
				
			||||||
      "engines": {
 | 
									"node": ">=0.10.0"
 | 
				
			||||||
        "node": ">=8.6"
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							"node_modules/is-number": {
 | 
				
			||||||
    "node_modules/node-addon-api": {
 | 
								"version": "7.0.0",
 | 
				
			||||||
      "version": "7.1.1",
 | 
								"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
 | 
								"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
 | 
				
			||||||
      "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
 | 
								"dev": true,
 | 
				
			||||||
      "optional": true
 | 
								"optional": true,
 | 
				
			||||||
    },
 | 
								"engines": {
 | 
				
			||||||
    "node_modules/picomatch": {
 | 
									"node": ">=0.12.0"
 | 
				
			||||||
      "version": "2.3.1",
 | 
								}
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
 | 
							},
 | 
				
			||||||
      "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 | 
							"node_modules/micromatch": {
 | 
				
			||||||
      "optional": true,
 | 
								"version": "4.0.8",
 | 
				
			||||||
      "engines": {
 | 
								"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
 | 
				
			||||||
        "node": ">=8.6"
 | 
								"integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
 | 
				
			||||||
      },
 | 
								"dev": true,
 | 
				
			||||||
      "funding": {
 | 
								"optional": true,
 | 
				
			||||||
        "url": "https://github.com/sponsors/jonschlinkert"
 | 
								"dependencies": {
 | 
				
			||||||
      }
 | 
									"braces": "^3.0.3",
 | 
				
			||||||
    },
 | 
									"picomatch": "^2.3.1"
 | 
				
			||||||
    "node_modules/readdirp": {
 | 
								},
 | 
				
			||||||
      "version": "4.0.2",
 | 
								"engines": {
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
 | 
									"node": ">=8.6"
 | 
				
			||||||
      "integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
 | 
								}
 | 
				
			||||||
      "engines": {
 | 
							},
 | 
				
			||||||
        "node": ">= 14.16.0"
 | 
							"node_modules/node-addon-api": {
 | 
				
			||||||
      },
 | 
								"version": "7.1.1",
 | 
				
			||||||
      "funding": {
 | 
								"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
 | 
				
			||||||
        "type": "individual",
 | 
								"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
 | 
				
			||||||
        "url": "https://paulmillr.com/funding/"
 | 
								"dev": true,
 | 
				
			||||||
      }
 | 
								"optional": true
 | 
				
			||||||
    },
 | 
							},
 | 
				
			||||||
    "node_modules/sass": {
 | 
							"node_modules/picomatch": {
 | 
				
			||||||
      "version": "1.80.6",
 | 
								"version": "2.3.1",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz",
 | 
								"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
 | 
				
			||||||
      "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==",
 | 
								"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
 | 
				
			||||||
      "dependencies": {
 | 
								"dev": true,
 | 
				
			||||||
        "chokidar": "^4.0.0",
 | 
								"optional": true,
 | 
				
			||||||
        "immutable": "^4.0.0",
 | 
								"engines": {
 | 
				
			||||||
        "source-map-js": ">=0.6.2 <2.0.0"
 | 
									"node": ">=8.6"
 | 
				
			||||||
      },
 | 
								},
 | 
				
			||||||
      "bin": {
 | 
								"funding": {
 | 
				
			||||||
        "sass": "sass.js"
 | 
									"url": "https://github.com/sponsors/jonschlinkert"
 | 
				
			||||||
      },
 | 
								}
 | 
				
			||||||
      "engines": {
 | 
							},
 | 
				
			||||||
        "node": ">=14.0.0"
 | 
							"node_modules/readdirp": {
 | 
				
			||||||
      },
 | 
								"version": "4.0.2",
 | 
				
			||||||
      "optionalDependencies": {
 | 
								"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz",
 | 
				
			||||||
        "@parcel/watcher": "^2.4.1"
 | 
								"integrity": "sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==",
 | 
				
			||||||
      }
 | 
								"dev": true,
 | 
				
			||||||
    },
 | 
								"engines": {
 | 
				
			||||||
    "node_modules/source-map-js": {
 | 
									"node": ">= 14.16.0"
 | 
				
			||||||
      "version": "1.2.1",
 | 
								},
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
 | 
								"funding": {
 | 
				
			||||||
      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
 | 
									"type": "individual",
 | 
				
			||||||
      "engines": {
 | 
									"url": "https://paulmillr.com/funding/"
 | 
				
			||||||
        "node": ">=0.10.0"
 | 
								}
 | 
				
			||||||
      }
 | 
							},
 | 
				
			||||||
    },
 | 
							"node_modules/sass": {
 | 
				
			||||||
    "node_modules/to-regex-range": {
 | 
								"version": "1.80.6",
 | 
				
			||||||
      "version": "5.0.1",
 | 
								"resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz",
 | 
				
			||||||
      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
 | 
								"integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==",
 | 
				
			||||||
      "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
 | 
								"dev": true,
 | 
				
			||||||
      "optional": true,
 | 
								"dependencies": {
 | 
				
			||||||
      "dependencies": {
 | 
									"chokidar": "^4.0.0",
 | 
				
			||||||
        "is-number": "^7.0.0"
 | 
									"immutable": "^4.0.0",
 | 
				
			||||||
      },
 | 
									"source-map-js": ">=0.6.2 <2.0.0"
 | 
				
			||||||
      "engines": {
 | 
								},
 | 
				
			||||||
        "node": ">=8.0"
 | 
								"bin": {
 | 
				
			||||||
      }
 | 
									"sass": "sass.js"
 | 
				
			||||||
    }
 | 
								},
 | 
				
			||||||
  }
 | 
								"engines": {
 | 
				
			||||||
 | 
									"node": ">=14.0.0"
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"optionalDependencies": {
 | 
				
			||||||
 | 
									"@parcel/watcher": "^2.4.1"
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							"node_modules/source-map-js": {
 | 
				
			||||||
 | 
								"version": "1.2.1",
 | 
				
			||||||
 | 
								"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
 | 
				
			||||||
 | 
								"integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
 | 
				
			||||||
 | 
								"dev": true,
 | 
				
			||||||
 | 
								"engines": {
 | 
				
			||||||
 | 
									"node": ">=0.10.0"
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							"node_modules/to-regex-range": {
 | 
				
			||||||
 | 
								"version": "5.0.1",
 | 
				
			||||||
 | 
								"resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
 | 
				
			||||||
 | 
								"integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
 | 
				
			||||||
 | 
								"dev": true,
 | 
				
			||||||
 | 
								"optional": true,
 | 
				
			||||||
 | 
								"dependencies": {
 | 
				
			||||||
 | 
									"is-number": "^7.0.0"
 | 
				
			||||||
 | 
								},
 | 
				
			||||||
 | 
								"engines": {
 | 
				
			||||||
 | 
									"node": ">=8.0"
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,6 +1,6 @@
 | 
				
			|||||||
{
 | 
					{
 | 
				
			||||||
	"name": "@ztimson/css-utils",
 | 
						"name": "@ztimson/css-utils",
 | 
				
			||||||
	"version": "1.0.2",
 | 
						"version": "1.3.3",
 | 
				
			||||||
	"description": "CSS Utility Classes",
 | 
						"description": "CSS Utility Classes",
 | 
				
			||||||
	"readme": "README.md",
 | 
						"readme": "README.md",
 | 
				
			||||||
	"scripts": {
 | 
						"scripts": {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -16,6 +16,7 @@
 | 
				
			|||||||
	--theme-white: white;
 | 
						--theme-white: white;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Misc
 | 
						// Misc
 | 
				
			||||||
 | 
						--theme-border: black;
 | 
				
			||||||
	--theme-animation: 0.2s linear; // Animation style
 | 
						--theme-animation: 0.2s linear; // Animation style
 | 
				
			||||||
	--theme-content-width: 1100px; // Max width of clamped content
 | 
						--theme-content-width: 1100px; // Max width of clamped content
 | 
				
			||||||
	--theme-font: Arial, sans-serif;
 | 
						--theme-font: Arial, sans-serif;
 | 
				
			||||||
@@ -47,30 +48,22 @@ $divisible: (0, 10, 20, 25, 30, 33, 34, 40, 50, 60, 66, 70, 75, 80, 90, 100);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Optional opinionated styling to clean up CSS defaults
 | 
					// Optional opinionated styling to clean up CSS defaults
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.fix-anchor, .fix {
 | 
					.fix-anchor, .fix:not(.no-anchor-fix) {
 | 
				
			||||||
	a, a:not([href]) {
 | 
						a, a:not([href]) {
 | 
				
			||||||
 | 
							cursor: pointer;
 | 
				
			||||||
		color: var(--theme-primary);
 | 
							color: var(--theme-primary);
 | 
				
			||||||
		&:not(:hover) { text-decoration: none; }
 | 
							&:not(:hover):not(:focus) { text-decoration: none; }
 | 
				
			||||||
		&:hover { text-decoration: underline; }
 | 
							&:hover, &:focus { text-decoration: underline; }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.fix-button, .fix {
 | 
					.fix-button, .fix:not(.no-button-fix) {
 | 
				
			||||||
	button:not(:disabled) {
 | 
						button:not(:disabled) {
 | 
				
			||||||
		cursor: pointer;
 | 
							cursor: pointer;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.fix-code code, code.fix {
 | 
					.fix-dom, .fix:not(.no-dom-fix) {
 | 
				
			||||||
	display: block;
 | 
					 | 
				
			||||||
	white-space: pre;
 | 
					 | 
				
			||||||
	font-family: monospace;
 | 
					 | 
				
			||||||
	background: rgb(30, 30, 30);
 | 
					 | 
				
			||||||
	color: #00cb00;
 | 
					 | 
				
			||||||
	overflow: auto;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
.fix-dom, .fix {
 | 
					 | 
				
			||||||
	&, html, body {
 | 
						&, html, body {
 | 
				
			||||||
		height: 100%;
 | 
							height: 100%;
 | 
				
			||||||
		width: 100%;
 | 
							width: 100%;
 | 
				
			||||||
@@ -81,29 +74,22 @@ $divisible: (0, 10, 20, 25, 30, 33, 34, 40, 50, 60, 66, 70, 75, 80, 90, 100);
 | 
				
			|||||||
		background-color: var(--theme-backdrop);
 | 
							background-color: var(--theme-backdrop);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	hr {
 | 
					 | 
				
			||||||
		border-bottom: 1px solid black;
 | 
					 | 
				
			||||||
		width: 100%;
 | 
					 | 
				
			||||||
		opacity: 50%;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	* { box-sizing: border-box; }
 | 
						* { box-sizing: border-box; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.fix-focus, .fix {
 | 
					.fix-focus, .fix:not(.no-focus-fix) {
 | 
				
			||||||
	* {
 | 
						* {
 | 
				
			||||||
		outline: none !important;
 | 
							outline: inherit;
 | 
				
			||||||
		box-shadow: none !important;
 | 
							-webkit-tap-highlight-color: transparent;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
.fix-font, .fix {
 | 
					.fix-font, .fix:not(.no-font-fix) {
 | 
				
			||||||
	* { font-family: var(--theme-font), sans-serif; }
 | 
						color: var(--theme-text);
 | 
				
			||||||
 | 
						font-family: var(--theme-font), sans-serif;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	p, input, select, textarea, button { font-size: 1rem; }
 | 
						p, input, select, textarea, button { font-size: 1rem; }
 | 
				
			||||||
	span { font-size: inherit; }
 | 
						h1, h2, h3, h4, h5, h6, p { margin: 0 0 0.5rem 0; }
 | 
				
			||||||
	h1, h2, h3, h4, h5, h6, p {
 | 
					 | 
				
			||||||
		margin-top: 0;
 | 
					 | 
				
			||||||
		margin-bottom: 0.5rem;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	h1 { font-weight: 500; font-size: 2.5rem; }
 | 
						h1 { font-weight: 500; font-size: 2.5rem; }
 | 
				
			||||||
	h2 { font-weight: 500; font-size: 2rem; }
 | 
						h2 { font-weight: 500; font-size: 2rem; }
 | 
				
			||||||
	h3 { font-weight: 500; font-size: 1.75rem; }
 | 
						h3 { font-weight: 500; font-size: 1.75rem; }
 | 
				
			||||||
@@ -112,8 +98,6 @@ $divisible: (0, 10, 20, 25, 30, 33, 34, 40, 50, 60, 66, 70, 75, 80, 90, 100);
 | 
				
			|||||||
	h6 { font-weight: 500; font-size: 1rem; }
 | 
						h6 { font-weight: 500; font-size: 1rem; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
option { color: black !important; }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Misc =====================================================================================================
 | 
					// Misc =====================================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Center
 | 
					// Center
 | 
				
			||||||
@@ -127,7 +111,6 @@ option { color: black !important; }
 | 
				
			|||||||
// Clamp (Restrict page width for large screens)
 | 
					// Clamp (Restrict page width for large screens)
 | 
				
			||||||
.clamp { width: min(var(--theme-content-width), calc(100% - map.get($sizes, 3))); }
 | 
					.clamp { width: min(var(--theme-content-width), calc(100% - map.get($sizes, 3))); }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
// Utilities ================================================================================================
 | 
					// Utilities ================================================================================================
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Anchor
 | 
					// Anchor
 | 
				
			||||||
@@ -170,7 +153,7 @@ option { color: black !important; }
 | 
				
			|||||||
.bg-black { background-color: var(--theme-black) !important; }
 | 
					.bg-black { background-color: var(--theme-black) !important; }
 | 
				
			||||||
.bg-white { background-color: var(--theme-white) !important; }
 | 
					.bg-white { background-color: var(--theme-white) !important; }
 | 
				
			||||||
.bg-transparent { background-color: transparent !important; }
 | 
					.bg-transparent { background-color: transparent !important; }
 | 
				
			||||||
.bg-clear {
 | 
					.bg-container {
 | 
				
			||||||
	background-color: var(--theme-clear) !important;
 | 
						background-color: var(--theme-clear) !important;
 | 
				
			||||||
	color: var(--theme-text) !important;
 | 
						color: var(--theme-text) !important;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -195,7 +178,10 @@ option { color: black !important; }
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Colors - Foreground
 | 
					// Colors - Foreground
 | 
				
			||||||
@each $color in ('black', 'clear', 'white', 'text', 'primary', 'accent', 'info', 'success', 'warn', 'danger', 'muted') {
 | 
					@each $color in ('black', 'clear', 'white', 'text', 'primary', 'accent', 'info', 'success', 'warn', 'danger', 'muted') {
 | 
				
			||||||
	.fg-#{$color} { color: var(--theme-#{$color}) !important; }
 | 
						.fg-#{$color} {
 | 
				
			||||||
 | 
							color: var(--theme-#{$color}) !important;
 | 
				
			||||||
 | 
							text-decoration-color: var(--theme-#{$color}) !important;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Cursors
 | 
					// Cursors
 | 
				
			||||||
@@ -210,9 +196,10 @@ option { color: black !important; }
 | 
				
			|||||||
.fs-italic { font-style: italic !important; }
 | 
					.fs-italic { font-style: italic !important; }
 | 
				
			||||||
.fs-none { font-style: normal !important; }
 | 
					.fs-none { font-style: normal !important; }
 | 
				
			||||||
.fs-lighter { font-weight: lighter !important; }
 | 
					.fs-lighter { font-weight: lighter !important; }
 | 
				
			||||||
.fs-line-through { text-decoration: line-through !important; }
 | 
					 | 
				
			||||||
.fs-no-dec { text-decoration: none !important; }
 | 
					.fs-no-dec { text-decoration: none !important; }
 | 
				
			||||||
 | 
					.fs-strike { text-decoration: line-through !important; }
 | 
				
			||||||
.fs-underline { text-decoration: underline !important; }
 | 
					.fs-underline { text-decoration: underline !important; }
 | 
				
			||||||
 | 
					.fs-strike.fs-underline { text-decoration: line-through underline !important; }
 | 
				
			||||||
.fs-7 { font-size: 2.5rem !important; }
 | 
					.fs-7 { font-size: 2.5rem !important; }
 | 
				
			||||||
.fs-6 { font-size: 2.25rem !important; }
 | 
					.fs-6 { font-size: 2.25rem !important; }
 | 
				
			||||||
.fs-5 { font-size: 2rem !important; }
 | 
					.fs-5 { font-size: 2rem !important; }
 | 
				
			||||||
@@ -241,12 +228,6 @@ option { color: black !important; }
 | 
				
			|||||||
.fs-uppercase { text-transform: uppercase !important; }
 | 
					.fs-uppercase { text-transform: uppercase !important; }
 | 
				
			||||||
.fs-capitalize { text-transform: capitalize !important; }
 | 
					.fs-capitalize { text-transform: capitalize !important; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Height
 | 
					 | 
				
			||||||
.h-auto { height: auto !important; }
 | 
					 | 
				
			||||||
@each $div in $divisible {
 | 
					 | 
				
			||||||
	.h-#{$div} { height: #{$div}#{'%'} !important; }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Hover
 | 
					// Hover
 | 
				
			||||||
.curs-hover:hover, .hover:hover { filter: brightness(125%) !important; }
 | 
					.curs-hover:hover, .hover:hover { filter: brightness(125%) !important; }
 | 
				
			||||||
.curs-hover:hover {
 | 
					.curs-hover:hover {
 | 
				
			||||||
@@ -289,12 +270,6 @@ option { color: black !important; }
 | 
				
			|||||||
	.select-#{$s} { user-select: #{$s} !important; }
 | 
						.select-#{$s} { user-select: #{$s} !important; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Width
 | 
					 | 
				
			||||||
.w-auto { width: auto !important; }
 | 
					 | 
				
			||||||
@each $div in $divisible {
 | 
					 | 
				
			||||||
	.w-#{$div} { width: #{$div}#{'%'} !important; }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
// Z-index
 | 
					// Z-index
 | 
				
			||||||
@each $s, $ignore in $sizes {
 | 
					@each $s, $ignore in $sizes {
 | 
				
			||||||
	.z-#{$s} { z-index: #{$s} !important; }
 | 
						.z-#{$s} { z-index: #{$s} !important; }
 | 
				
			||||||
@@ -392,6 +367,18 @@ option { color: black !important; }
 | 
				
			|||||||
		.float#{$bp}-#{$f} { float: #{$float} !important; }
 | 
							.float#{$bp}-#{$f} { float: #{$float} !important; }
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Height
 | 
				
			||||||
 | 
						.h-auto { height: auto !important; }
 | 
				
			||||||
 | 
						@each $div in $divisible {
 | 
				
			||||||
 | 
							.h#{$bp}-#{$div} { height: #{$div}#{'%'} !important; }
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						// Width
 | 
				
			||||||
 | 
						.w-auto { width: auto !important; }
 | 
				
			||||||
 | 
						@each $div in $divisible {
 | 
				
			||||||
 | 
							.w#{$bp}-#{$div} { width: #{$div}#{'%'} !important; }
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Object Fit
 | 
						// Object Fit
 | 
				
			||||||
	.fit#{$bp}-contain { object-fit: contain !important; }
 | 
						.fit#{$bp}-contain { object-fit: contain !important; }
 | 
				
			||||||
	.fit#{$bp}-cover { object-fit: cover !important; }
 | 
						.fit#{$bp}-cover { object-fit: cover !important; }
 | 
				
			||||||
@@ -414,7 +401,7 @@ option { color: black !important; }
 | 
				
			|||||||
	.hidden#{$bp} {  visibility: hidden !important; }
 | 
						.hidden#{$bp} {  visibility: hidden !important; }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	@each $s, $size in $sizes {
 | 
						@each $s, $size in $sizes {
 | 
				
			||||||
		.b#{$bp}-#{$s} { border: #{$s}px solid var(--theme-muted) !important; } // Border
 | 
							.b#{$bp}-#{$s} { border: #{$s}px solid var(--theme-border) !important; } // Border
 | 
				
			||||||
		.m#{$bp}-#{$s} { margin: $size !important; } // Margin
 | 
							.m#{$bp}-#{$s} { margin: $size !important; } // Margin
 | 
				
			||||||
		.p#{$bp}-#{$s} { padding: $size !important; } // Padding
 | 
							.p#{$bp}-#{$s} { padding: $size !important; } // Padding
 | 
				
			||||||
		.mx#{$bp}-#{$s} { // Margin
 | 
							.mx#{$bp}-#{$s} { // Margin
 | 
				
			||||||
@@ -441,7 +428,7 @@ option { color: black !important; }
 | 
				
			|||||||
		.m#{$d}#{$bp}-auto { margin-#{$dir}: auto !important; } // Margin
 | 
							.m#{$d}#{$bp}-auto { margin-#{$dir}: auto !important; } // Margin
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		@each $s, $size in $sizes {
 | 
							@each $s, $size in $sizes {
 | 
				
			||||||
			.b#{$d}#{$bp}-#{$s} { border-#{$dir}: #{$s}px solid var(--theme-muted) !important; } // Border
 | 
								.b#{$d}#{$bp}-#{$s} { border-#{$dir}: #{$s}px solid var(--theme-border) !important; } // Border
 | 
				
			||||||
			.m#{$d}#{$bp}-#{$s} { margin-#{$dir}: $size !important; } // Margin
 | 
								.m#{$d}#{$bp}-#{$s} { margin-#{$dir}: $size !important; } // Margin
 | 
				
			||||||
			.p#{$d}#{$bp}-#{$s} { padding-#{$dir}: $size !important; } // Padding
 | 
								.p#{$d}#{$bp}-#{$s} { padding-#{$dir}: $size !important; } // Padding
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user