PageSourceSearch

https://eskimohut.com/assets/index.page-DNFb7Cx6.js

js eskimohut.com collected 2026-10-08 17:47:06 UTC 8,630 bytes, 174 lines download raw bytes

1import{az as f,ai as S,T as P,aR as v,n as x,ɵ as O,D as w,r as k,s as D,z as T,u as E,t as z,b2 as j,b1 as e,a$ as M,b0 as t,bp as o,b3 as q,bu as u,aP as C,bd as N,aK as s,bv as p,ba as c,aO as y,b7 as F,br as V,bl as b,bt as _,bi as h}from"./index-B-9Bdbdi.js";function H(m,i){m&1&&(e(0,"div",24)(1,"span",28),o(2,"check_circle"),t(),o(3," Suggestion submitted successfully! Thank you. "),t())}function W(m,i){if(m&1&&(e(0,"div",25)(1,"span",28),o(2,"error"),t(),o(3),t()),m&2){const r=F();s(3),V(" ",r.submitError()," ")}}function A(m,i){m&1&&(M(0,"span",29),o(1," Submitting... "))}function L(m,i){m&1&&o(0," Submit ")}class g{formData=f({name:"",email:"",phone:"",message:""});submitting=f(!1);submitSuccess=f(!1);submitError=f("");suggestionsService=S(P);async onSubmit(){if(this.submitting())return;const i=this.formData();if(!i.name||!i.email||!i.message){this.submitError.set("Please fill in all required fields.");return}this.submitting.set(!0),this.submitError.set(""),this.submitSuccess.set(!1);try{await this.suggestionsService.submit({name:i.name,email:i.email,phone:i.phone,message:i.message}),this.submitSuccess.set(!0),this.formData.set({name:"",email:"",phone:"",message:""})}catch(r){this.submitError.set(r instanceof Error?r.message:"Submission failed. Please try again.")}finally{this.submitting.set(!1)}}static ɵfac=function(r){return new(r||g)};static ɵcmp=v({type:g,selectors:[["app-suggestions"]],hostAttrs:["ngSkipHydration",""],decls:44,vars:12,consts:[["suggestionsForm","ngForm"],[1,"contact-us-container"],[1,"contact-content"],[1,"contact-info"],[1,"logo-container"],["src","/eskimo-hut-logo-256.png","alt","Eskimo Hut Logo",1,"logo-image"],[1,"info-text"],[1,"headquarters-title"],[1,"contact-details"],[1,"contact-item"],["href","mailto:[email protected]",1,"contact-link"],["href","tel:+12818591994",1,"contact-link"],[1,"contact-form-section"],[1,"form-title"],[1,"contact-form",3,"ngSubmit"],[1,"form-group"],["for","name",1,"form-label"],["type","text","id","name","name","name","required","",1,"form-input",3,"ngModelChange","ngModel","disabled"],["for","email",1,"form-label"],["type","email","id","email","name","email","required","",1,"form-input",3,"ngModelChange","ngModel","disabled"],["for","phone",1,"form-label"],["type","tel","id","phone","name","phone",1,"form-input",3,"ngModelChange","ngModel","disabled"],["for","message",1,"form-label"],["id","message","name","message","rows","4","required","",1,"form-input","form-textarea",3,"ngModelChange","ngModel","disabled"],[1,"p-3","mb-4","bg-green-500/20","border-2","border-green-500/40","rounded","text-sm","text-white","font-semibold","text-center","flex","items-center","justify-center","gap-2"],[1,"p-3","mb-4","bg-red-500/20","border-2","border-red-500/40","rounded","text-sm","text-white","font-semibold","text-center","flex","items-center","justify-center","gap-2"],[1,"form-actions"],["type","submit",1,"submit-btn",3,"disabled"],[1,"material-symbols-outlined","text-lg"],[1,"inline-block","w-4","h-4","border-2","border-primary/60","border-t-primary","rounded-full","animate-spin","mr-2"]],template:function(r,n){if(r&1){const l=j();e(0,"div",1)(1,"div",2)(2,"div",3)(3,"div",4),M(4,"img",5),t(),e(5,"div",6)(6,"h2",7),o(7,"Eskimo Hut Headquarters"),t(),e(8,"div",8)(9,"p",9),o(10," Email: "),e(11,"a",10),o(12," [email protected] "),t()(),e(13,"p",9),o(14," Phone: "),e(15,"a",11),o(16," +1 281-859-1994 "),t()()()()(),e(17,"div",12)(18,"h2",13),o(19,"Send Us a Suggestion"),t(),e(20,"form",14,0),q("ngSubmit",function(){return n.onSubmit()}),e(22,"div",15)(23,"label",16),o(24,"Name:"),t(),e(25,"input",17),u("ngModelChange",function(a){return b(l),_(n.formData().name,a)||(n.formData().name=a),h(a)}),t()(),e(26,"div",15)(27,"label",18),o(28,"Email:"),t(),e(29,"input",19),u("ngModelChange",function(a){return b(l),_(n.formData().email,a)||(n.formData().email=a),h(a)}),t()(),e(30,"div",15)(31,"label",20),o(32,"Phone:"),t(),e(33,"input",21),u("ngModelChange",function(a){return b(l),_(n.formData().phone,a)||(n.formData().phone=a),h(a)}),t()(),e(34,"div",15)(35,"label",22),o(36,"Suggestion:"),t(),e(37,"textarea",23),u("ngModelChange",function(a){return b(l),_(n.formData().message,a)||(n.formData().message=a),h(a)}),t()(),C(38,H,4,0,"div",24),C(39,W,4,1,"div",25),e(40,"div",26)(41,"button",27),C(42,A,2,0)(43,L,1,0),t()()()()()()}if(r&2){const l=N(21);s(25),p("ngModel",n.formData().name),c("disabled",n.submitting()),s(4),p("ngModel",n.formData().email),c("disabled",n.submitting()),s(4),p("ngModel",n.formData().phone),c("disabled",n.submitting()),s(4),p("ngModel",n.formData().message),c("disabled",n.submitting()),s(),y(n.submitSuccess()?38:-1),s(),y(n.submitError()?39:-1),s(2),c("disabled",l.invali
1d||n.submitting()),s(),y(n.submitting()?42:43)}},dependencies:[x,O,w,k,D,T,E,z],styles:[`.contact-us-container[_ngcontent-%COMP%] {
2  min-height: 100vh;
3  background-color: var(--color-background);
4  padding: 2rem 1rem;
5  display: flex;
6  align-items: center;
7  justify-content: center;
8}
9
10.contact-content[_ngcontent-%COMP%] {
11  display: grid;
12  grid-template-columns: 1fr 1fr;
13  gap: 3rem;
14  max-width: 1000px;
15  width: 100%;
16  margin: 0 auto;
17}
18
19.contact-info[_ngcontent-%COMP%] {
20  display: flex;
21  flex-direction: column;
22  align-items: center;
23  justify-content: center;
24  text-align: center;
25  padding: 2rem 0;
26}
27
28.logo-container[_ngcontent-%COMP%] {
29  margin-bottom: 2rem;
30}
31
32.logo-image[_ngcontent-%COMP%] {
33  width: 256px;
34  height: auto;
35}
36
37.info-text[_ngcontent-%COMP%] {
38  color: var(--color-primary);
39}
40
41.headquarters-title[_ngcontent-%COMP%] {
42  font-family: var(--font-display);
43  font-size: 1.5rem;
44  font-weight: 700;
45  color: var(--color-primary);
46  margin-bottom: 1rem;
47  text-align: left;
48}
49
50.contact-details[_ngcontent-%COMP%] {
51  display: flex;
52  flex-direction: column;
53  gap: 0.5rem;
54  text-align: left;
55}
56
57.contact-item[_ngcontent-%COMP%] {
58  font-family: var(--font-body);
59  font-size: 1rem;
60  color: var(--color-primary);
61  margin: 0;
62}
63
64.contact-link[_ngcontent-%COMP%] {
65  color: var(--color-primary);
66  text-decoration: none;
67  transition: opacity 0.3s ease;
68}
69.contact-link[_ngcontent-%COMP%]:hover {
70  opacity: 0.8;
71  text-decoration: underline;
72}
73
74.contact-form-section[_ngcontent-%COMP%]   .form-title[_ngcontent-%COMP%] {
75  font-family: var(--font-display);
76  font-size: 1.5rem;
77  font-weight: 700;
78  color: var(--color-primary);
79  margin-bottom: 1rem;
80}
81
82.contact-form[_ngcontent-%COMP%] {
83  background-color: var(--color-secondary);
84  padding: 1.5rem;
85  border-radius: 4px;
86}
87
88.form-group[_ngcontent-%COMP%] {
89  margin-bottom: 1rem;
90}
91.form-group[_ngcontent-%COMP%]:last-of-type {
92  margin-bottom: 1.5rem;
93}
94
95.form-label[_ngcontent-%COMP%] {
96  display: block;
97  font-family: var(--font-body);
98  font-size: 0.9375rem;
99  font-weight: 600;
100  color: #ffffff;
101  margin-bottom: 0.25rem;
102}
103
104.form-input[_ngcontent-%COMP%] {
105  width: 100%;
106  padding: 0.625rem;
107  font-family: var(--font-body);
108  font-size: 1rem;
109  border: none;
110  border-radius: 2px;
111  background-color: #ffffff;
112  color: var(--color-on-surface);
113  outline: none;
114  transition: box-shadow 0.3s ease;
115}
116.form-input[_ngcontent-%COMP%]:focus {
117  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
118}
119.form-input[_ngcontent-%COMP%]::placeholder {
120  color: rgba(107, 114, 128, 0.8);
121}
122
123.form-textarea[_ngcontent-%COMP%] {
124  resize: vertical;
125  min-height: 80px;
126}
127
128.form-actions[_ngcontent-%COMP%] {
129  display: flex;
130  justify-content: flex-end;
131}
132
133.submit-btn[_ngcontent-%COMP%] {
134  font-family: var(--font-body);
135  font-size: 1rem;
136  font-weight: 600;
137  padding: 0.625rem 2rem;
138  border: none;
139  border-radius: 2px;
140  background-color: #ffffff;
141  color: var(--color-secondary);
142  cursor: pointer;
143  transition: all 0.3s ease;
144}
145.submit-btn[_ngcontent-%COMP%]:hover {
146  opacity: 0.9;
147  transform: translateY(-1px);
148  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
149}
150.submit-btn[_ngcontent-%COMP%]:active {
151  transform: translateY(0);
152}
153.submit-btn[_ngcontent-%COMP%]:disabled {
154  opacity: 0.5;
155  cursor: not-allowed;
156  transform: none;
157  box-shadow: none;
158}
159
160@media (max-width: 768px) {
161  .contact-content[_ngcontent-%COMP%] {
162    grid-template-columns: 1fr;
163    gap: 2rem;
164  }
165  .contact-info[_ngcontent-%COMP%] {
166    padding: 1rem 0;
167  }
168  .logo-image[_ngcontent-%COMP%] {
169    width: 180px;
170  }
171  .contact-form[_ngcontent-%COMP%] {
172    padding: 1rem;
173  }
174}`]})}const Y=Object.freeze(Object.defineProperty({__proto__:null,SuggestionsComponent:g,default:g},Symbol.toStringTag,{value:"Module"})),B=Object.freeze(Object.defineProperty({__proto__:null,default:g},Symbol.toStringTag,{value:"Module"}));export{B as i,Y as s};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.