proto-autos-wc 0.1.65 → 0.1.67

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.
@@ -4,7 +4,7 @@ const NAMESPACE = 'proto-autos-wc';
4
4
  const BUILD = /* proto-autos-wc */ { hydratedSelectorName: "hydrated", lazyLoad: true, updatable: true, watchCallback: false };
5
5
 
6
6
  /*
7
- Stencil Client Platform v4.36.0 | MIT Licensed | https://stenciljs.com
7
+ Stencil Client Platform v4.36.1 | MIT Licensed | https://stenciljs.com
8
8
  */
9
9
  var __defProp = Object.defineProperty;
10
10
  var __export = (target, all) => {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cloikg1q.js');
3
+ var index = require('./index-CXKv0q8U.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  const defineCustomElements = async (win, options) => {
7
7
  if (typeof window === 'undefined') return undefined;
8
8
  await appGlobals.globalScripts();
9
- return index.bootstrapLazy([["proto-autos.cjs",[[1,"proto-autos",{"tag":[1]}]]]], options);
9
+ return index.bootstrapLazy([["proto-autos.cjs",[[257,"proto-autos",{"tag":[1]}]]]], options);
10
10
  };
11
11
 
12
12
  exports.setNonce = index.setNonce;
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cloikg1q.js');
3
+ var index = require('./index-CXKv0q8U.js');
4
4
  var appGlobals = require('./app-globals-V2Kpy_OQ.js');
5
5
 
6
6
  var _documentCurrentScript = typeof document !== 'undefined' ? document.currentScript : null;
7
7
  /*
8
- Stencil Client Patch Browser v4.36.0 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v4.36.1 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
 
11
11
  var patchBrowser = () => {
@@ -19,7 +19,7 @@ var patchBrowser = () => {
19
19
 
20
20
  patchBrowser().then(async (options) => {
21
21
  await appGlobals.globalScripts();
22
- return index.bootstrapLazy([["proto-autos.cjs",[[1,"proto-autos",{"tag":[1]}]]]], options);
22
+ return index.bootstrapLazy([["proto-autos.cjs",[[257,"proto-autos",{"tag":[1]}]]]], options);
23
23
  });
24
24
 
25
25
  exports.setNonce = index.setNonce;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-Cloikg1q.js');
3
+ var index = require('./index-CXKv0q8U.js');
4
4
 
5
5
  const KEY = 'proto-autos';
6
6
  const DATA = 'data';
@@ -98,6 +98,8 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
98
98
  set: [],
99
99
  reset: [],
100
100
  };
101
+ // Track onChange listeners to enable removeListener functionality
102
+ const changeListeners = new Map();
101
103
  const reset = () => {
102
104
  // When resetting the state, the default state may be a function - unwrap it to invoke it.
103
105
  // otherwise, the state won't be properly reset
@@ -151,17 +153,21 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
151
153
  };
152
154
  };
153
155
  const onChange = (propName, cb) => {
154
- const unSet = on('set', (key, newValue) => {
156
+ const setHandler = (key, newValue) => {
155
157
  if (key === propName) {
156
158
  cb(newValue);
157
159
  }
158
- });
159
- // We need to unwrap the defaultState because it might be a function.
160
- // Otherwise we might not be sending the right reset value.
161
- const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
160
+ };
161
+ const resetHandler = () => cb(unwrap(defaultState)[propName]);
162
+ // Register the handlers
163
+ const unSet = on('set', setHandler);
164
+ const unReset = on('reset', resetHandler);
165
+ // Track the relationship between the user callback and internal handlers
166
+ changeListeners.set(cb, { setHandler, resetHandler, propName });
162
167
  return () => {
163
168
  unSet();
164
169
  unReset();
170
+ changeListeners.delete(cb);
165
171
  };
166
172
  };
167
173
  const use = (...subscriptions) => {
@@ -186,6 +192,15 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
186
192
  const oldValue = states.get(key);
187
193
  handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
188
194
  };
195
+ const removeListener = (propName, listener) => {
196
+ const listenerInfo = changeListeners.get(listener);
197
+ if (listenerInfo && listenerInfo.propName === propName) {
198
+ // Remove the specific handlers that were created for this listener
199
+ removeFromArray(handlers.set, listenerInfo.setHandler);
200
+ removeFromArray(handlers.reset, listenerInfo.resetHandler);
201
+ changeListeners.delete(listener);
202
+ }
203
+ };
189
204
  return {
190
205
  state,
191
206
  get,
@@ -196,6 +211,7 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
196
211
  dispose,
197
212
  reset,
198
213
  forceUpdate,
214
+ removeListener,
199
215
  };
200
216
  };
201
217
  const removeFromArray = (array, item) => {
@@ -4,7 +4,7 @@
4
4
  ],
5
5
  "compiler": {
6
6
  "name": "@stencil/core",
7
- "version": "4.36.0",
7
+ "version": "4.36.1",
8
8
  "typescriptVersion": "5.5.4"
9
9
  },
10
10
  "collections": [],
@@ -2,7 +2,7 @@ const NAMESPACE = 'proto-autos-wc';
2
2
  const BUILD = /* proto-autos-wc */ { hydratedSelectorName: "hydrated", lazyLoad: true, updatable: true, watchCallback: false };
3
3
 
4
4
  /*
5
- Stencil Client Platform v4.36.0 | MIT Licensed | https://stenciljs.com
5
+ Stencil Client Platform v4.36.1 | MIT Licensed | https://stenciljs.com
6
6
  */
7
7
  var __defProp = Object.defineProperty;
8
8
  var __export = (target, all) => {
@@ -1,11 +1,11 @@
1
- import { b as bootstrapLazy } from './index-Bba431fE.js';
2
- export { s as setNonce } from './index-Bba431fE.js';
1
+ import { b as bootstrapLazy } from './index-B_J06f6Q.js';
2
+ export { s as setNonce } from './index-B_J06f6Q.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  const defineCustomElements = async (win, options) => {
6
6
  if (typeof window === 'undefined') return undefined;
7
7
  await globalScripts();
8
- return bootstrapLazy([["proto-autos",[[1,"proto-autos",{"tag":[1]}]]]], options);
8
+ return bootstrapLazy([["proto-autos",[[257,"proto-autos",{"tag":[1]}]]]], options);
9
9
  };
10
10
 
11
11
  export { defineCustomElements };
@@ -1,9 +1,9 @@
1
- import { p as promiseResolve, b as bootstrapLazy } from './index-Bba431fE.js';
2
- export { s as setNonce } from './index-Bba431fE.js';
1
+ import { p as promiseResolve, b as bootstrapLazy } from './index-B_J06f6Q.js';
2
+ export { s as setNonce } from './index-B_J06f6Q.js';
3
3
  import { g as globalScripts } from './app-globals-DQuL1Twl.js';
4
4
 
5
5
  /*
6
- Stencil Client Patch Browser v4.36.0 | MIT Licensed | https://stenciljs.com
6
+ Stencil Client Patch Browser v4.36.1 | MIT Licensed | https://stenciljs.com
7
7
  */
8
8
 
9
9
  var patchBrowser = () => {
@@ -17,5 +17,5 @@ var patchBrowser = () => {
17
17
 
18
18
  patchBrowser().then(async (options) => {
19
19
  await globalScripts();
20
- return bootstrapLazy([["proto-autos",[[1,"proto-autos",{"tag":[1]}]]]], options);
20
+ return bootstrapLazy([["proto-autos",[[257,"proto-autos",{"tag":[1]}]]]], options);
21
21
  });
@@ -1,4 +1,4 @@
1
- import { g as getRenderingRef, f as forceUpdate, h, r as registerInstance } from './index-Bba431fE.js';
1
+ import { g as getRenderingRef, f as forceUpdate, h, r as registerInstance } from './index-B_J06f6Q.js';
2
2
 
3
3
  const KEY = 'proto-autos';
4
4
  const DATA = 'data';
@@ -96,6 +96,8 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
96
96
  set: [],
97
97
  reset: [],
98
98
  };
99
+ // Track onChange listeners to enable removeListener functionality
100
+ const changeListeners = new Map();
99
101
  const reset = () => {
100
102
  // When resetting the state, the default state may be a function - unwrap it to invoke it.
101
103
  // otherwise, the state won't be properly reset
@@ -149,17 +151,21 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
149
151
  };
150
152
  };
151
153
  const onChange = (propName, cb) => {
152
- const unSet = on('set', (key, newValue) => {
154
+ const setHandler = (key, newValue) => {
153
155
  if (key === propName) {
154
156
  cb(newValue);
155
157
  }
156
- });
157
- // We need to unwrap the defaultState because it might be a function.
158
- // Otherwise we might not be sending the right reset value.
159
- const unReset = on('reset', () => cb(unwrap(defaultState)[propName]));
158
+ };
159
+ const resetHandler = () => cb(unwrap(defaultState)[propName]);
160
+ // Register the handlers
161
+ const unSet = on('set', setHandler);
162
+ const unReset = on('reset', resetHandler);
163
+ // Track the relationship between the user callback and internal handlers
164
+ changeListeners.set(cb, { setHandler, resetHandler, propName });
160
165
  return () => {
161
166
  unSet();
162
167
  unReset();
168
+ changeListeners.delete(cb);
163
169
  };
164
170
  };
165
171
  const use = (...subscriptions) => {
@@ -184,6 +190,15 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
184
190
  const oldValue = states.get(key);
185
191
  handlers.set.forEach((cb) => cb(key, oldValue, oldValue));
186
192
  };
193
+ const removeListener = (propName, listener) => {
194
+ const listenerInfo = changeListeners.get(listener);
195
+ if (listenerInfo && listenerInfo.propName === propName) {
196
+ // Remove the specific handlers that were created for this listener
197
+ removeFromArray(handlers.set, listenerInfo.setHandler);
198
+ removeFromArray(handlers.reset, listenerInfo.resetHandler);
199
+ changeListeners.delete(listener);
200
+ }
201
+ };
187
202
  return {
188
203
  state,
189
204
  get,
@@ -194,6 +209,7 @@ const createObservableMap = (defaultState, shouldUpdate = (a, b) => a !== b) =>
194
209
  dispose,
195
210
  reset,
196
211
  forceUpdate,
212
+ removeListener,
197
213
  };
198
214
  };
199
215
  const removeFromArray = (array, item) => {
@@ -0,0 +1 @@
1
+ import{g as n,f as e,h as r,r as t}from"./p-B_J06f6Q.js";const o="proto-autos",a="data",i="pick",l=n=>{const e=localStorage.getItem(n?`${o}-${n}`:o);return e?JSON.parse(e):void 0},s=(n,e)=>{const r=n?`${o}-${n}`:o,t=JSON.stringify(e);localStorage.setItem(r,t)},c=n=>!("isConnected"in n)||n.isConnected,d=(()=>{let n;return(...e)=>{n&&clearTimeout(n),n=setTimeout((()=>{n=0,(n=>{for(let e of n.keys())n.set(e,n.get(e).filter(c))})(...e)}),2e3)}})(),u=n=>"function"==typeof n?n():n,f=(n,e)=>{const r=n.indexOf(e);r>=0&&(n[r]=n[n.length-1],n.length--)};var h=function(){function n(n,e){for(var r=0;r<e.length;r++){var t=e[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(n,t.key,t)}}return function(e,r,t){return r&&n(e.prototype,r),t&&n(e,t),e}}();function g(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}var b=function(){function n(){var e=this;g(this,n),this.interceptors=[],this.fetch=function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.interceptorWrapper.apply(e,[fetch].concat(r))}}return h(n,[{key:"addInterceptors",value:function(n){var e=this,r=[];return Array.isArray(n)?n.map((function(n){return r.push(e.interceptors.length),e.interceptors.push(n)})):n instanceof Object&&(r.push(this.interceptors.length),this.interceptors.push(n)),this.updateInterceptors(),function(){return e.removeInterceptors(r)}}},{key:"removeInterceptors",value:function(n){var e=this;Array.isArray(n)&&(n.map((function(n){return e.interceptors.splice(n,1)})),this.updateInterceptors())}},{key:"updateInterceptors",value:function(){this.reversedInterceptors=this.interceptors.reduce((function(n,e){return[e].concat(n)}),[])}},{key:"clearInterceptors",value:function(){this.interceptors=[],this.updateInterceptors()}},{key:"interceptorWrapper",value:function(n){for(var e=arguments.length,r=Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];var o=Promise.resolve(r);return this.reversedInterceptors.forEach((function(n){var e=n.request,t=n.requestError;(e||t)&&(o=o.then((function(){return e.apply(void 0,r)}),t))})),o=o.then((function(){return n.apply(void 0,r)})),this.reversedInterceptors.forEach((function(n){var e=n.response,r=n.responseError;(e||r)&&(o=o.then(e,r))})),o}}]),n}(),v=function(){function n(e){var r=e.url,t=e.interceptors,o=e.headers,a=e.onStart,i=e.onEnd,l=e.omitEmptyVariables,s=void 0!==l&&l,c=e.requestOptions,d=void 0===c?{}:c;g(this,n);var u=function(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?n:e}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return u.requestObject=Object.assign({},{method:"POST",headers:Object.assign({},{Accept:"application/json","Content-Type":"application/json"},o),credentials:"same-origin"},d),u.url=r,u.omitEmptyVariables=s,u.requestQueueLength=0,u.EnumMap={},u.callbacks={onStart:a,onEnd:i},u.addInterceptors(t),u}return function(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}(n,b),h(n,[{key:"query",value:function(n){var e,r=this,t=n.operationName,o=n.query,a=n.variables,i=n.opts,l=void 0===i?{}:i,s=n.requestOptions,c=Object.assign({},this.requestObject,void 0===s?{}:s);return e=this.omitEmptyVariables||l.omitEmptyVariables?this.doOmitEmptyVariables(a):a,c.body=JSON.stringify({operationName:t,query:o,variables:e}),this.onStart(),this.fetch(this.url,c).then((function(n){return n.ok?n.json():{errors:[{message:n.statusText,stack:n}]}})).then((function(n){var e=n.data,t=n.errors;return new Promise((function(n,o){return r.onEnd(),e?Object.keys(e).every((function(n){return!e[n]}))?o(t):n({data:e,errors:t}):o(t||[{}])}))}))}},{key:"getUrl",value:function(){return this.url}},{key:"setUrl",value:function(n){this.url=n}},{key:"getEnumTypes",value:function(n){var e=this,r={},t=n.filter((function(n){return!e.EnumMap[n]||(r[n]=e.EnumMap[n],!1)}));if(!t.length)return new Promise((function(n){n({data:r})}));var o="\n query {\n "+t.map((function(n){return n+': __type(name: "'+n+'") {\n ...EnumFragment\n }'})).join("\n")+"\n }\n \n fragment EnumFragment on __Type {\n kind\n description\n enumValues {\n name\n description\n }\n }",a=Object.assign({},this.requestObject);return a.body=JSON.stringify({query:o}),this.onStart(),this.fetch(this.url,a).then((function(n){return n.ok?n.json():{errors:[{message:n.statusText,stack:n}]}})).then((function(n){var t=n.data,o=n.errors;return new Promise((function(n,a){if(e.onEnd(),!t)return a(o||[{message:"Do not get any data."}]);if(Object.keys(t).every((function(n){return!t[n]}))&&o&&o.length)return a(o);var i=Object.assign(r,t);return Object.keys(t).map((function(n){return e.EnumMap[n]=t[n],n})),n({data:i,errors:o})}))}))}},{key:"onStart",value:function(){this.requestQueueLength++,this.requestQueueLength>1||!this.callbacks.onStart||this.callbacks.onStart(this.requestQueueLength)}},{key:"onEnd",value:function(){this.requestQueueLength--,!this.requestQueueLength&&this.callbacks.onEnd&&this.callbacks.onEnd(this.requestQueueLength)}},{key:"doOmitEmptyVariables",value:function(n){var e=this,r={};return Object.keys(n).map((function(t){var o=n[t];return"string"==typeof o&&0===o.length||null==o||(r[t]=o instanceof Object?e.doOmitEmptyVariables(o):o),t})),r}}]),n}();const m={loading:!1,error:void 0,data:void 0,pick:0,dealer:void 0},{state:p}=(()=>{const r=((n,e=(n,e)=>n!==e)=>{const r=u(n);let t=new Map(Object.entries(r??{}));const o={dispose:[],get:[],set:[],reset:[]},a=new Map,i=()=>{t=new Map(Object.entries(u(n)??{})),o.reset.forEach((n=>n()))},l=n=>(o.get.forEach((e=>e(n))),t.get(n)),s=(n,r)=>{const a=t.get(n);e(r,a,n)&&(t.set(n,r),o.set.forEach((e=>e(n,r,a))))},c="undefined"==typeof Proxy?{}:new Proxy(r,{get:(n,e)=>l(e),ownKeys:()=>Array.from(t.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(n,e)=>t.has(e),set:(n,e,r)=>(s(e,r),!0)}),d=(n,e)=>(o[n].push(e),()=>{f(o[n],e)});return{state:c,get:l,set:s,on:d,onChange:(e,r)=>{const t=(n,t)=>{n===e&&r(t)},o=()=>r(u(n)[e]),i=d("set",t),l=d("reset",o);return a.set(r,{setHandler:t,resetHandler:o,propName:e}),()=>{i(),l(),a.delete(r)}},use:(...n)=>{const e=n.reduce(((n,e)=>(e.set&&n.push(d("set",e.set)),e.get&&n.push(d("get",e.get)),e.reset&&n.push(d("reset",e.reset)),e.dispose&&n.push(d("dispose",e.dispose)),n)),[]);return()=>e.forEach((n=>n()))},dispose:()=>{o.dispose.forEach((n=>n())),i()},reset:i,forceUpdate:n=>{const e=t.get(n);o.set.forEach((r=>r(n,e,e)))},removeListener:(n,e)=>{const r=a.get(e);r&&r.propName===n&&(f(o.set,r.setHandler),f(o.reset,r.resetHandler),a.delete(e))}}})(m,void 0);return r.use((()=>{if("function"!=typeof n)return{};const r=new Map;return{dispose:()=>r.clear(),get:e=>{const t=n();t&&((n,e,r)=>{const t=n.get(e);t?t.includes(r)||t.push(r):n.set(e,[r])})(r,e,t)},set:n=>{const t=r.get(n);t&&r.set(n,t.filter(e)),d(r)},reset:()=>{r.forEach((n=>n.forEach(e))),d(r)}}})()),r})(),w=(n=!1)=>{p.loading=n,p.error=void 0,p.pick=0,p.data=void 0,p.dealer=void 0},y=n=>{if(n){const{pick:e}=p;p.dealer=null!=e?n.list[e]:void 0,p.data=n,p.loading=!1}else p.data=void 0,p.loading=!1},x=n=>{const{data:e}=p;e&&void 0!==n?(p.pick=n,p.dealer=e.list[n]):(p.pick=0,p.dealer=void 0)};var k=new v({url:"https://gt-forza.vercel.app/graphql"});const j=()=>{w(!0),s(i,0),k.query({operationName:"Uuid",query:"\n query Uuid($count: Int!) {\n uuid(count: $count)\n }\n",variables:{count:1}}).then((n=>{const e=n.data.uuid[0];k.query({operationName:"Solution",query:"\n query Solution($id: String!) {\n solution(id: $id) {\n id\n data {\n dealers {\n dealerId\n name\n vehicles {\n vin\n year\n make\n model\n color\n }\n }\n }\n }\n }\n",variables:{id:e}}).then((n=>{const r=JSON.parse(JSON.stringify(n.data.solution.data.dealers)),t={id:e,list:r};s(a,t),y(t)}))}))},O=()=>{w();const n=l(a),e=l(i);n?(y(n),e&&x(e)):j()},S=j,z=n=>{s(i,n),x(n)},E=(...n)=>n.filter(Boolean).join(" "),N=n=>{const{value:e}=n,{dealerId:t,name:o,vehicles:a}=e||{},i=a?a.length:0;return r("div",{class:E("flex flex-wrap content-center","mb-4 rounded-lg bg-blue-200 p-4","border border-solid border-blue-400")},r("label",{class:"text-xl font-bold"},o?`${o} `:"",r("sup",null,i||"")),r("label",{class:"ml-auto self-center text-right text-sm"},t||""))},$=/^\#[0-9]*/,C=n=>null!=n.match($),I=n=>2554===n,T=n=>n>2010,q=n=>{const{vin:e,make:t,model:o,year:a,color:i}=n.value||{};return r("div",{class:E("flex align-middle","mb-1 rounded-lg p-4","border border-solid",I(a)?"border-clrs-navy bg-clrs-navy text-clrs-white":C(o)?"border-yellow-600 bg-yellow-300":T(a)?"border-green-600 bg-green-200":"border-gray-600 bg-gray-300")},r("div",{class:"mr-1.5 flex flex-col"},r("label",{class:"mb-2 text-xs"},e||""),r("label",{class:"text-lg font-bold"},t||""),r("label",{class:"mb-2 text-sm italic"},o||""),r("label",null,a||"",", ",i||""),r("label",null,I(a)?"- exotic... [ Sierra 117 ]":C(o)?"- track only...":"")),r("proto-ikon-loader",{class:"ikon ml-auto self-center",name:t,label:t.toLowerCase()}))},A=n=>{const{list:e}=n,t=e.length;return 0===t?"":r("div",{class:"flex flex-col"},t?e.map((n=>r(q,{value:n}))):"")},P=n=>{const{dealer:e}=n,{vehicles:t}=e||{vehicles:[]},o=t;return e?r("div",{class:"flex flex-col"},r(N,{value:e}),r(A,{list:o})):""},J="eswat2",M=()=>r("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":J,target:"blank",title:J},r("proto-ikon-loader",{name:"fingerprint",size:24,label:"eswat2"})),U=()=>r("div",{class:"mb-4 mr-2 mt-2 flex flex-row"},r("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.1.11")),_=n=>{const{label:e}=n;return r("h1",{class:E("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},e)},D=n=>{const e=n.hex||"currentColor",t=n.label||"loading...",o=n.size||24;return r("svg",{class:E(n.class||"","animate-spin"),width:o,height:o,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},r("title",null,t),r("g",null,r("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:e,"stroke-width":"4"}),r("path",{class:"opacity-75",fill:e,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),r("path",{d:"M0 0h24v24H0z",fill:"none"}))},H=()=>{const{loading:n,pick:e,data:t}=p||{},{list:o}=t||{list:[]},a=o.length-1;return n?"":r("div",{class:"flex"},r("div",{class:"refresh hover:text-clrs-red md:w-auto",onClick:()=>S()},r("proto-ikon-loader",{name:"refresh",size:24})),r("div",{class:E("ml-auto inline-flex justify-end","border border-solid border-gray-600","rounded-md")},o.map(((n,t)=>r("button",{class:E("h-8 w-8 border-none font-bold",0==t?"rounded-bl-md rounded-br-none rounded-tl-md rounded-tr-none":t==a?"rounded-bl-none rounded-br-md rounded-tl-none rounded-tr-md":"rounded-none",e==t?"bg-clrs-red text-white":"bg-clrs-yellow text-clrs-navy"),onClick:()=>z(t),title:`${n.name} (${n.vehicles.length})`},t+1)))))},B=class{constructor(n){t(this,n),this.tag="proto-autos"}componentDidLoad(){O()}render(){const{loading:n,dealer:e}=p;return r("main",{key:"eb918bee95389cd4c78c6a7b3134ada507c5a042",id:"app",class:"ds1-main relative"},r(M,{key:"efa617ee04ddd6c58650d1cf4d00f899c3520efa"}),r(_,{key:"6762516c1c9fc2d4490e9343d75f4f09f657fae6",label:"Auto Dealers"}),r(H,{key:"ce1aeeb560729f66726b859d6f9d5a4a410703b1"}),n?r(D,null):r("hr",{class:E("mb-4 ml-0 mr-0 mt-4","border-solid border-gray-300","border-b-0 border-l-0 border-r-0")}),r(P,{key:"63ef8ba16a60533a147c06e126442e9f2481f8fe",dealer:e}),r(U,{key:"00d32c34fcf933386a5e5f920e09f02f95dbfbf1"}))}};B.style="/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1\\.5 {\n margin-right: calc(var(--spacing) * 1.5);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .inline-flex {\n display: inline-flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .content-center {\n align-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .self-center {\n align-self: center;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-tl-md {\n border-top-left-radius: var(--radius-md);\n }\n .rounded-tl-none {\n border-top-left-radius: 0;\n }\n .rounded-tr-md {\n border-top-right-radius: var(--radius-md);\n }\n .rounded-tr-none {\n border-top-right-radius: 0;\n }\n .rounded-br-md {\n border-bottom-right-radius: var(--radius-md);\n }\n .rounded-br-none {\n border-bottom-right-radius: 0;\n }\n .rounded-bl-md {\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-bl-none {\n border-bottom-left-radius: 0;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .border-b-0 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-blue-400 {\n border-color: var(--color-blue-400);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-gray-600 {\n border-color: var(--color-gray-600);\n }\n .border-green-600 {\n border-color: var(--color-green-600);\n }\n .border-yellow-600 {\n border-color: var(--color-yellow-600);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-green-200 {\n background-color: var(--color-green-200);\n }\n .bg-yellow-300 {\n background-color: var(--color-yellow-300);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .text-center {\n text-align: center;\n }\n .text-right {\n text-align: right;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-clrs-white {\n color: var(--clrs-white, #ffffff);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n .hover\\:text-clrs-red {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-red, #ff4136);\n }\n }\n }\n .md\\:w-auto {\n @media (width >= 48rem) {\n width: auto;\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n.ikon {\n height: 96px;\n width: 96px;\n}\n@media (min-width: 500px) {\n .ikon {\n height: 144px;\n width: 144px;\n }\n}\n@media (min-width: 700px) {\n .ikon {\n height: 192px;\n width: 192px;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or\n ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n }\n }\n}\n";export{B as proto_autos}
@@ -1 +1 @@
1
- import{p as a,b as o}from"./p-Bba431fE.js";export{s as setNonce}from"./p-Bba431fE.js";import{g as t}from"./p-DQuL1Twl.js";(()=>{const o=import.meta.url,s={};return""!==o&&(s.resourcesUrl=new URL(".",o).href),a(s)})().then((async a=>(await t(),o([["p-d3469bad",[[1,"proto-autos",{tag:[1]}]]]],a))));
1
+ import{p as o,b as t}from"./p-B_J06f6Q.js";export{s as setNonce}from"./p-B_J06f6Q.js";import{g as a}from"./p-DQuL1Twl.js";(()=>{const s=import.meta.url,t={};return""!==s&&(t.resourcesUrl=new URL(".",s).href),o(t)})().then((async o=>(await a(),t([["p-e5eca886",[[257,"proto-autos",{tag:[1]}]]]],o))));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "proto-autos-wc",
3
- "version": "0.1.65",
3
+ "version": "0.1.67",
4
4
  "description": "prototype - a simple GraphQL demo rendered in Stencil and Tailwind",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -27,8 +27,8 @@
27
27
  "format": "prettier --write src cSpell.json"
28
28
  },
29
29
  "dependencies": {
30
- "@stencil/core": "4.36.0",
31
- "@stencil/store": "2.1.3",
30
+ "@stencil/core": "4.36.1",
31
+ "@stencil/store": "2.2.0",
32
32
  "fetchql": "3.0.0"
33
33
  },
34
34
  "license": "MIT",
@@ -1 +0,0 @@
1
- import{g as n,f as e,h as r,r as t}from"./p-Bba431fE.js";const o="proto-autos",a="data",i="pick",l=n=>{const e=localStorage.getItem(n?`${o}-${n}`:o);return e?JSON.parse(e):void 0},s=(n,e)=>{const r=n?`${o}-${n}`:o,t=JSON.stringify(e);localStorage.setItem(r,t)},c=n=>!("isConnected"in n)||n.isConnected,d=(()=>{let n;return(...e)=>{n&&clearTimeout(n),n=setTimeout((()=>{n=0,(n=>{for(let e of n.keys())n.set(e,n.get(e).filter(c))})(...e)}),2e3)}})(),u=n=>"function"==typeof n?n():n;var f=function(){function n(n,e){for(var r=0;r<e.length;r++){var t=e[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(n,t.key,t)}}return function(e,r,t){return r&&n(e.prototype,r),t&&n(e,t),e}}();function h(n,e){if(!(n instanceof e))throw new TypeError("Cannot call a class as a function")}var g=function(){function n(){var e=this;h(this,n),this.interceptors=[],this.fetch=function(){for(var n=arguments.length,r=Array(n),t=0;t<n;t++)r[t]=arguments[t];return e.interceptorWrapper.apply(e,[fetch].concat(r))}}return f(n,[{key:"addInterceptors",value:function(n){var e=this,r=[];return Array.isArray(n)?n.map((function(n){return r.push(e.interceptors.length),e.interceptors.push(n)})):n instanceof Object&&(r.push(this.interceptors.length),this.interceptors.push(n)),this.updateInterceptors(),function(){return e.removeInterceptors(r)}}},{key:"removeInterceptors",value:function(n){var e=this;Array.isArray(n)&&(n.map((function(n){return e.interceptors.splice(n,1)})),this.updateInterceptors())}},{key:"updateInterceptors",value:function(){this.reversedInterceptors=this.interceptors.reduce((function(n,e){return[e].concat(n)}),[])}},{key:"clearInterceptors",value:function(){this.interceptors=[],this.updateInterceptors()}},{key:"interceptorWrapper",value:function(n){for(var e=arguments.length,r=Array(e>1?e-1:0),t=1;t<e;t++)r[t-1]=arguments[t];var o=Promise.resolve(r);return this.reversedInterceptors.forEach((function(n){var e=n.request,t=n.requestError;(e||t)&&(o=o.then((function(){return e.apply(void 0,r)}),t))})),o=o.then((function(){return n.apply(void 0,r)})),this.reversedInterceptors.forEach((function(n){var e=n.response,r=n.responseError;(e||r)&&(o=o.then(e,r))})),o}}]),n}(),b=function(){function n(e){var r=e.url,t=e.interceptors,o=e.headers,a=e.onStart,i=e.onEnd,l=e.omitEmptyVariables,s=void 0!==l&&l,c=e.requestOptions,d=void 0===c?{}:c;h(this,n);var u=function(n,e){if(!n)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?n:e}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this));return u.requestObject=Object.assign({},{method:"POST",headers:Object.assign({},{Accept:"application/json","Content-Type":"application/json"},o),credentials:"same-origin"},d),u.url=r,u.omitEmptyVariables=s,u.requestQueueLength=0,u.EnumMap={},u.callbacks={onStart:a,onEnd:i},u.addInterceptors(t),u}return function(n,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(n,e):n.__proto__=e)}(n,g),f(n,[{key:"query",value:function(n){var e,r=this,t=n.operationName,o=n.query,a=n.variables,i=n.opts,l=void 0===i?{}:i,s=n.requestOptions,c=Object.assign({},this.requestObject,void 0===s?{}:s);return e=this.omitEmptyVariables||l.omitEmptyVariables?this.doOmitEmptyVariables(a):a,c.body=JSON.stringify({operationName:t,query:o,variables:e}),this.onStart(),this.fetch(this.url,c).then((function(n){return n.ok?n.json():{errors:[{message:n.statusText,stack:n}]}})).then((function(n){var e=n.data,t=n.errors;return new Promise((function(n,o){return r.onEnd(),e?Object.keys(e).every((function(n){return!e[n]}))?o(t):n({data:e,errors:t}):o(t||[{}])}))}))}},{key:"getUrl",value:function(){return this.url}},{key:"setUrl",value:function(n){this.url=n}},{key:"getEnumTypes",value:function(n){var e=this,r={},t=n.filter((function(n){return!e.EnumMap[n]||(r[n]=e.EnumMap[n],!1)}));if(!t.length)return new Promise((function(n){n({data:r})}));var o="\n query {\n "+t.map((function(n){return n+': __type(name: "'+n+'") {\n ...EnumFragment\n }'})).join("\n")+"\n }\n \n fragment EnumFragment on __Type {\n kind\n description\n enumValues {\n name\n description\n }\n }",a=Object.assign({},this.requestObject);return a.body=JSON.stringify({query:o}),this.onStart(),this.fetch(this.url,a).then((function(n){return n.ok?n.json():{errors:[{message:n.statusText,stack:n}]}})).then((function(n){var t=n.data,o=n.errors;return new Promise((function(n,a){if(e.onEnd(),!t)return a(o||[{message:"Do not get any data."}]);if(Object.keys(t).every((function(n){return!t[n]}))&&o&&o.length)return a(o);var i=Object.assign(r,t);return Object.keys(t).map((function(n){return e.EnumMap[n]=t[n],n})),n({data:i,errors:o})}))}))}},{key:"onStart",value:function(){this.requestQueueLength++,this.requestQueueLength>1||!this.callbacks.onStart||this.callbacks.onStart(this.requestQueueLength)}},{key:"onEnd",value:function(){this.requestQueueLength--,!this.requestQueueLength&&this.callbacks.onEnd&&this.callbacks.onEnd(this.requestQueueLength)}},{key:"doOmitEmptyVariables",value:function(n){var e=this,r={};return Object.keys(n).map((function(t){var o=n[t];return"string"==typeof o&&0===o.length||null==o||(r[t]=o instanceof Object?e.doOmitEmptyVariables(o):o),t})),r}}]),n}();const v={loading:!1,error:void 0,data:void 0,pick:0,dealer:void 0},{state:m}=(()=>{const r=((n,e=(n,e)=>n!==e)=>{const r=u(n);let t=new Map(Object.entries(r??{}));const o={dispose:[],get:[],set:[],reset:[]},a=()=>{t=new Map(Object.entries(u(n)??{})),o.reset.forEach((n=>n()))},i=n=>(o.get.forEach((e=>e(n))),t.get(n)),l=(n,r)=>{const a=t.get(n);e(r,a,n)&&(t.set(n,r),o.set.forEach((e=>e(n,r,a))))},s="undefined"==typeof Proxy?{}:new Proxy(r,{get:(n,e)=>i(e),ownKeys:()=>Array.from(t.keys()),getOwnPropertyDescriptor:()=>({enumerable:!0,configurable:!0}),has:(n,e)=>t.has(e),set:(n,e,r)=>(l(e,r),!0)}),c=(n,e)=>(o[n].push(e),()=>{((n,e)=>{const r=n.indexOf(e);r>=0&&(n[r]=n[n.length-1],n.length--)})(o[n],e)});return{state:s,get:i,set:l,on:c,onChange:(e,r)=>{const t=c("set",((n,t)=>{n===e&&r(t)})),o=c("reset",(()=>r(u(n)[e])));return()=>{t(),o()}},use:(...n)=>{const e=n.reduce(((n,e)=>(e.set&&n.push(c("set",e.set)),e.get&&n.push(c("get",e.get)),e.reset&&n.push(c("reset",e.reset)),e.dispose&&n.push(c("dispose",e.dispose)),n)),[]);return()=>e.forEach((n=>n()))},dispose:()=>{o.dispose.forEach((n=>n())),a()},reset:a,forceUpdate:n=>{const e=t.get(n);o.set.forEach((r=>r(n,e,e)))}}})(v,void 0);return r.use((()=>{if("function"!=typeof n)return{};const r=new Map;return{dispose:()=>r.clear(),get:e=>{const t=n();t&&((n,e,r)=>{const t=n.get(e);t?t.includes(r)||t.push(r):n.set(e,[r])})(r,e,t)},set:n=>{const t=r.get(n);t&&r.set(n,t.filter(e)),d(r)},reset:()=>{r.forEach((n=>n.forEach(e))),d(r)}}})()),r})(),p=(n=!1)=>{m.loading=n,m.error=void 0,m.pick=0,m.data=void 0,m.dealer=void 0},w=n=>{if(n){const{pick:e}=m;m.dealer=null!=e?n.list[e]:void 0,m.data=n,m.loading=!1}else m.data=void 0,m.loading=!1},y=n=>{const{data:e}=m;e&&void 0!==n?(m.pick=n,m.dealer=e.list[n]):(m.pick=0,m.dealer=void 0)};var x=new b({url:"https://gt-forza.vercel.app/graphql"});const k=()=>{p(!0),s(i,0),x.query({operationName:"Uuid",query:"\n query Uuid($count: Int!) {\n uuid(count: $count)\n }\n",variables:{count:1}}).then((n=>{const e=n.data.uuid[0];x.query({operationName:"Solution",query:"\n query Solution($id: String!) {\n solution(id: $id) {\n id\n data {\n dealers {\n dealerId\n name\n vehicles {\n vin\n year\n make\n model\n color\n }\n }\n }\n }\n }\n",variables:{id:e}}).then((n=>{const r=JSON.parse(JSON.stringify(n.data.solution.data.dealers)),t={id:e,list:r};s(a,t),w(t)}))}))},j=()=>{p();const n=l(a),e=l(i);n?(w(n),e&&y(e)):k()},O=k,S=n=>{s(i,n),y(n)},z=(...n)=>n.filter(Boolean).join(" "),E=n=>{const{value:e}=n,{dealerId:t,name:o,vehicles:a}=e||{},i=a?a.length:0;return r("div",{class:z("flex flex-wrap content-center","mb-4 rounded-lg bg-blue-200 p-4","border border-solid border-blue-400")},r("label",{class:"text-xl font-bold"},o?`${o} `:"",r("sup",null,i||"")),r("label",{class:"ml-auto self-center text-right text-sm"},t||""))},$=/^\#[0-9]*/,C=n=>null!=n.match($),I=n=>2554===n,N=n=>n>2010,T=n=>{const{vin:e,make:t,model:o,year:a,color:i}=n.value||{};return r("div",{class:z("flex align-middle","mb-1 rounded-lg p-4","border border-solid",I(a)?"border-clrs-navy bg-clrs-navy text-clrs-white":C(o)?"border-yellow-600 bg-yellow-300":N(a)?"border-green-600 bg-green-200":"border-gray-600 bg-gray-300")},r("div",{class:"mr-1.5 flex flex-col"},r("label",{class:"mb-2 text-xs"},e||""),r("label",{class:"text-lg font-bold"},t||""),r("label",{class:"mb-2 text-sm italic"},o||""),r("label",null,a||"",", ",i||""),r("label",null,I(a)?"- exotic... [ Sierra 117 ]":C(o)?"- track only...":"")),r("proto-ikon-loader",{class:"ikon ml-auto self-center",name:t,label:t.toLowerCase()}))},q=n=>{const{list:e}=n,t=e.length;return 0===t?"":r("div",{class:"flex flex-col"},t?e.map((n=>r(T,{value:n}))):"")},A=n=>{const{dealer:e}=n,{vehicles:t}=e||{vehicles:[]},o=t;return e?r("div",{class:"flex flex-col"},r(E,{value:e}),r(q,{list:o})):""},P="eswat2",U=()=>r("a",{class:"absolute right-0 top-0 text-clrs-gray hover:text-clrs-navy",href:"https://eswat2.dev","aria-label":P,target:"blank",title:P},r("proto-ikon-loader",{name:"fingerprint",size:24,label:"eswat2"})),J=()=>r("div",{class:"mb-4 mr-2 mt-2 flex flex-row"},r("label",{class:"ml-auto align-top text-xs italic text-clrs-slate4"},"Tailwind ","4.1.11")),M=n=>{const{label:e}=n;return r("h1",{class:z("text-center uppercase text-clrs-red","mb-11 ml-0 mr-0 mt-11","text-6xl font-thin")},e)},_=n=>{const e=n.hex||"currentColor",t=n.label||"loading...",o=n.size||24;return r("svg",{class:z(n.class||"","animate-spin"),width:o,height:o,fill:"none",viewBox:"0 0 24 24",role:"img","aria-label":"title"},r("title",null,t),r("g",null,r("circle",{class:"opacity-25",cx:"12",cy:"12",r:"10",stroke:e,"stroke-width":"4"}),r("path",{class:"opacity-75",fill:e,d:"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z"})),r("path",{d:"M0 0h24v24H0z",fill:"none"}))},D=()=>{const{loading:n,pick:e,data:t}=m||{},{list:o}=t||{list:[]},a=o.length-1;return n?"":r("div",{class:"flex"},r("div",{class:"refresh hover:text-clrs-red md:w-auto",onClick:()=>O()},r("proto-ikon-loader",{name:"refresh",size:24})),r("div",{class:z("ml-auto inline-flex justify-end","border border-solid border-gray-600","rounded-md")},o.map(((n,t)=>r("button",{class:z("h-8 w-8 border-none font-bold",0==t?"rounded-bl-md rounded-br-none rounded-tl-md rounded-tr-none":t==a?"rounded-bl-none rounded-br-md rounded-tl-none rounded-tr-md":"rounded-none",e==t?"bg-clrs-red text-white":"bg-clrs-yellow text-clrs-navy"),onClick:()=>S(t),title:`${n.name} (${n.vehicles.length})`},t+1)))))},B=class{constructor(n){t(this,n),this.tag="proto-autos"}componentDidLoad(){j()}render(){const{loading:n,dealer:e}=m;return r("main",{key:"eb918bee95389cd4c78c6a7b3134ada507c5a042",id:"app",class:"ds1-main relative"},r(U,{key:"efa617ee04ddd6c58650d1cf4d00f899c3520efa"}),r(M,{key:"6762516c1c9fc2d4490e9343d75f4f09f657fae6",label:"Auto Dealers"}),r(D,{key:"ce1aeeb560729f66726b859d6f9d5a4a410703b1"}),n?r(_,null):r("hr",{class:z("mb-4 ml-0 mr-0 mt-4","border-solid border-gray-300","border-b-0 border-l-0 border-r-0")}),r(A,{key:"63ef8ba16a60533a147c06e126442e9f2481f8fe",dealer:e}),r(J,{key:"00d32c34fcf933386a5e5f920e09f02f95dbfbf1"}))}};B.style="/*! tailwindcss v4.1.11 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',\n 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\n --color-yellow-300: oklch(90.5% 0.182 98.111);\n --color-yellow-600: oklch(68.1% 0.162 75.834);\n --color-green-200: oklch(92.5% 0.084 155.995);\n --color-green-600: oklch(62.7% 0.194 149.214);\n --color-blue-200: oklch(88.2% 0.059 254.128);\n --color-blue-400: oklch(70.7% 0.165 254.624);\n --color-gray-300: oklch(87.2% 0.01 258.338);\n --color-gray-600: oklch(44.6% 0.03 256.802);\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-6xl: 3.75rem;\n --text-6xl--line-height: 1;\n --font-weight-thin: 100;\n --font-weight-bold: 700;\n --radius-md: 0.375rem;\n --radius-lg: 0.5rem;\n --animate-spin: spin 1s linear infinite;\n }\n}\n@layer utilities {\n .absolute {\n position: absolute;\n }\n .relative {\n position: relative;\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-2 {\n margin-top: calc(var(--spacing) * 2);\n }\n .mt-4 {\n margin-top: calc(var(--spacing) * 4);\n }\n .mt-11 {\n margin-top: calc(var(--spacing) * 11);\n }\n .mr-0 {\n margin-right: calc(var(--spacing) * 0);\n }\n .mr-1\\.5 {\n margin-right: calc(var(--spacing) * 1.5);\n }\n .mr-2 {\n margin-right: calc(var(--spacing) * 2);\n }\n .mb-1 {\n margin-bottom: calc(var(--spacing) * 1);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-4 {\n margin-bottom: calc(var(--spacing) * 4);\n }\n .mb-11 {\n margin-bottom: calc(var(--spacing) * 11);\n }\n .ml-0 {\n margin-left: calc(var(--spacing) * 0);\n }\n .ml-auto {\n margin-left: auto;\n }\n .flex {\n display: flex;\n }\n .inline-flex {\n display: inline-flex;\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .flex-col {\n flex-direction: column;\n }\n .flex-row {\n flex-direction: row;\n }\n .flex-wrap {\n flex-wrap: wrap;\n }\n .content-center {\n align-content: center;\n }\n .justify-end {\n justify-content: flex-end;\n }\n .self-center {\n align-self: center;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .rounded-none {\n border-radius: 0;\n }\n .rounded-tl-md {\n border-top-left-radius: var(--radius-md);\n }\n .rounded-tl-none {\n border-top-left-radius: 0;\n }\n .rounded-tr-md {\n border-top-right-radius: var(--radius-md);\n }\n .rounded-tr-none {\n border-top-right-radius: 0;\n }\n .rounded-br-md {\n border-bottom-right-radius: var(--radius-md);\n }\n .rounded-br-none {\n border-bottom-right-radius: 0;\n }\n .rounded-bl-md {\n border-bottom-left-radius: var(--radius-md);\n }\n .rounded-bl-none {\n border-bottom-left-radius: 0;\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .border-r-0 {\n border-right-style: var(--tw-border-style);\n border-right-width: 0px;\n }\n .border-b-0 {\n border-bottom-style: var(--tw-border-style);\n border-bottom-width: 0px;\n }\n .border-l-0 {\n border-left-style: var(--tw-border-style);\n border-left-width: 0px;\n }\n .border-none {\n --tw-border-style: none;\n border-style: none;\n }\n .border-solid {\n --tw-border-style: solid;\n border-style: solid;\n }\n .border-blue-400 {\n border-color: var(--color-blue-400);\n }\n .border-clrs-navy {\n border-color: var(--clrs-navy, #001f3f);\n }\n .border-gray-300 {\n border-color: var(--color-gray-300);\n }\n .border-gray-600 {\n border-color: var(--color-gray-600);\n }\n .border-green-600 {\n border-color: var(--color-green-600);\n }\n .border-yellow-600 {\n border-color: var(--color-yellow-600);\n }\n .bg-blue-200 {\n background-color: var(--color-blue-200);\n }\n .bg-clrs-navy {\n background-color: var(--clrs-navy, #001f3f);\n }\n .bg-clrs-red {\n background-color: var(--clrs-red, #ff4136);\n }\n .bg-clrs-yellow {\n background-color: var(--clrs-yellow, #ffdc00);\n }\n .bg-gray-300 {\n background-color: var(--color-gray-300);\n }\n .bg-green-200 {\n background-color: var(--color-green-200);\n }\n .bg-yellow-300 {\n background-color: var(--color-yellow-300);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .text-center {\n text-align: center;\n }\n .text-right {\n text-align: right;\n }\n .align-middle {\n vertical-align: middle;\n }\n .align-top {\n vertical-align: top;\n }\n .font-sans {\n font-family: var(--font-sans);\n }\n .text-6xl {\n font-size: var(--text-6xl);\n line-height: var(--tw-leading, var(--text-6xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-thin {\n --tw-font-weight: var(--font-weight-thin);\n font-weight: var(--font-weight-thin);\n }\n .text-clrs-gray {\n color: var(--clrs-gray, #aaaaaa);\n }\n .text-clrs-navy {\n color: var(--clrs-navy, #001f3f);\n }\n .text-clrs-red {\n color: var(--clrs-red, #ff4136);\n }\n .text-clrs-slate4 {\n color: var(--clrs-slate4, #4e5964);\n }\n .text-clrs-white {\n color: var(--clrs-white, #ffffff);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .italic {\n font-style: italic;\n }\n .opacity-25 {\n opacity: 25%;\n }\n .opacity-75 {\n opacity: 75%;\n }\n .shadow {\n --tw-shadow:\n 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)),\n 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow), var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);\n }\n .hover\\:text-clrs-navy {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-navy, #001f3f);\n }\n }\n }\n .hover\\:text-clrs-red {\n &:hover {\n @media (hover: hover) {\n color: var(--clrs-red, #ff4136);\n }\n }\n }\n .md\\:w-auto {\n @media (width >= 48rem) {\n width: auto;\n }\n }\n}\n@layer components {\n .ds1-main {\n margin: calc(var(--spacing) * 6);\n display: flex;\n flex-direction: column;\n font-family: var(--font-sans);\n color: var(--clrs-navy, #001f3f);\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n }\n}\n.ikon {\n height: 96px;\n width: 96px;\n}\n@media (min-width: 500px) {\n .ikon {\n height: 144px;\n width: 144px;\n }\n}\n@media (min-width: 700px) {\n .ikon {\n height: 192px;\n width: 192px;\n }\n}\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or\n ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n }\n }\n}\n";export{B as proto_autos}