@redapollos/storm-form 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
package/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # @redapollos/StormForm
2
+
3
+ This package handles creation of a form via StormCMS's forms.
4
+
5
+ ...more later
@@ -0,0 +1,38 @@
1
+ import js from '@eslint/js'
2
+ import globals from 'globals'
3
+ import react from 'eslint-plugin-react'
4
+ import reactHooks from 'eslint-plugin-react-hooks'
5
+ import reactRefresh from 'eslint-plugin-react-refresh'
6
+
7
+ export default [
8
+ { ignores: ['dist'] },
9
+ {
10
+ files: ['**/*.{js,jsx}'],
11
+ languageOptions: {
12
+ ecmaVersion: 2020,
13
+ globals: globals.browser,
14
+ parserOptions: {
15
+ ecmaVersion: 'latest',
16
+ ecmaFeatures: { jsx: true },
17
+ sourceType: 'module',
18
+ },
19
+ },
20
+ settings: { react: { version: '18.3' } },
21
+ plugins: {
22
+ react,
23
+ 'react-hooks': reactHooks,
24
+ 'react-refresh': reactRefresh,
25
+ },
26
+ rules: {
27
+ ...js.configs.recommended.rules,
28
+ ...react.configs.recommended.rules,
29
+ ...react.configs['jsx-runtime'].rules,
30
+ ...reactHooks.configs.recommended.rules,
31
+ 'react/jsx-no-target-blank': 'off',
32
+ 'react-refresh/only-export-components': [
33
+ 'warn',
34
+ { allowConstantExport: true },
35
+ ],
36
+ },
37
+ },
38
+ ]
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "@redapollos/storm-form",
3
+ "private": false,
4
+ "version": "0.0.1",
5
+ "description": "A form library for StormCMS",
6
+ "author": "redapollos",
7
+ "type": "module",
8
+ "scripts": {
9
+ "dev": "vite",
10
+ "build": "vite build",
11
+ "lint": "eslint .",
12
+ "preview": "vite preview"
13
+ },
14
+ "dependencies": {
15
+ "react": "^18.3.1",
16
+ "react-dom": "^18.3.1"
17
+ },
18
+ "devDependencies": {
19
+ "@eslint/js": "^9.17.0",
20
+ "@types/react": "^18.3.18",
21
+ "@types/react-dom": "^18.3.5",
22
+ "@vitejs/plugin-react": "^4.3.4",
23
+ "eslint": "^9.17.0",
24
+ "eslint-plugin-react": "^7.37.2",
25
+ "eslint-plugin-react-hooks": "^5.0.0",
26
+ "eslint-plugin-react-refresh": "^0.4.16",
27
+ "globals": "^15.14.0",
28
+ "vite": "^6.0.5"
29
+ },
30
+ "repository": {
31
+ "type": "git",
32
+ "url": "git+https://github.com/redapollos/storm-form.git"
33
+ },
34
+ "keywords": [
35
+ "stormcms"
36
+ ],
37
+ "license": "ISC",
38
+ "bugs": {
39
+ "url": "https://github.com/redapollos/storm-form/issues"
40
+ },
41
+ "homepage": "https://github.com/redapollos/storm-form#readme",
42
+ "main": "components/StormForm.js"
43
+ }
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 360 360">
3
+ <defs>
4
+ <style>
5
+ .cls-1{fill:url(#linear-gradient);}
6
+ .cls-2,.cls-3{fill:#2b3741;}
7
+ .cls-3{stroke:#2b3741;stroke-linecap:round;stroke-linejoin:round;stroke-width:.53px;}
8
+ </style>
9
+ <linearGradient id="linear-gradient" x1="193" y1="25" x2="529" y2="25" gradientTransform="translate(155 541) rotate(-90)" gradientUnits="userSpaceOnUse">
10
+ <stop offset="0" stop-color="#00518c"/>
11
+ <stop offset="1" stop-color="#002a43"/>
12
+ </linearGradient>
13
+ </defs>
14
+ <ellipse style="stroke: rgb(0, 0, 0); fill: rgb(255, 255, 255);" cx="180.303" cy="178.183" rx="154.07" ry="157.399"/>
15
+ <path class="cls-3" d="M147.45,196.8s-144.9-8.4-33.6-60.9c0,0-.28-2.25-2.1-2.1-13.99,1.17-75.6,12.6-72.45,38.85,0,0,1.05,36.75,108.15,24.15Z"/>
16
+ <path class="cls-3" d="M298.65,150.6c0-33.6-60.9-23.1-60.9-23.1,0,0,14.7-10.5,35.7-10.5,0,0,31.5,0,41.47,16.8,0,0,13.13,23.1-9.97,42,0,0-23.1,18.9-75.6,12.6,0,0,69.3-8.4,69.3-37.8Z"/>
17
+ <path class="cls-3" d="M145.35,159s-35.7-33.6-2.1-50.4c0,0,35.7-16.8,77.7,6.3,0,0-5.69-9.55-18.9-16.8-15.01-8.24-42-14.7-73.21-3.89,0,0-31.79,10.19-19.19,37.49,0,0,10.5,21,35.7,27.3Z"/>
18
+ <path class="cls-3" d="M252.45,123.3c-1.06-25.11-35.47-20.38-44.1-18.9-1.23,.21-2.1-2.1-2.1-2.1,0,0,14.7-10.5,33.6-8.4,0,0,21.65,2.63,20.27,26.52l-7.67,2.88Z"/>
19
+ <polygon class="cls-3" points="120.15 230.4 166.35 171.6 190.62 171.6 157.95 213.6 195.75 213.6 111.75 293.4 147.45 229.8 120.15 230.4"/>
20
+ <polygon class="cls-3" points="160.05 217.8 172.65 215.7 202.95 166.61 160.05 217.8"/>
21
+ <path class="cls-1" d="M12,180c0,92.78,75.22,168,168,168s168-75.22,168-168S272.78,12,180,12,12,87.22,12,180Zm312.9,0c0,80.03-64.87,144.9-144.9,144.9S35.1,260.03,35.1,180,99.97,35.1,180,35.1s144.9,64.87,144.9,144.9Z"/>
22
+ <path class="cls-2" d="M180,329.1c-82.79,0-150.15-67.36-150.15-150.15S97.21,28.8,180,28.8s150.15,67.36,150.15,150.15-67.36,150.15-150.15,150.15Zm0-289.8c-77,0-139.65,62.65-139.65,139.65s62.65,139.65,139.65,139.65,139.65-62.65,139.65-139.65S257,39.3,180,39.3Z"/>
23
+ </svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/src/App.css ADDED
@@ -0,0 +1,42 @@
1
+ #root {
2
+ max-width: 1280px;
3
+ margin: 0 auto;
4
+ padding: 2rem;
5
+ text-align: center;
6
+ }
7
+
8
+ .logo {
9
+ height: 6em;
10
+ padding: 1.5em;
11
+ will-change: filter;
12
+ transition: filter 300ms;
13
+ }
14
+ .logo:hover {
15
+ filter: drop-shadow(0 0 2em #646cffaa);
16
+ }
17
+ .logo.react:hover {
18
+ filter: drop-shadow(0 0 2em #61dafbaa);
19
+ }
20
+
21
+ @keyframes logo-spin {
22
+ from {
23
+ transform: rotate(0deg);
24
+ }
25
+ to {
26
+ transform: rotate(360deg);
27
+ }
28
+ }
29
+
30
+ @media (prefers-reduced-motion: no-preference) {
31
+ a:nth-of-type(2) .logo {
32
+ animation: logo-spin infinite 20s linear;
33
+ }
34
+ }
35
+
36
+ .card {
37
+ padding: 2em;
38
+ }
39
+
40
+ .read-the-docs {
41
+ color: #888;
42
+ }
@@ -0,0 +1,17 @@
1
+ import logo from "/logo.svg";
2
+ import "../App.css";
3
+
4
+ function StormForm() {
5
+ return (
6
+ <>
7
+ <div>
8
+ <a href="https://rainstormtech.com" target="_blank">
9
+ <img src={logo} className="logo" alt="logo" />
10
+ </a>
11
+ </div>
12
+ <h1>Storm Form</h1>
13
+ </>
14
+ );
15
+ }
16
+
17
+ export default StormForm;
package/vite.config.js ADDED
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'vite'
2
+ import react from '@vitejs/plugin-react'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [react()],
7
+ })