bhl-forms 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,214 @@
1
+ var testForm = (function () {
2
+ 'use strict';
3
+
4
+ const email = () => ({
5
+ $formkit: 'email',
6
+ name: 'email',
7
+ label: 'Email Address *',
8
+ placeholder: 'email@domain.com',
9
+ validation: 'required|email',
10
+ validationMessages: {
11
+ required: 'Email is required',
12
+ email: 'Invalid Email',
13
+ },
14
+ });
15
+
16
+ const phone = () => ({
17
+ $formkit: 'tel',
18
+ name: 'tel',
19
+ label: 'Phone Number *',
20
+ placeholder: 'xxx-xxx-xxxx',
21
+ // help: 'Phone number must be in the xxx-xxx-xxxx format.',
22
+ validation: 'required|matches:/^[0-9]{3}-[0-9]{3}-[0-9]{4}$/',
23
+ validationMessages: {
24
+ required: 'Phone Number is required',
25
+ matches: 'Invalid Phone Number',
26
+ },
27
+ });
28
+
29
+ const date = () => ({
30
+ $formkit: 'date',
31
+ label: 'Date *',
32
+ name: 'date_inc',
33
+ validation: 'required',
34
+ validationMessages: {
35
+ required: 'Date is required',
36
+ },
37
+ });
38
+
39
+ const zipcode = () => ({
40
+ $formkit: 'text',
41
+ label: 'Zip Code *',
42
+ placeholder: 'ex: 90210',
43
+ name: 'zip_code',
44
+ validation: 'required|matches:/^[0-9]{5}$/',
45
+ validationMessages: {
46
+ required: 'Zip Code is required',
47
+ matches: 'Invalid Zip Code',
48
+ },
49
+ });
50
+
51
+ const consent = () => ({
52
+ $formkit: 'checkbox',
53
+ label: 'By checking this box, I agree to the Terms of Use.',
54
+ name: 'consent',
55
+ validation: 'required|accepted',
56
+ validationMessages: {
57
+ accepted: 'You must agree!',
58
+ },
59
+ classes: {
60
+ label: "text-xs text-slate-500"
61
+ }
62
+ });
63
+
64
+ const dateAndZip = () => ({
65
+ $el: 'section',
66
+ attrs: {
67
+ style: {
68
+ if: '$activeStep !== "dateAndZip"',
69
+ then: 'display: none;'
70
+ }
71
+ },
72
+ children: [
73
+ {
74
+ $formkit: 'group',
75
+ id: 'dateAndZip',
76
+ name: 'dateAndZip',
77
+ children: [
78
+ zipcode(),
79
+ date(),
80
+ ]
81
+ }
82
+ ]
83
+ });
84
+
85
+ const contactInfo = () => ({
86
+ $el: 'section',
87
+ attrs: {
88
+ style: {
89
+ if: '$activeStep !== "contactInfo"',
90
+ then: 'display: none;'
91
+ }
92
+ },
93
+ children: [
94
+ {
95
+ $formkit: 'group',
96
+ id: 'contactInfo',
97
+ name: 'contactInfo',
98
+ children: [
99
+ email(),
100
+ phone(),
101
+ consent()
102
+ ]
103
+ }
104
+ ]
105
+ });
106
+
107
+ const formNavigation = () => ({
108
+ $el: 'div',
109
+ attrs: {
110
+ class: 'step-nav'
111
+ },
112
+ children: [
113
+ {
114
+ $formkit: 'button',
115
+ onClick: '$setPreviousStep()',
116
+ children: 'Previous Step',
117
+ style: {
118
+ if: '$activeStep === $firstStep()',
119
+ then: 'display: none;'
120
+ }
121
+ },
122
+ {
123
+ $formkit: 'button',
124
+ onClick: '$setNextStep()',
125
+ children: 'Next Step',
126
+ style: {
127
+ if: '$activeStep === $lastStep()',
128
+ then: 'display: none;'
129
+ }
130
+ },
131
+ {
132
+ $formkit: 'submit',
133
+ label: 'Submit Application',
134
+ style: {
135
+ if: '$activeStep !== $lastStep()',
136
+ then: 'display: none;'
137
+ }
138
+ }
139
+ ]
140
+ });
141
+
142
+ const formDetails = () => ({
143
+ $el: 'details',
144
+ children: [
145
+ {
146
+ $el: 'summary',
147
+ children: 'Form data'
148
+ },
149
+ {
150
+ $el: 'pre',
151
+ children: '$stringify( $get(form).value )'
152
+ },
153
+ {
154
+ $el: 'pre',
155
+ children: ['activeStep: ', '$activeStep']
156
+ },
157
+ {
158
+ $el: 'pre',
159
+ children: ['stepOrder: ', '$stepOrder']
160
+ }
161
+ ]
162
+ });
163
+
164
+ const schema = [
165
+ {
166
+ $cmp: 'FormKit',
167
+ props: {
168
+ type: 'form',
169
+ id: 'form',
170
+ onSubmit: '$submit("https://httpbin.org/post")',
171
+ // onSubmit: '$submit("https://httpbin.org/post", "https://www.google.com?x=${subid}")',
172
+ // onSubmit: '$mySubmit',
173
+ plugins: '$plugins',
174
+ actions: false,
175
+ },
176
+ children: [
177
+ {
178
+ $el: 'h1',
179
+ children: 'Need Help? Start Here!',
180
+ attrs: {
181
+ class: 'flex justify-center text-3xl font-bold'
182
+ }
183
+ },
184
+ {
185
+ $el: 'h3',
186
+ children: 'Get Your Questions Answered Today!',
187
+ attrs: {
188
+ class: 'flex justify-center text-l font-bold text-blue-500'
189
+ }
190
+ },
191
+ {
192
+ $formkit: 'hidden',
193
+ name: "subid",
194
+ value: "1234"
195
+ },
196
+ {
197
+ $el: 'div',
198
+ attrs: {
199
+ class: 'form-body'
200
+ },
201
+ children: [
202
+ dateAndZip(),
203
+ contactInfo(),
204
+ formNavigation(),
205
+ formDetails(),
206
+ ]
207
+ },
208
+ ]
209
+ }
210
+ ];
211
+
212
+ return schema;
213
+
214
+ })();
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ *,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*,:before,:after{--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mr-2{margin-right:.5rem}.mt-1{margin-top:.25rem}.mb-5{margin-bottom:1.25rem}.mb-0{margin-bottom:0}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.hidden{display:none}.h-10{height:2.5rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-2{height:.5rem}.h-32{height:8rem}.w-full{width:100%}.w-5{width:1.25rem}.w-16{width:4rem}.max-w-md{max-width:28rem}.cursor-pointer{cursor:pointer}.list-none{list-style-type:none}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.items-center{align-items:center}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.border{border-width:1px}.border-none{border-style:none}.border-gray-400{--tw-border-opacity: 1;border-color:rgb(156 163 175 / var(--tw-border-opacity))}.border-gray-500{--tw-border-opacity: 1;border-color:rgb(107 114 128 / var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity))}.p-0{padding:0}.p-1{padding:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-2{padding-left:.5rem;padding-right:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.pb-1{padding-bottom:.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xs{font-size:.75rem;line-height:1rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-bold{font-weight:700}.font-normal{font-weight:400}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity))}.text-gray-800{--tw-text-opacity: 1;color:rgb(31 41 55 / var(--tw-text-opacity))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity))}.placeholder-gray-400::-moz-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.placeholder-gray-400:-ms-input-placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.placeholder-gray-400::placeholder{--tw-placeholder-opacity: 1;color:rgb(156 163 175 / var(--tw-placeholder-opacity))}.transition{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}:root{--gray: #ccccd7;--gray-l: #eeeef4}.formkit-form{max-width:500px;flex-shrink:0;margin-top:1em;margin-bottom:1em;background:#fff;color:#000;border:1px solid var(--gray);border-radius:.5em;box-shadow:.25em .25em 1em #0000001a}#app .source-content{padding:2em;background:transparent}.steps{list-style-type:none;margin:0;display:flex;padding-left:0;background:var(--gray-l);border-radius:.4em .4em 0 0;overflow:hidden;border-bottom:1px solid var(--gray)}.step{font-size:14px;display:flex;align-items:center;padding:16px 20px;background:var(--gray-l);border-right:1px solid var(--gray);color:gray;flex-grow:0;flex-shrink:0;position:relative}.step:last-child{box-shadow:.1em -.1 .1em #00000054}.step:hover{cursor:pointer}[data-step-active=true]{color:#000;background:white!important;border-bottom:none;position:relative}.step--errors,[data-step-valid=true]:after{content:"\e2\153\201c";background-color:#54a085;position:absolute;top:4px;right:4px;height:18px;width:18px;border-radius:50%;z-index:10;display:flex;font-size:10px;flex-direction:column;justify-content:center;text-align:center;color:#fff}.step--errors{background-color:#ff4949;color:#fff;z-index:100}.step-nav{display:flex;margin-top:2em;margin-bottom:1em;justify-content:space-between}.form-body{padding:2em}.next{margin-left:auto}.formkit-outer[data-type=submit] .formkit-wrapper{padding:0 2em 1em;display:flex}.formkit-outer[data-type=submit] .formkit-input{margin-left:auto;margin-right:0}details{border:1px solid var(--gray);background:var(--gray-l);border-radius:.15em;padding:1em}.formkit-form>.formkit-messages{padding:0 2em}.formkit-form>.formkit-messages:last-child{padding:0 2em 2em}[data-errors=true] .formkit-label{color:#ff4949}.formkit-wrapper{max-width:100%}button:hover,summary{cursor:pointer}p{max-width:600px}p small{color:#999}h1{margin:.25em 0;max-width:600px}@media (max-width: 438px){h1{font-size:1.15em}#app .source-content{padding:.5em}.steps{flex-direction:column}.step{border-bottom:1px solid var(--gray);border-right:none}.step:last-child{border-bottom:none}.form-body{padding:1em}.formkit-outer[data-type=submit] .formkit-wrapper{padding:0 1em 1em;display:flex}.formkit-form>.formkit-messages{padding:0 1em}.formkit-form>.formkit-messages:last-child{padding:0 1em 1em}}.file\:mr-4::-webkit-file-upload-button{margin-right:1rem}.file\:mr-4::file-selector-button{margin-right:1rem}.file\:rounded-full::-webkit-file-upload-button{border-radius:9999px}.file\:rounded-full::file-selector-button{border-radius:9999px}.file\:border-0::-webkit-file-upload-button{border-width:0px}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-blue-500::-webkit-file-upload-button{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.file\:bg-blue-500::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.file\:py-2::-webkit-file-upload-button{padding-top:.5rem;padding-bottom:.5rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:px-4::-webkit-file-upload-button{padding-left:1rem;padding-right:1rem}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:text-white::-webkit-file-upload-button{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.file\:text-white::file-selector-button{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity))}.checked\:bg-blue-500:checked{--tw-bg-opacity: 1;background-color:rgb(59 130 246 / var(--tw-bg-opacity))}.focus-within\:border-blue-500:focus-within{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity))}.hover\:file\:bg-blue-600::-webkit-file-upload-button:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.hover\:file\:bg-blue-600::file-selector-button:hover{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity))}.focus\:shadow-none:focus{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}
package/package.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "name": "bhl-forms",
3
+ "version": "0.0.1",
4
+ "publishConfig": {
5
+ "access": "public"
6
+ },
7
+ "author": "Bunker Hill Labs",
8
+ "license": "UNLICENSED",
9
+ "homepage": "https://www.bunkerhilllabs.com/",
10
+ "keywords": [
11
+ "bhl"
12
+ ],
13
+ "files": [
14
+ "dist"
15
+ ],
16
+ "main": "./src/main.js",
17
+ "scripts": {
18
+ "dev": "vite",
19
+ "build": "vite build && ./scripts/build-forms.sh",
20
+ "serve": "vite preview",
21
+ "pub": "vite build && ./scripts/build-forms.sh && npm publish",
22
+ "patch": "npm version patch --force --commit-hooks false",
23
+ "patchpub": "vite build && ./scripts/build-forms.sh && npm version patch --force --commit-hooks false && npm publish"
24
+ },
25
+ "dependencies": {
26
+ "formkit-multistep": "0.0.7",
27
+ "vue": "^3.2.16"
28
+ },
29
+ "devDependencies": {
30
+ "vite": "^2.6.4",
31
+ "@vitejs/plugin-vue": "^1.9.3",
32
+ "autoprefixer": "^10.4.7",
33
+ "postcss": "^8.4.14",
34
+ "tailwindcss": "^3.0.24"
35
+ }
36
+ }