@jumpgroup/jump-design-system 0.3.69 → 0.3.70

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.
Files changed (159) hide show
  1. package/dist/cjs/{index-864e40de.js → index-230bcbae.js} +6 -2
  2. package/dist/cjs/index-230bcbae.js.map +1 -0
  3. package/dist/cjs/jump-accordion-group.cjs.entry.js +1 -1
  4. package/dist/cjs/jump-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/jump-badge.cjs.entry.js +1 -1
  6. package/dist/cjs/jump-button_2.cjs.entry.js +1 -1
  7. package/dist/cjs/jump-card-ecommerce-option.cjs.entry.js +1 -1
  8. package/dist/cjs/jump-card-ecommerce.cjs.entry.js +2 -2
  9. package/dist/cjs/jump-card-ecommerce.cjs.entry.js.map +1 -1
  10. package/dist/cjs/jump-card.cjs.entry.js +1 -1
  11. package/dist/cjs/jump-design-system.cjs.js +2 -2
  12. package/dist/cjs/jump-filter-checkbox.cjs.entry.js +1 -1
  13. package/dist/cjs/jump-filter-select.cjs.entry.js +1 -1
  14. package/dist/cjs/jump-filter-switch.cjs.entry.js +1 -1
  15. package/dist/cjs/jump-filter.cjs.entry.js +1 -1
  16. package/dist/cjs/jump-filtergroup.cjs.entry.js +1 -1
  17. package/dist/cjs/jump-navbar.cjs.entry.js +1 -1
  18. package/dist/cjs/jump-pagination-table.cjs.entry.js +1 -1
  19. package/dist/cjs/jump-pagination.cjs.entry.js +1 -1
  20. package/dist/cjs/jump-quantity.cjs.entry.js +1 -1
  21. package/dist/cjs/jump-search-bar-dropdown-item.cjs.entry.js +1 -1
  22. package/dist/cjs/jump-search-bar-mobile.cjs.entry.js +1 -1
  23. package/dist/cjs/jump-search-bar.cjs.entry.js +1 -1
  24. package/dist/cjs/jump-side-cart-example.cjs.entry.js +73 -0
  25. package/dist/cjs/jump-side-cart-example.cjs.entry.js.map +1 -0
  26. package/dist/cjs/jump-side-cart.cjs.entry.js +87 -0
  27. package/dist/cjs/jump-side-cart.cjs.entry.js.map +1 -0
  28. package/dist/cjs/jump-tab-item.cjs.entry.js +3 -3
  29. package/dist/cjs/jump-tab-panel.cjs.entry.js +2 -2
  30. package/dist/cjs/jump-tab.cjs.entry.js +2 -2
  31. package/dist/cjs/loader.cjs.js +2 -2
  32. package/dist/collection/collection-manifest.json +2 -0
  33. package/dist/collection/components/jump-card-ecommerce/jump-card-ecommerce.css +1 -0
  34. package/dist/collection/components/jump-card-ecommerce-option/jump-card-ecommerce-option.stories.js +1 -0
  35. package/dist/collection/components/jump-card-ecommerce-option/jump-card-ecommerce-option.stories.js.map +1 -1
  36. package/dist/collection/components/jump-side-cart/index.js +1 -0
  37. package/dist/collection/components/jump-side-cart/index.js.map +1 -0
  38. package/dist/collection/components/jump-side-cart/jump-side-cart.css +315 -0
  39. package/dist/collection/components/jump-side-cart/jump-side-cart.example.css +30 -0
  40. package/dist/collection/components/jump-side-cart/jump-side-cart.example.js +79 -0
  41. package/dist/collection/components/jump-side-cart/jump-side-cart.example.js.map +1 -0
  42. package/dist/collection/components/jump-side-cart/jump-side-cart.js +335 -0
  43. package/dist/collection/components/jump-side-cart/jump-side-cart.js.map +1 -0
  44. package/dist/collection/components/jump-side-cart/jump-side-cart.stories.js +134 -0
  45. package/dist/collection/components/jump-side-cart/jump-side-cart.stories.js.map +1 -0
  46. package/dist/collection/components/jump-tab/jump-tab.js +1 -1
  47. package/dist/collection/components/jump-tab-item/jump-tab-item.js +2 -2
  48. package/dist/collection/components/jump-tab-panel/jump-tab-panel.js +1 -1
  49. package/dist/components/jump-card-ecommerce.js +1 -1
  50. package/dist/components/jump-card-ecommerce.js.map +1 -1
  51. package/dist/components/jump-side-cart-example.d.ts +11 -0
  52. package/dist/components/jump-side-cart-example.js +97 -0
  53. package/dist/components/jump-side-cart-example.js.map +1 -0
  54. package/dist/components/jump-side-cart.d.ts +11 -0
  55. package/dist/components/jump-side-cart.js +8 -0
  56. package/dist/components/jump-side-cart.js.map +1 -0
  57. package/dist/components/jump-side-cart2.js +109 -0
  58. package/dist/components/jump-side-cart2.js.map +1 -0
  59. package/dist/components/jump-tab-item.js +2 -2
  60. package/dist/components/jump-tab-panel.js +1 -1
  61. package/dist/components/jump-tab.js +1 -1
  62. package/dist/esm/{index-7eb565cd.js → index-4363ffe4.js} +6 -2
  63. package/dist/esm/index-4363ffe4.js.map +1 -0
  64. package/dist/esm/jump-accordion-group.entry.js +1 -1
  65. package/dist/esm/jump-accordion.entry.js +1 -1
  66. package/dist/esm/jump-badge.entry.js +1 -1
  67. package/dist/esm/jump-button_2.entry.js +1 -1
  68. package/dist/esm/jump-card-ecommerce-option.entry.js +1 -1
  69. package/dist/esm/jump-card-ecommerce.entry.js +2 -2
  70. package/dist/esm/jump-card-ecommerce.entry.js.map +1 -1
  71. package/dist/esm/jump-card.entry.js +1 -1
  72. package/dist/esm/jump-design-system.js +3 -3
  73. package/dist/esm/jump-filter-checkbox.entry.js +1 -1
  74. package/dist/esm/jump-filter-select.entry.js +1 -1
  75. package/dist/esm/jump-filter-switch.entry.js +1 -1
  76. package/dist/esm/jump-filter.entry.js +1 -1
  77. package/dist/esm/jump-filtergroup.entry.js +1 -1
  78. package/dist/esm/jump-navbar.entry.js +1 -1
  79. package/dist/esm/jump-pagination-table.entry.js +1 -1
  80. package/dist/esm/jump-pagination.entry.js +1 -1
  81. package/dist/esm/jump-quantity.entry.js +1 -1
  82. package/dist/esm/jump-search-bar-dropdown-item.entry.js +1 -1
  83. package/dist/esm/jump-search-bar-mobile.entry.js +1 -1
  84. package/dist/esm/jump-search-bar.entry.js +1 -1
  85. package/dist/esm/jump-side-cart-example.entry.js +69 -0
  86. package/dist/esm/jump-side-cart-example.entry.js.map +1 -0
  87. package/dist/esm/jump-side-cart.entry.js +83 -0
  88. package/dist/esm/jump-side-cart.entry.js.map +1 -0
  89. package/dist/esm/jump-tab-item.entry.js +3 -3
  90. package/dist/esm/jump-tab-panel.entry.js +2 -2
  91. package/dist/esm/jump-tab.entry.js +2 -2
  92. package/dist/esm/loader.js +3 -3
  93. package/dist/jump-design-system/jump-design-system.esm.js +1 -1
  94. package/dist/jump-design-system/jump-design-system.esm.js.map +1 -1
  95. package/dist/jump-design-system/p-0432b242.entry.js +2 -0
  96. package/dist/jump-design-system/p-0432b242.entry.js.map +1 -0
  97. package/dist/jump-design-system/{p-3b4127b0.entry.js → p-089b9c5c.entry.js} +2 -2
  98. package/dist/jump-design-system/p-0cc799f3.entry.js +2 -0
  99. package/dist/jump-design-system/p-0cdca5df.entry.js +2 -0
  100. package/dist/jump-design-system/{p-947d7f9a.entry.js → p-2e274d20.entry.js} +2 -2
  101. package/dist/jump-design-system/{p-d8bfd21c.entry.js → p-35f2032b.entry.js} +2 -2
  102. package/dist/jump-design-system/p-40ca24a6.js +3 -0
  103. package/dist/{esm/index-7eb565cd.js.map → jump-design-system/p-40ca24a6.js.map} +1 -1
  104. package/dist/jump-design-system/{p-ff8d70ab.entry.js → p-4706eba4.entry.js} +2 -2
  105. package/dist/jump-design-system/{p-79c78037.entry.js → p-617c7cd7.entry.js} +2 -2
  106. package/dist/jump-design-system/{p-201c09dd.entry.js → p-629ef0c7.entry.js} +2 -2
  107. package/dist/jump-design-system/{p-8d1d2af9.entry.js → p-66c79fb9.entry.js} +4 -4
  108. package/dist/jump-design-system/{p-98ef4924.entry.js → p-79e5dac6.entry.js} +2 -2
  109. package/dist/jump-design-system/{p-3c1076e0.entry.js → p-7a2bc23d.entry.js} +2 -2
  110. package/dist/jump-design-system/{p-d3b62e9b.entry.js → p-800fd60b.entry.js} +2 -2
  111. package/dist/jump-design-system/{p-94790673.entry.js → p-83b3a560.entry.js} +2 -2
  112. package/dist/jump-design-system/p-8f02eb5e.entry.js +2 -0
  113. package/dist/jump-design-system/p-8f02eb5e.entry.js.map +1 -0
  114. package/dist/jump-design-system/{p-90c51b48.entry.js → p-9035201c.entry.js} +2 -2
  115. package/dist/jump-design-system/{p-7dd5052b.entry.js → p-9279b124.entry.js} +2 -2
  116. package/dist/jump-design-system/{p-d94fabc1.entry.js → p-a0237406.entry.js} +2 -2
  117. package/dist/jump-design-system/{p-3e31b638.entry.js → p-a7d5e687.entry.js} +2 -2
  118. package/dist/jump-design-system/{p-8e0419b1.entry.js → p-b8b28d8b.entry.js} +2 -2
  119. package/dist/jump-design-system/p-cb9ab473.entry.js +2 -0
  120. package/dist/jump-design-system/{p-a05d9480.entry.js → p-e7b3ebb1.entry.js} +2 -2
  121. package/dist/jump-design-system/p-e7d1e3d8.entry.js +2 -0
  122. package/dist/jump-design-system/p-e7d1e3d8.entry.js.map +1 -0
  123. package/dist/jump-design-system/{p-6148a37d.entry.js → p-fa2a10bf.entry.js} +2 -2
  124. package/dist/jump-design-system-elements.json +53 -0
  125. package/dist/types/components/jump-side-cart/index.d.ts +0 -0
  126. package/dist/types/components/jump-side-cart/jump-side-cart.d.ts +45 -0
  127. package/dist/types/components/jump-side-cart/jump-side-cart.example.d.ts +14 -0
  128. package/dist/types/components/jump-side-cart/jump-side-cart.stories.d.ts +43 -0
  129. package/dist/types/components.d.ts +70 -0
  130. package/package.json +1 -1
  131. package/dist/cjs/index-864e40de.js.map +0 -1
  132. package/dist/jump-design-system/p-0cbcc5b3.entry.js +0 -2
  133. package/dist/jump-design-system/p-39b82674.entry.js +0 -2
  134. package/dist/jump-design-system/p-926c7bf0.entry.js +0 -2
  135. package/dist/jump-design-system/p-ad550de6.entry.js +0 -2
  136. package/dist/jump-design-system/p-ad550de6.entry.js.map +0 -1
  137. package/dist/jump-design-system/p-e516e812.js +0 -3
  138. package/dist/jump-design-system/p-e516e812.js.map +0 -1
  139. /package/dist/jump-design-system/{p-3b4127b0.entry.js.map → p-089b9c5c.entry.js.map} +0 -0
  140. /package/dist/jump-design-system/{p-0cbcc5b3.entry.js.map → p-0cc799f3.entry.js.map} +0 -0
  141. /package/dist/jump-design-system/{p-926c7bf0.entry.js.map → p-0cdca5df.entry.js.map} +0 -0
  142. /package/dist/jump-design-system/{p-947d7f9a.entry.js.map → p-2e274d20.entry.js.map} +0 -0
  143. /package/dist/jump-design-system/{p-d8bfd21c.entry.js.map → p-35f2032b.entry.js.map} +0 -0
  144. /package/dist/jump-design-system/{p-ff8d70ab.entry.js.map → p-4706eba4.entry.js.map} +0 -0
  145. /package/dist/jump-design-system/{p-79c78037.entry.js.map → p-617c7cd7.entry.js.map} +0 -0
  146. /package/dist/jump-design-system/{p-201c09dd.entry.js.map → p-629ef0c7.entry.js.map} +0 -0
  147. /package/dist/jump-design-system/{p-8d1d2af9.entry.js.map → p-66c79fb9.entry.js.map} +0 -0
  148. /package/dist/jump-design-system/{p-98ef4924.entry.js.map → p-79e5dac6.entry.js.map} +0 -0
  149. /package/dist/jump-design-system/{p-3c1076e0.entry.js.map → p-7a2bc23d.entry.js.map} +0 -0
  150. /package/dist/jump-design-system/{p-d3b62e9b.entry.js.map → p-800fd60b.entry.js.map} +0 -0
  151. /package/dist/jump-design-system/{p-94790673.entry.js.map → p-83b3a560.entry.js.map} +0 -0
  152. /package/dist/jump-design-system/{p-90c51b48.entry.js.map → p-9035201c.entry.js.map} +0 -0
  153. /package/dist/jump-design-system/{p-7dd5052b.entry.js.map → p-9279b124.entry.js.map} +0 -0
  154. /package/dist/jump-design-system/{p-d94fabc1.entry.js.map → p-a0237406.entry.js.map} +0 -0
  155. /package/dist/jump-design-system/{p-3e31b638.entry.js.map → p-a7d5e687.entry.js.map} +0 -0
  156. /package/dist/jump-design-system/{p-8e0419b1.entry.js.map → p-b8b28d8b.entry.js.map} +0 -0
  157. /package/dist/jump-design-system/{p-39b82674.entry.js.map → p-cb9ab473.entry.js.map} +0 -0
  158. /package/dist/jump-design-system/{p-a05d9480.entry.js.map → p-e7b3ebb1.entry.js.map} +0 -0
  159. /package/dist/jump-design-system/{p-6148a37d.entry.js.map → p-fa2a10bf.entry.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{r as e,h as a,H as s}from"./p-40ca24a6.js";const t=":host{display:block}.JumpTabPanel__Content{display:none;padding:1rem 0}.JumpTabPanel__Content.active{display:block}";const n=t;const c=class{constructor(a){e(this,a);this.identifier=undefined;this.active=false}render(){return a(s,{key:"d9f90af98ebb99d55241c3fef49e5d8e08f8540f",class:"JumpTabPanel",id:this.identifier},a("div",{key:"6fc79b82988a87e0c3e13b08dcd08305e173eaab",class:"JumpTabPanel__Content "+(this.active?"active":"")},a("slot",{key:"ac3bfea8a132096ae27e9fbd146e090626c72ff5"})))}};c.style=n;export{c as jump_tab_panel};
2
+ //# sourceMappingURL=p-cb9ab473.entry.js.map
@@ -1,4 +1,4 @@
1
- import{r as e,c as t,h as i,H as o}from"./p-e516e812.js";import{i as s,c,_ as r,w as l,S as a,x as n,r as h,n as d}from"./p-95a1bbc5.js";import{f as b,F as u,H as k,o as f,d as p}from"./p-67339850.js";import{S as x}from"./p-1b31e36f.js";import{e as m,a as v}from"./p-9d21c18a.js";import{l as g}from"./p-94229ed5.js";var _=s`
1
+ import{r as e,c as t,h as i,H as o}from"./p-40ca24a6.js";import{i as s,c,_ as r,w as l,S as a,x as n,r as h,n as d}from"./p-95a1bbc5.js";import{f as b,F as u,H as k,o as f,d as p}from"./p-67339850.js";import{S as x}from"./p-1b31e36f.js";import{e as m,a as v}from"./p-9d21c18a.js";import{l as g}from"./p-94229ed5.js";var _=s`
2
2
  :host {
3
3
  display: inline-block;
4
4
  }
@@ -175,4 +175,4 @@ import{r as e,c as t,h as i,H as o}from"./p-e516e812.js";import{i as s,c,_ as r,
175
175
  </div>
176
176
  </div>
177
177
  `}};y.styles=[c,b,_];y.dependencies={"sl-icon":x};r([v('input[type="checkbox"]')],y.prototype,"input",2);r([h()],y.prototype,"hasFocus",2);r([d()],y.prototype,"title",2);r([d()],y.prototype,"name",2);r([d()],y.prototype,"value",2);r([d({reflect:true})],y.prototype,"size",2);r([d({type:Boolean,reflect:true})],y.prototype,"disabled",2);r([d({type:Boolean,reflect:true})],y.prototype,"checked",2);r([d({type:Boolean,reflect:true})],y.prototype,"indeterminate",2);r([p("checked")],y.prototype,"defaultChecked",2);r([d({reflect:true})],y.prototype,"form",2);r([d({type:Boolean,reflect:true})],y.prototype,"required",2);r([d({attribute:"help-text"})],y.prototype,"helpText",2);r([l("disabled",{waitUntilFirstUpdate:true})],y.prototype,"handleDisabledChange",1);r([l(["checked","indeterminate"],{waitUntilFirstUpdate:true})],y.prototype,"handleStateChange",1);y.define("sl-checkbox");const $=":host{display:flex;width:100%}:host .count{color:var(--neutral-grey-secondary, #707070)}:host sl-checkbox{display:flex;width:100%}:host sl-checkbox::part(control){height:1rem;width:1rem;border:1px solid var(--neutral-grey-secondary, #707070);border-radius:3px;margin-top:3px}:host sl-checkbox::part(control--checked){background-color:var(--status-interaction-standard, #2C6ECB);border-color:var(--status-interaction-standard, #2C6ECB);color:var(--neutral-ultralight, #fff)}:host sl-checkbox::part(label){display:flex;flex-direction:row;justify-content:space-between;align-items:flex-start;flex-grow:1;color:var(--neutral-grey-primary, #1d1d1d);font-family:var(--ff-primary), serif}";const w=$;const z=class{constructor(i){e(this,i);this.toggleCheckbox=t(this,"jump-checkbox-change",7);this.value=undefined;this.label=undefined;this.checked=false;this.count=null}componentDidLoad(){this.listenSLChange()}listenSLChange(){if(this.host){this.host.addEventListener("sl-change",(()=>{this.checked=!this.checked;this.toggleCheckbox.emit({value:this.el.value,checked:this.checked})}))}}async isChecked(){return this.el.checked}render(){return i(o,{key:"c1ed5c7a59979dbe46338b2df91e5ab73c0547bd",ref:e=>this.host=e},this.value&&this.label&&i("sl-checkbox",{key:"de838d7ec4dedc45935bca737c71251028adc658",value:this.value,ref:e=>this.el=e,checked:this.checked},this.label),this.count&&i("span",{key:"4e7ca6acfdc390a1a9511d52c00135783e57b1cd",class:"count"},this.count))}};z.style=w;export{z as jump_filter_checkbox};
178
- //# sourceMappingURL=p-a05d9480.entry.js.map
178
+ //# sourceMappingURL=p-e7b3ebb1.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as r,h as e}from"./p-40ca24a6.js";const i=":host{--cart-width:400px;--cart-bg:#ffffff;--overlay-bg:rgba(0, 0, 0, 0.5);--border-color:#e5e5e5;--text-primary:#333333;--text-secondary:#666666;--primary-color:#80bb55;--secondary-color:#f5f5f5;--error-color:#dc3545;--success-color:#28a745}.side-cart{position:fixed;top:0;bottom:0;width:100%;z-index:1000;pointer-events:none}.side-cart--open{pointer-events:all}.side-cart--right{right:0}.side-cart--right .side-cart__content{right:0;transform:translateX(100%)}.side-cart--right.side-cart--open .side-cart__content{transform:translateX(0)}.side-cart--left{left:0}.side-cart--left .side-cart__content{left:0;transform:translateX(-100%)}.side-cart--left.side-cart--open .side-cart__content{transform:translateX(0)}.side-cart__overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--overlay-bg);opacity:0;transition:opacity 0.3s ease}.side-cart--open .side-cart__overlay{opacity:1}.side-cart__content{position:absolute;top:0;bottom:0;width:var(--cart-width);max-width:90vw;background:var(--cart-bg);box-shadow:-2px 0 10px rgba(0, 0, 0, 0.1);transition:transform 0.3s ease;display:flex;flex-direction:column}.side-cart--left .side-cart__content{box-shadow:2px 0 10px rgba(0, 0, 0, 0.1)}.side-cart__header{display:flex;justify-content:space-between;align-items:center;padding:1rem;border-bottom:1px solid var(--border-color)}.side-cart__header h2{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.side-cart__header .close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--text-secondary);padding:0.25rem;line-height:1}.side-cart__header .close-btn:hover{color:var(--text-primary)}.side-cart__body{flex:1;overflow-y:auto;padding:1rem}.empty-cart{text-align:center;padding:2rem 0;color:var(--text-secondary)}.cart-items{display:flex;flex-direction:column;gap:1rem}.cart-item{display:flex;gap:0.75rem;padding:1rem;border:1px solid var(--border-color);border-radius:8px}.cart-item__image{flex-shrink:0;width:80px;height:80px}.cart-item__image img{width:100%;height:100%;object-fit:cover;border-radius:4px}.cart-item__details{flex:1;min-width:0}.cart-item__brand{font-size:0.75rem;color:var(--text-secondary);margin-bottom:0.25rem;text-transform:uppercase;font-weight:500}.cart-item__name{font-size:0.875rem;font-weight:500;color:var(--text-primary);margin-bottom:0.25rem;line-height:1.3}.cart-item__description{font-size:0.75rem;color:var(--text-secondary);margin-bottom:0.5rem}.cart-item__price{font-weight:600;color:var(--text-primary)}.cart-item__original-price{margin-left:0.5rem;text-decoration:line-through;color:var(--text-secondary);font-weight:normal}.cart-item__controls{flex-shrink:0;display:flex;flex-direction:column;gap:0.5rem;align-items:center}.quantity-controls{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:4px}.quantity-controls .quantity-btn{background:none;border:none;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary)}.quantity-controls .quantity-btn:hover:not(:disabled){background:var(--secondary-color)}.quantity-controls .quantity-btn:disabled{opacity:0.5;cursor:not-allowed}.quantity-controls .quantity{min-width:40px;text-align:center;padding:0 0.5rem;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);font-weight:500}.remove-btn{background:none;border:none;color:var(--error-color);font-size:0.75rem;cursor:pointer;padding:0.25rem 0.5rem;border-radius:4px}.remove-btn:hover{background:rgba(220, 53, 69, 0.1)}.progress-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.progress-bar{width:100%;height:8px;background:var(--secondary-color);border-radius:4px;overflow:hidden;margin-bottom:0.5rem}.progress-bar .progress-fill{height:100%;background:var(--primary-color);transition:width 0.3s ease}.progress-text{font-size:0.875rem;color:var(--text-secondary);text-align:center}.side-cart__footer{border-top:1px solid var(--border-color);padding:1rem}.totals{margin-bottom:1rem}.totals .subtotal,.totals .savings{display:flex;justify-content:space-between;margin-bottom:0.5rem}.totals .subtotal{font-weight:600;font-size:1.125rem}.totals .savings{color:var(--success-color);font-size:0.875rem}.actions{display:flex;gap:0.75rem}.actions .btn{flex:1;padding:0.75rem;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all 0.2s ease}.actions .btn--primary{background:var(--primary-color);color:white}.actions .btn--primary:hover{background:#68a03b;filter:brightness(0.9)}.actions .btn--secondary{background:var(--secondary-color);color:var(--text-primary);border:1px solid var(--border-color)}.actions .btn--secondary:hover{background:#e8e8e8;filter:brightness(0.95)}@media (max-width: 768px){.side-cart__content{width:100vw;max-width:none}.cart-item__details{font-size:0.8rem}.cart-item__name{font-size:0.8rem}}";const o=i;const s=class{constructor(i){t(this,i);this.cartClosed=r(this,"cartClosed",7);this.itemQuantityChanged=r(this,"itemQuantityChanged",7);this.itemRemoved=r(this,"itemRemoved",7);this.checkoutClicked=r(this,"checkoutClicked",7);this.viewCartClicked=r(this,"viewCartClicked",7);this.handleClose=()=>{this.cartClosed.emit()};this.handleQuantityChange=(t,r)=>{if(r<1)return;this.cartItems=this.cartItems.map((e=>e.id===t?Object.assign(Object.assign({},e),{quantity:r}):e));this.itemQuantityChanged.emit({itemId:t,quantity:r})};this.handleRemoveItem=t=>{this.cartItems=this.cartItems.filter((r=>r.id!==t));this.itemRemoved.emit(t)};this.calculateSubtotal=()=>this.cartItems.reduce(((t,r)=>t+r.price*r.quantity),0);this.calculateSavings=()=>this.cartItems.reduce(((t,r)=>{if(r.originalPrice){return t+(r.originalPrice-r.price)*r.quantity}return t}),0);this.renderCartItem=t=>e("div",{class:"cart-item",key:t.id},e("div",{class:"cart-item__image"},e("img",{src:t.image,alt:t.name})),e("div",{class:"cart-item__details"},e("div",{class:"cart-item__brand"},t.brand),e("div",{class:"cart-item__name"},t.name),e("div",{class:"cart-item__description"},t.description),e("div",{class:"cart-item__price"},"€",t.price.toFixed(2),t.originalPrice&&e("span",{class:"cart-item__original-price"},"€",t.originalPrice.toFixed(2)))),e("div",{class:"cart-item__controls"},e("div",{class:"quantity-controls"},e("button",{class:"quantity-btn",onClick:()=>this.handleQuantityChange(t.id,t.quantity-1),disabled:t.quantity<=1},"-"),e("span",{class:"quantity"},t.quantity),e("button",{class:"quantity-btn",onClick:()=>this.handleQuantityChange(t.id,t.quantity+1)},"+")),e("button",{class:"remove-btn",onClick:()=>this.handleRemoveItem(t.id)},"Remove")));this.renderProgressBar=()=>{var t,r;if(!this.discountThreshold&&!this.freeShippingThreshold)return null;const i=((t=this.discountThreshold)===null||t===void 0?void 0:t.amount)||this.freeShippingThreshold||0;const o=this.calculateSubtotal();const s=Math.min(o/i*100,100);return e("div",{class:"progress-section"},e("div",{class:"progress-bar"},e("div",{class:"progress-fill",style:{width:`${s}%`}})),e("div",{class:"progress-text"},this.shippingInfo||(this.freeShippingThreshold?`€${Math.max(0,this.freeShippingThreshold-o).toFixed(2)} away from free shipping`:`€${Math.max(0,i-o).toFixed(2)} away from ${(r=this.discountThreshold)===null||r===void 0?void 0:r.percentage}% discount`)))};this.isOpen=false;this.position="right";this.items=[];this.discountThreshold=undefined;this.freeShippingThreshold=undefined;this.progressPercentage=0;this.checkoutLabel="Checkout";this.viewCartLabel="View Cart";this.shippingInfo=undefined;this.cartItems=[]}componentWillLoad(){this.cartItems=[...this.items]}componentWillUpdate(){if(this.items!==this.cartItems){this.cartItems=[...this.items]}}render(){if(!this.isOpen)return null;const t=this.calculateSubtotal();const r=this.calculateSavings();return e("div",{class:`side-cart side-cart--${this.position} ${this.isOpen?"side-cart--open":""}`},e("div",{class:"side-cart__overlay",onClick:this.handleClose}),e("div",{class:"side-cart__content"},e("div",{class:"side-cart__header"},e("h2",null,"Shopping Cart (",this.cartItems.length,")"),e("button",{class:"close-btn",onClick:this.handleClose},"×")),e("div",{class:"side-cart__body"},this.cartItems.length===0?e("div",{class:"empty-cart"},e("p",null,"Your cart is empty")):e("div",{class:"cart-items"},this.cartItems.map((t=>this.renderCartItem(t)))),this.renderProgressBar()),this.cartItems.length>0&&e("div",{class:"side-cart__footer"},e("div",{class:"totals"},e("div",{class:"subtotal"},e("span",null,"Subtotal:"),e("span",null,"€",t.toFixed(2))),r>0&&e("div",{class:"savings"},e("span",null,"You save:"),e("span",null,"€",r.toFixed(2)))),e("div",{class:"actions"},e("button",{class:"btn btn--secondary",onClick:()=>this.viewCartClicked.emit()},this.viewCartLabel),e("button",{class:"btn btn--primary",onClick:()=>this.checkoutClicked.emit()},this.checkoutLabel)))))}};s.style=o;export{s as jump_side_cart};
2
+ //# sourceMappingURL=p-e7d1e3d8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jumpSideCartCss","JumpSideCartStyle0","JumpSideCart","this","handleClose","cartClosed","emit","handleQuantityChange","itemId","newQuantity","cartItems","map","item","id","Object","assign","quantity","itemQuantityChanged","handleRemoveItem","filter","itemRemoved","calculateSubtotal","reduce","total","price","calculateSavings","originalPrice","renderCartItem","h","class","key","src","image","alt","name","brand","description","toFixed","onClick","disabled","renderProgressBar","discountThreshold","freeShippingThreshold","threshold","_a","amount","current","percentage","Math","min","style","width","shippingInfo","max","_b","componentWillLoad","items","componentWillUpdate","render","isOpen","subtotal","savings","position","length","viewCartClicked","viewCartLabel","checkoutClicked","checkoutLabel"],"sources":["src/components/jump-side-cart/jump-side-cart.scss?tag=jump-side-cart&encapsulation=shadow","src/components/jump-side-cart/jump-side-cart.tsx"],"sourcesContent":[":host {\n --cart-width: 400px;\n --cart-bg: #ffffff;\n --overlay-bg: rgba(0, 0, 0, 0.5);\n --border-color: #e5e5e5;\n --text-primary: #333333;\n --text-secondary: #666666;\n --primary-color: #80bb55;\n --secondary-color: #f5f5f5;\n --error-color: #dc3545;\n --success-color: #28a745;\n}\n\n.side-cart {\n position: fixed;\n top: 0;\n bottom: 0;\n width: 100%;\n z-index: 1000;\n pointer-events: none;\n\n &--open {\n pointer-events: all;\n }\n\n &--right {\n right: 0;\n\n .side-cart__content {\n right: 0;\n transform: translateX(100%);\n }\n\n &.side-cart--open .side-cart__content {\n transform: translateX(0);\n }\n }\n\n &--left {\n left: 0;\n\n .side-cart__content {\n left: 0;\n transform: translateX(-100%);\n }\n\n &.side-cart--open .side-cart__content {\n transform: translateX(0);\n }\n }\n}\n\n.side-cart__overlay {\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background: var(--overlay-bg);\n opacity: 0;\n transition: opacity 0.3s ease;\n\n .side-cart--open & {\n opacity: 1;\n }\n}\n\n.side-cart__content {\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--cart-width);\n max-width: 90vw;\n background: var(--cart-bg);\n box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);\n transition: transform 0.3s ease;\n display: flex;\n flex-direction: column;\n\n .side-cart--left & {\n box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);\n }\n}\n\n.side-cart__header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 1rem;\n border-bottom: 1px solid var(--border-color);\n\n h2 {\n margin: 0;\n font-size: 1.25rem;\n font-weight: 600;\n color: var(--text-primary);\n }\n\n .close-btn {\n background: none;\n border: none;\n font-size: 1.5rem;\n cursor: pointer;\n color: var(--text-secondary);\n padding: 0.25rem;\n line-height: 1;\n\n &:hover {\n color: var(--text-primary);\n }\n }\n}\n\n.side-cart__body {\n flex: 1;\n overflow-y: auto;\n padding: 1rem;\n}\n\n.empty-cart {\n text-align: center;\n padding: 2rem 0;\n color: var(--text-secondary);\n}\n\n.cart-items {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n}\n\n.cart-item {\n display: flex;\n gap: 0.75rem;\n padding: 1rem;\n border: 1px solid var(--border-color);\n border-radius: 8px;\n\n &__image {\n flex-shrink: 0;\n width: 80px;\n height: 80px;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 4px;\n }\n }\n\n &__details {\n flex: 1;\n min-width: 0;\n }\n\n &__brand {\n font-size: 0.75rem;\n color: var(--text-secondary);\n margin-bottom: 0.25rem;\n text-transform: uppercase;\n font-weight: 500;\n }\n\n &__name {\n font-size: 0.875rem;\n font-weight: 500;\n color: var(--text-primary);\n margin-bottom: 0.25rem;\n line-height: 1.3;\n }\n\n &__description {\n font-size: 0.75rem;\n color: var(--text-secondary);\n margin-bottom: 0.5rem;\n }\n\n &__price {\n font-weight: 600;\n color: var(--text-primary);\n }\n\n &__original-price {\n margin-left: 0.5rem;\n text-decoration: line-through;\n color: var(--text-secondary);\n font-weight: normal;\n }\n\n &__controls {\n flex-shrink: 0;\n display: flex;\n flex-direction: column;\n gap: 0.5rem;\n align-items: center;\n }\n}\n\n.quantity-controls {\n display: flex;\n align-items: center;\n border: 1px solid var(--border-color);\n border-radius: 4px;\n\n .quantity-btn {\n background: none;\n border: none;\n width: 32px;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n cursor: pointer;\n color: var(--text-primary);\n\n &:hover:not(:disabled) {\n background: var(--secondary-color);\n }\n\n &:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n }\n\n .quantity {\n min-width: 40px;\n text-align: center;\n padding: 0 0.5rem;\n border-left: 1px solid var(--border-color);\n border-right: 1px solid var(--border-color);\n font-weight: 500;\n }\n}\n\n.remove-btn {\n background: none;\n border: none;\n color: var(--error-color);\n font-size: 0.75rem;\n cursor: pointer;\n padding: 0.25rem 0.5rem;\n border-radius: 4px;\n\n &:hover {\n background: rgba(220, 53, 69, 0.1);\n }\n}\n\n.progress-section {\n margin-top: 1.5rem;\n padding-top: 1rem;\n border-top: 1px solid var(--border-color);\n}\n\n.progress-bar {\n width: 100%;\n height: 8px;\n background: var(--secondary-color);\n border-radius: 4px;\n overflow: hidden;\n margin-bottom: 0.5rem;\n\n .progress-fill {\n height: 100%;\n background: var(--primary-color);\n transition: width 0.3s ease;\n }\n}\n\n.progress-text {\n font-size: 0.875rem;\n color: var(--text-secondary);\n text-align: center;\n}\n\n.side-cart__footer {\n border-top: 1px solid var(--border-color);\n padding: 1rem;\n}\n\n.totals {\n margin-bottom: 1rem;\n\n .subtotal, .savings {\n display: flex;\n justify-content: space-between;\n margin-bottom: 0.5rem;\n }\n\n .subtotal {\n font-weight: 600;\n font-size: 1.125rem;\n }\n\n .savings {\n color: var(--success-color);\n font-size: 0.875rem;\n }\n}\n\n.actions {\n display: flex;\n gap: 0.75rem;\n\n .btn {\n flex: 1;\n padding: 0.75rem;\n border: none;\n border-radius: 6px;\n font-weight: 500;\n cursor: pointer;\n transition: all 0.2s ease;\n\n &--primary {\n background: var(--primary-color);\n color: white;\n\n &:hover {\n background: #68a03b; /* Darker shade of --primary-color */\n filter: brightness(0.9);\n }\n }\n\n &--secondary {\n background: var(--secondary-color);\n color: var(--text-primary);\n border: 1px solid var(--border-color);\n\n &:hover {\n background: #e8e8e8; /* Darker shade of --secondary-color */\n filter: brightness(0.95);\n }\n }\n }\n}\n\n// Responsive adjustments\n@media (max-width: 768px) {\n .side-cart__content {\n width: 100vw;\n max-width: none;\n }\n\n .cart-item {\n &__details {\n font-size: 0.8rem;\n }\n\n &__name {\n font-size: 0.8rem;\n }\n }\n}\n","import { Component, Prop, State, h, Event, EventEmitter } from '@stencil/core';\n\nexport interface CartItem {\n id: string | number;\n name: string;\n brand: string;\n price: number;\n originalPrice?: number;\n quantity: number;\n image: string;\n description: string;\n}\n\nexport interface DiscountThreshold {\n amount: number;\n percentage: number;\n}\n\n@Component({\n tag: 'jump-side-cart',\n styleUrl: 'jump-side-cart.scss',\n shadow: true,\n})\nexport class JumpSideCart {\n @Prop() isOpen: boolean = false;\n @Prop() position: 'left' | 'right' = 'right';\n @Prop() items: CartItem[] = [];\n @Prop() discountThreshold?: DiscountThreshold;\n @Prop() freeShippingThreshold?: number;\n @Prop() progressPercentage: number = 0;\n @Prop() checkoutLabel: string = 'Checkout';\n @Prop() viewCartLabel: string = 'View Cart';\n @Prop() shippingInfo?: string;\n\n @State() cartItems: CartItem[] = [];\n\n @Event() cartClosed: EventEmitter<void>;\n @Event() itemQuantityChanged: EventEmitter<{itemId: string | number, quantity: number}>;\n @Event() itemRemoved: EventEmitter<string | number>;\n @Event() checkoutClicked: EventEmitter<void>;\n @Event() viewCartClicked: EventEmitter<void>;\n\n componentWillLoad() {\n this.cartItems = [...this.items];\n }\n\n componentWillUpdate() {\n if (this.items !== this.cartItems) {\n this.cartItems = [...this.items];\n }\n }\n\n private handleClose = () => {\n this.cartClosed.emit();\n }\n\n private handleQuantityChange = (itemId: string | number, newQuantity: number) => {\n if (newQuantity < 1) return;\n \n this.cartItems = this.cartItems.map(item => \n item.id === itemId ? { ...item, quantity: newQuantity } : item\n );\n \n this.itemQuantityChanged.emit({ itemId, quantity: newQuantity });\n }\n\n private handleRemoveItem = (itemId: string | number) => {\n this.cartItems = this.cartItems.filter(item => item.id !== itemId);\n this.itemRemoved.emit(itemId);\n }\n\n private calculateSubtotal = (): number => {\n return this.cartItems.reduce((total, item) => total + (item.price * item.quantity), 0);\n }\n\n private calculateSavings = (): number => {\n return this.cartItems.reduce((total, item) => {\n if (item.originalPrice) {\n return total + ((item.originalPrice - item.price) * item.quantity);\n }\n return total;\n }, 0);\n }\n\n private renderCartItem = (item: CartItem) => {\n return (\n <div class=\"cart-item\" key={item.id}>\n <div class=\"cart-item__image\">\n <img src={item.image} alt={item.name} />\n </div>\n <div class=\"cart-item__details\">\n <div class=\"cart-item__brand\">{item.brand}</div>\n <div class=\"cart-item__name\">{item.name}</div>\n <div class=\"cart-item__description\">{item.description}</div>\n <div class=\"cart-item__price\">\n €{item.price.toFixed(2)}\n {item.originalPrice && (\n <span class=\"cart-item__original-price\">€{item.originalPrice.toFixed(2)}</span>\n )}\n </div>\n </div>\n <div class=\"cart-item__controls\">\n <div class=\"quantity-controls\">\n <button \n class=\"quantity-btn\"\n onClick={() => this.handleQuantityChange(item.id, item.quantity - 1)}\n disabled={item.quantity <= 1}\n >\n -\n </button>\n <span class=\"quantity\">{item.quantity}</span>\n <button \n class=\"quantity-btn\"\n onClick={() => this.handleQuantityChange(item.id, item.quantity + 1)}\n >\n +\n </button>\n </div>\n <button \n class=\"remove-btn\"\n onClick={() => this.handleRemoveItem(item.id)}\n >\n Remove\n </button>\n </div>\n </div>\n );\n }\n\n private renderProgressBar = () => {\n if (!this.discountThreshold && !this.freeShippingThreshold) return null;\n\n const threshold = this.discountThreshold?.amount || this.freeShippingThreshold || 0;\n const current = this.calculateSubtotal();\n const percentage = Math.min((current / threshold) * 100, 100);\n\n return (\n <div class=\"progress-section\">\n <div class=\"progress-bar\">\n <div class=\"progress-fill\" style={{ width: `${percentage}%` }}></div>\n </div>\n <div class=\"progress-text\">\n {this.shippingInfo || (\n this.freeShippingThreshold ? \n `€${Math.max(0, this.freeShippingThreshold - current).toFixed(2)} away from free shipping` :\n `€${Math.max(0, threshold - current).toFixed(2)} away from ${this.discountThreshold?.percentage}% discount`\n )}\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.isOpen) return null;\n\n const subtotal = this.calculateSubtotal();\n const savings = this.calculateSavings();\n\n return (\n <div class={`side-cart side-cart--${this.position} ${this.isOpen ? 'side-cart--open' : ''}`}>\n <div class=\"side-cart__overlay\" onClick={this.handleClose}></div>\n \n <div class=\"side-cart__content\">\n <div class=\"side-cart__header\">\n <h2>Shopping Cart ({this.cartItems.length})</h2>\n <button class=\"close-btn\" onClick={this.handleClose}>×</button>\n </div>\n\n <div class=\"side-cart__body\">\n {this.cartItems.length === 0 ? (\n <div class=\"empty-cart\">\n <p>Your cart is empty</p>\n </div>\n ) : (\n <div class=\"cart-items\">\n {this.cartItems.map(item => this.renderCartItem(item))}\n </div>\n )}\n\n {this.renderProgressBar()}\n </div>\n\n {this.cartItems.length > 0 && (\n <div class=\"side-cart__footer\">\n <div class=\"totals\">\n <div class=\"subtotal\">\n <span>Subtotal:</span>\n <span>€{subtotal.toFixed(2)}</span>\n </div>\n {savings > 0 && (\n <div class=\"savings\">\n <span>You save:</span>\n <span>€{savings.toFixed(2)}</span>\n </div>\n )}\n </div>\n \n <div class=\"actions\">\n <button \n class=\"btn btn--secondary\"\n onClick={() => this.viewCartClicked.emit()}\n >\n {this.viewCartLabel}\n </button>\n <button \n class=\"btn btn--primary\"\n onClick={() => this.checkoutClicked.emit()}\n >\n {this.checkoutLabel}\n </button>\n </div>\n </div>\n )}\n </div>\n </div>\n );\n }\n}\n"],"mappings":"kDAAA,MAAMA,EAAkB,sxJACxB,MAAAC,EAAeD,E,MCsBFE,EAAY,M,oQA6BfC,KAAAC,YAAc,KACpBD,KAAKE,WAAWC,MAAM,EAGhBH,KAAAI,qBAAuB,CAACC,EAAyBC,KACvD,GAAIA,EAAc,EAAG,OAErBN,KAAKO,UAAYP,KAAKO,UAAUC,KAAIC,GAClCA,EAAKC,KAAOL,EAAMM,OAAAC,OAAAD,OAAAC,OAAA,GAAQH,GAAI,CAAEI,SAAUP,IAAgBG,IAG5DT,KAAKc,oBAAoBX,KAAK,CAAEE,SAAQQ,SAAUP,GAAc,EAG1DN,KAAAe,iBAAoBV,IAC1BL,KAAKO,UAAYP,KAAKO,UAAUS,QAAOP,GAAQA,EAAKC,KAAOL,IAC3DL,KAAKiB,YAAYd,KAAKE,EAAO,EAGvBL,KAAAkB,kBAAoB,IACnBlB,KAAKO,UAAUY,QAAO,CAACC,EAAOX,IAASW,EAASX,EAAKY,MAAQZ,EAAKI,UAAW,GAG9Eb,KAAAsB,iBAAmB,IAClBtB,KAAKO,UAAUY,QAAO,CAACC,EAAOX,KACnC,GAAIA,EAAKc,cAAe,CACtB,OAAOH,GAAUX,EAAKc,cAAgBd,EAAKY,OAASZ,EAAKI,Q,CAE3D,OAAOO,CAAK,GACX,GAGGpB,KAAAwB,eAAkBf,GAEtBgB,EAAA,OAAKC,MAAM,YAAYC,IAAKlB,EAAKC,IAC/Be,EAAA,OAAKC,MAAM,oBACTD,EAAA,OAAKG,IAAKnB,EAAKoB,MAAOC,IAAKrB,EAAKsB,QAElCN,EAAA,OAAKC,MAAM,sBACTD,EAAA,OAAKC,MAAM,oBAAoBjB,EAAKuB,OACpCP,EAAA,OAAKC,MAAM,mBAAmBjB,EAAKsB,MACnCN,EAAA,OAAKC,MAAM,0BAA0BjB,EAAKwB,aAC1CR,EAAA,OAAKC,MAAM,oBAAkB,IACzBjB,EAAKY,MAAMa,QAAQ,GACpBzB,EAAKc,eACJE,EAAA,QAAMC,MAAM,6BAA2B,IAAGjB,EAAKc,cAAcW,QAAQ,MAI3ET,EAAA,OAAKC,MAAM,uBACTD,EAAA,OAAKC,MAAM,qBACTD,EAAA,UACEC,MAAM,eACNS,QAAS,IAAMnC,KAAKI,qBAAqBK,EAAKC,GAAID,EAAKI,SAAW,GAClEuB,SAAU3B,EAAKI,UAAY,GAAC,KAI9BY,EAAA,QAAMC,MAAM,YAAYjB,EAAKI,UAC7BY,EAAA,UACEC,MAAM,eACNS,QAAS,IAAMnC,KAAKI,qBAAqBK,EAAKC,GAAID,EAAKI,SAAW,IAAE,MAKxEY,EAAA,UACEC,MAAM,aACNS,QAAS,IAAMnC,KAAKe,iBAAiBN,EAAKC,KAAG,YAS/CV,KAAAqC,kBAAoB,K,QAC1B,IAAKrC,KAAKsC,oBAAsBtC,KAAKuC,sBAAuB,OAAO,KAEnE,MAAMC,IAAYC,EAAAzC,KAAKsC,qBAAiB,MAAAG,SAAA,SAAAA,EAAEC,SAAU1C,KAAKuC,uBAAyB,EAClF,MAAMI,EAAU3C,KAAKkB,oBACrB,MAAM0B,EAAaC,KAAKC,IAAKH,EAAUH,EAAa,IAAK,KAEzD,OACEf,EAAA,OAAKC,MAAM,oBACTD,EAAA,OAAKC,MAAM,gBACTD,EAAA,OAAKC,MAAM,gBAAgBqB,MAAO,CAAEC,MAAO,GAAGJ,SAEhDnB,EAAA,OAAKC,MAAM,iBACR1B,KAAKiD,eACJjD,KAAKuC,sBACH,IAAIM,KAAKK,IAAI,EAAGlD,KAAKuC,sBAAwBI,GAAST,QAAQ,6BAC9D,IAAIW,KAAKK,IAAI,EAAGV,EAAYG,GAAST,QAAQ,iBAAgBiB,EAAAnD,KAAKsC,qBAAiB,MAAAa,SAAA,SAAAA,EAAEP,yBAGvF,E,YA5HgB,M,cACW,Q,WACT,G,8FAGS,E,mBACL,W,mBACA,Y,2CAGC,E,CAQjC,iBAAAQ,GACEpD,KAAKO,UAAY,IAAIP,KAAKqD,M,CAG5B,mBAAAC,GACE,GAAItD,KAAKqD,QAAUrD,KAAKO,UAAW,CACjCP,KAAKO,UAAY,IAAIP,KAAKqD,M,EAwG9B,MAAAE,GACE,IAAKvD,KAAKwD,OAAQ,OAAO,KAEzB,MAAMC,EAAWzD,KAAKkB,oBACtB,MAAMwC,EAAU1D,KAAKsB,mBAErB,OACEG,EAAA,OAAKC,MAAO,wBAAwB1B,KAAK2D,YAAY3D,KAAKwD,OAAS,kBAAoB,MACrF/B,EAAA,OAAKC,MAAM,qBAAqBS,QAASnC,KAAKC,cAE9CwB,EAAA,OAAKC,MAAM,sBACTD,EAAA,OAAKC,MAAM,qBACTD,EAAA,4BAAoBzB,KAAKO,UAAUqD,OAAM,KACzCnC,EAAA,UAAQC,MAAM,YAAYS,QAASnC,KAAKC,aAAW,MAGrDwB,EAAA,OAAKC,MAAM,mBACR1B,KAAKO,UAAUqD,SAAW,EACzBnC,EAAA,OAAKC,MAAM,cACTD,EAAA,gCAGFA,EAAA,OAAKC,MAAM,cACR1B,KAAKO,UAAUC,KAAIC,GAAQT,KAAKwB,eAAef,MAInDT,KAAKqC,qBAGPrC,KAAKO,UAAUqD,OAAS,GACvBnC,EAAA,OAAKC,MAAM,qBACTD,EAAA,OAAKC,MAAM,UACTD,EAAA,OAAKC,MAAM,YACTD,EAAA,yBACAA,EAAA,gBAAQgC,EAASvB,QAAQ,KAE1BwB,EAAU,GACTjC,EAAA,OAAKC,MAAM,WACTD,EAAA,yBACAA,EAAA,gBAAQiC,EAAQxB,QAAQ,MAK9BT,EAAA,OAAKC,MAAM,WACTD,EAAA,UACEC,MAAM,qBACNS,QAAS,IAAMnC,KAAK6D,gBAAgB1D,QAEnCH,KAAK8D,eAERrC,EAAA,UACEC,MAAM,mBACNS,QAAS,IAAMnC,KAAK+D,gBAAgB5D,QAEnCH,KAAKgE,kB"}
@@ -1,4 +1,4 @@
1
- import{r as t,c as e,h as s,H as l,g as o}from"./p-e516e812.js";import{i as r,x as i,c as n,_ as a,S as c,r as h,n as u,a as d,b as p,T as f,d as m,w as g}from"./p-95a1bbc5.js";import{S as b}from"./p-1b31e36f.js";import{e as v,a as y,i as x,t as w,b as _}from"./p-9d21c18a.js";import{o as k,f as z,F as $,H as j,d as S}from"./p-67339850.js";import{L as A,s as C,a as O,g as B,b as F,w as E}from"./p-f2d287d6.js";var D=r`
1
+ import{r as t,c as e,h as s,H as l,g as o}from"./p-40ca24a6.js";import{i as r,x as i,c as n,_ as a,S as c,r as h,n as u,a as d,b as p,T as f,d as m,w as g}from"./p-95a1bbc5.js";import{S as b}from"./p-1b31e36f.js";import{e as v,a as y,i as x,t as w,b as _}from"./p-9d21c18a.js";import{o as k,f as z,F as $,H as j,d as S}from"./p-67339850.js";import{L as A,s as C,a as O,g as B,b as F,w as E}from"./p-f2d287d6.js";var D=r`
2
2
  :host {
3
3
  display: inline-block;
4
4
  }
@@ -845,4 +845,4 @@ import{r as t,c as e,h as s,H as l,g as o}from"./p-e516e812.js";import{i as r,x
845
845
  <slot part="suffix" name="suffix" class="option__suffix"></slot>
846
846
  </div>
847
847
  `}};Ye.styles=[n,We];Ye.dependencies={"sl-icon":b};a([y(".option__label")],Ye.prototype,"defaultSlot",2);a([h()],Ye.prototype,"current",2);a([h()],Ye.prototype,"selected",2);a([h()],Ye.prototype,"hasHover",2);a([u({reflect:true})],Ye.prototype,"value",2);a([u({type:Boolean,reflect:true})],Ye.prototype,"disabled",2);a([g("disabled")],Ye.prototype,"handleDisabledChange",1);a([g("selected")],Ye.prototype,"handleSelectedChange",1);a([g("value")],Ye.prototype,"handleValueChange",1);Ye.define("sl-option");const Ge=':root,:host,.sl-theme-light{color-scheme:light;--sl-color-gray-50:hsl(0 0% 97.5%);--sl-color-gray-100:hsl(240 4.8% 95.9%);--sl-color-gray-200:hsl(240 5.9% 90%);--sl-color-gray-300:hsl(240 4.9% 83.9%);--sl-color-gray-400:hsl(240 5% 64.9%);--sl-color-gray-500:hsl(240 3.8% 46.1%);--sl-color-gray-600:hsl(240 5.2% 33.9%);--sl-color-gray-700:hsl(240 5.3% 26.1%);--sl-color-gray-800:hsl(240 3.7% 15.9%);--sl-color-gray-900:hsl(240 5.9% 10%);--sl-color-gray-950:hsl(240 7.3% 8%);--sl-color-red-50:hsl(0 85.7% 97.3%);--sl-color-red-100:hsl(0 93.3% 94.1%);--sl-color-red-200:hsl(0 96.3% 89.4%);--sl-color-red-300:hsl(0 93.5% 81.8%);--sl-color-red-400:hsl(0 90.6% 70.8%);--sl-color-red-500:hsl(0 84.2% 60.2%);--sl-color-red-600:hsl(0 72.2% 50.6%);--sl-color-red-700:hsl(0 73.7% 41.8%);--sl-color-red-800:hsl(0 70% 35.3%);--sl-color-red-900:hsl(0 62.8% 30.6%);--sl-color-red-950:hsl(0 60% 19.6%);--sl-color-orange-50:hsl(33.3 100% 96.5%);--sl-color-orange-100:hsl(34.3 100% 91.8%);--sl-color-orange-200:hsl(32.1 97.7% 83.1%);--sl-color-orange-300:hsl(30.7 97.2% 72.4%);--sl-color-orange-400:hsl(27 96% 61%);--sl-color-orange-500:hsl(24.6 95% 53.1%);--sl-color-orange-600:hsl(20.5 90.2% 48.2%);--sl-color-orange-700:hsl(17.5 88.3% 40.4%);--sl-color-orange-800:hsl(15 79.1% 33.7%);--sl-color-orange-900:hsl(15.3 74.6% 27.8%);--sl-color-orange-950:hsl(15.2 69.1% 19%);--sl-color-amber-50:hsl(48 100% 96.1%);--sl-color-amber-100:hsl(48 96.5% 88.8%);--sl-color-amber-200:hsl(48 96.6% 76.7%);--sl-color-amber-300:hsl(45.9 96.7% 64.5%);--sl-color-amber-400:hsl(43.3 96.4% 56.3%);--sl-color-amber-500:hsl(37.7 92.1% 50.2%);--sl-color-amber-600:hsl(32.1 94.6% 43.7%);--sl-color-amber-700:hsl(26 90.5% 37.1%);--sl-color-amber-800:hsl(22.7 82.5% 31.4%);--sl-color-amber-900:hsl(21.7 77.8% 26.5%);--sl-color-amber-950:hsl(22.9 74.1% 16.7%);--sl-color-yellow-50:hsl(54.5 91.7% 95.3%);--sl-color-yellow-100:hsl(54.9 96.7% 88%);--sl-color-yellow-200:hsl(52.8 98.3% 76.9%);--sl-color-yellow-300:hsl(50.4 97.8% 63.5%);--sl-color-yellow-400:hsl(47.9 95.8% 53.1%);--sl-color-yellow-500:hsl(45.4 93.4% 47.5%);--sl-color-yellow-600:hsl(40.6 96.1% 40.4%);--sl-color-yellow-700:hsl(35.5 91.7% 32.9%);--sl-color-yellow-800:hsl(31.8 81% 28.8%);--sl-color-yellow-900:hsl(28.4 72.5% 25.7%);--sl-color-yellow-950:hsl(33.1 69% 13.9%);--sl-color-lime-50:hsl(78.3 92% 95.1%);--sl-color-lime-100:hsl(79.6 89.1% 89.2%);--sl-color-lime-200:hsl(80.9 88.5% 79.6%);--sl-color-lime-300:hsl(82 84.5% 67.1%);--sl-color-lime-400:hsl(82.7 78% 55.5%);--sl-color-lime-500:hsl(83.7 80.5% 44.3%);--sl-color-lime-600:hsl(84.8 85.2% 34.5%);--sl-color-lime-700:hsl(85.9 78.4% 27.3%);--sl-color-lime-800:hsl(86.3 69% 22.7%);--sl-color-lime-900:hsl(87.6 61.2% 20.2%);--sl-color-lime-950:hsl(86.5 60.6% 13.9%);--sl-color-green-50:hsl(138.5 76.5% 96.7%);--sl-color-green-100:hsl(140.6 84.2% 92.5%);--sl-color-green-200:hsl(141 78.9% 85.1%);--sl-color-green-300:hsl(141.7 76.6% 73.1%);--sl-color-green-400:hsl(141.9 69.2% 58%);--sl-color-green-500:hsl(142.1 70.6% 45.3%);--sl-color-green-600:hsl(142.1 76.2% 36.3%);--sl-color-green-700:hsl(142.4 71.8% 29.2%);--sl-color-green-800:hsl(142.8 64.2% 24.1%);--sl-color-green-900:hsl(143.8 61.2% 20.2%);--sl-color-green-950:hsl(144.3 60.7% 12%);--sl-color-emerald-50:hsl(151.8 81% 95.9%);--sl-color-emerald-100:hsl(149.3 80.4% 90%);--sl-color-emerald-200:hsl(152.4 76% 80.4%);--sl-color-emerald-300:hsl(156.2 71.6% 66.9%);--sl-color-emerald-400:hsl(158.1 64.4% 51.6%);--sl-color-emerald-500:hsl(160.1 84.1% 39.4%);--sl-color-emerald-600:hsl(161.4 93.5% 30.4%);--sl-color-emerald-700:hsl(162.9 93.5% 24.3%);--sl-color-emerald-800:hsl(163.1 88.1% 19.8%);--sl-color-emerald-900:hsl(164.2 85.7% 16.5%);--sl-color-emerald-950:hsl(164.3 87.5% 9.4%);--sl-color-teal-50:hsl(166.2 76.5% 96.7%);--sl-color-teal-100:hsl(167.2 85.5% 89.2%);--sl-color-teal-200:hsl(168.4 83.8% 78.2%);--sl-color-teal-300:hsl(170.6 76.9% 64.3%);--sl-color-teal-400:hsl(172.5 66% 50.4%);--sl-color-teal-500:hsl(173.4 80.4% 40%);--sl-color-teal-600:hsl(174.7 83.9% 31.6%);--sl-color-teal-700:hsl(175.3 77.4% 26.1%);--sl-color-teal-800:hsl(176.1 69.4% 21.8%);--sl-color-teal-900:hsl(175.9 60.8% 19%);--sl-color-teal-950:hsl(176.5 58.6% 11.4%);--sl-color-cyan-50:hsl(183.2 100% 96.3%);--sl-color-cyan-100:hsl(185.1 95.9% 90.4%);--sl-color-cyan-200:hsl(186.2 93.5% 81.8%);--sl-color-cyan-300:hsl(187 92.4% 69%);--sl-color-cyan-400:hsl(187.9 85.7% 53.3%);--sl-color-cyan-500:hsl(188.7 94.5% 42.7%);--sl-color-cyan-600:hsl(191.6 91.4% 36.5%);--sl-color-cyan-700:hsl(192.9 82.3% 31%);--sl-color-cyan-800:hsl(194.4 69.6% 27.1%);--sl-color-cyan-900:hsl(196.4 63.6% 23.7%);--sl-color-cyan-950:hsl(196.8 61% 16.1%);--sl-color-sky-50:hsl(204 100% 97.1%);--sl-color-sky-100:hsl(204 93.8% 93.7%);--sl-color-sky-200:hsl(200.6 94.4% 86.1%);--sl-color-sky-300:hsl(199.4 95.5% 73.9%);--sl-color-sky-400:hsl(198.4 93.2% 59.6%);--sl-color-sky-500:hsl(198.6 88.7% 48.4%);--sl-color-sky-600:hsl(200.4 98% 39.4%);--sl-color-sky-700:hsl(201.3 96.3% 32.2%);--sl-color-sky-800:hsl(201 90% 27.5%);--sl-color-sky-900:hsl(202 80.3% 23.9%);--sl-color-sky-950:hsl(202.3 73.8% 16.5%);--sl-color-blue-50:hsl(213.8 100% 96.9%);--sl-color-blue-100:hsl(214.3 94.6% 92.7%);--sl-color-blue-200:hsl(213.3 96.9% 87.3%);--sl-color-blue-300:hsl(211.7 96.4% 78.4%);--sl-color-blue-400:hsl(213.1 93.9% 67.8%);--sl-color-blue-500:hsl(217.2 91.2% 59.8%);--sl-color-blue-600:hsl(221.2 83.2% 53.3%);--sl-color-blue-700:hsl(224.3 76.3% 48%);--sl-color-blue-800:hsl(225.9 70.7% 40.2%);--sl-color-blue-900:hsl(224.4 64.3% 32.9%);--sl-color-blue-950:hsl(226.2 55.3% 18.4%);--sl-color-indigo-50:hsl(225.9 100% 96.7%);--sl-color-indigo-100:hsl(226.5 100% 93.9%);--sl-color-indigo-200:hsl(228 96.5% 88.8%);--sl-color-indigo-300:hsl(229.7 93.5% 81.8%);--sl-color-indigo-400:hsl(234.5 89.5% 73.9%);--sl-color-indigo-500:hsl(238.7 83.5% 66.7%);--sl-color-indigo-600:hsl(243.4 75.4% 58.6%);--sl-color-indigo-700:hsl(244.5 57.9% 50.6%);--sl-color-indigo-800:hsl(243.7 54.5% 41.4%);--sl-color-indigo-900:hsl(242.2 47.4% 34.3%);--sl-color-indigo-950:hsl(243.5 43.6% 22.9%);--sl-color-violet-50:hsl(250 100% 97.6%);--sl-color-violet-100:hsl(251.4 91.3% 95.5%);--sl-color-violet-200:hsl(250.5 95.2% 91.8%);--sl-color-violet-300:hsl(252.5 94.7% 85.1%);--sl-color-violet-400:hsl(255.1 91.7% 76.3%);--sl-color-violet-500:hsl(258.3 89.5% 66.3%);--sl-color-violet-600:hsl(262.1 83.3% 57.8%);--sl-color-violet-700:hsl(263.4 70% 50.4%);--sl-color-violet-800:hsl(263.4 69.3% 42.2%);--sl-color-violet-900:hsl(263.5 67.4% 34.9%);--sl-color-violet-950:hsl(265.1 61.5% 21.4%);--sl-color-purple-50:hsl(270 100% 98%);--sl-color-purple-100:hsl(268.7 100% 95.5%);--sl-color-purple-200:hsl(268.6 100% 91.8%);--sl-color-purple-300:hsl(269.2 97.4% 85.1%);--sl-color-purple-400:hsl(270 95.2% 75.3%);--sl-color-purple-500:hsl(270.7 91% 65.1%);--sl-color-purple-600:hsl(271.5 81.3% 55.9%);--sl-color-purple-700:hsl(272.1 71.7% 47.1%);--sl-color-purple-800:hsl(272.9 67.2% 39.4%);--sl-color-purple-900:hsl(273.6 65.6% 32%);--sl-color-purple-950:hsl(276 59.5% 16.5%);--sl-color-fuchsia-50:hsl(289.1 100% 97.8%);--sl-color-fuchsia-100:hsl(287 100% 95.5%);--sl-color-fuchsia-200:hsl(288.3 95.8% 90.6%);--sl-color-fuchsia-300:hsl(291.1 93.1% 82.9%);--sl-color-fuchsia-400:hsl(292 91.4% 72.5%);--sl-color-fuchsia-500:hsl(292.2 84.1% 60.6%);--sl-color-fuchsia-600:hsl(293.4 69.5% 48.8%);--sl-color-fuchsia-700:hsl(294.7 72.4% 39.8%);--sl-color-fuchsia-800:hsl(295.4 70.2% 32.9%);--sl-color-fuchsia-900:hsl(296.7 63.6% 28%);--sl-color-fuchsia-950:hsl(297.1 56.8% 14.5%);--sl-color-pink-50:hsl(327.3 73.3% 97.1%);--sl-color-pink-100:hsl(325.7 77.8% 94.7%);--sl-color-pink-200:hsl(325.9 84.6% 89.8%);--sl-color-pink-300:hsl(327.4 87.1% 81.8%);--sl-color-pink-400:hsl(328.6 85.5% 70.2%);--sl-color-pink-500:hsl(330.4 81.2% 60.4%);--sl-color-pink-600:hsl(333.3 71.4% 50.6%);--sl-color-pink-700:hsl(335.1 77.6% 42%);--sl-color-pink-800:hsl(335.8 74.4% 35.3%);--sl-color-pink-900:hsl(335.9 69% 30.4%);--sl-color-pink-950:hsl(336.2 65.4% 15.9%);--sl-color-rose-50:hsl(355.7 100% 97.3%);--sl-color-rose-100:hsl(355.6 100% 94.7%);--sl-color-rose-200:hsl(352.7 96.1% 90%);--sl-color-rose-300:hsl(352.6 95.7% 81.8%);--sl-color-rose-400:hsl(351.3 94.5% 71.4%);--sl-color-rose-500:hsl(349.7 89.2% 60.2%);--sl-color-rose-600:hsl(346.8 77.2% 49.8%);--sl-color-rose-700:hsl(345.3 82.7% 40.8%);--sl-color-rose-800:hsl(343.4 79.7% 34.7%);--sl-color-rose-900:hsl(341.5 75.5% 30.4%);--sl-color-rose-950:hsl(341.3 70.1% 17.1%);--sl-color-primary-50:var(--sl-color-sky-50);--sl-color-primary-100:var(--sl-color-sky-100);--sl-color-primary-200:var(--sl-color-sky-200);--sl-color-primary-300:var(--sl-color-sky-300);--sl-color-primary-400:var(--sl-color-sky-400);--sl-color-primary-500:var(--sl-color-sky-500);--sl-color-primary-600:var(--sl-color-sky-600);--sl-color-primary-700:var(--sl-color-sky-700);--sl-color-primary-800:var(--sl-color-sky-800);--sl-color-primary-900:var(--sl-color-sky-900);--sl-color-primary-950:var(--sl-color-sky-950);--sl-color-success-50:var(--sl-color-green-50);--sl-color-success-100:var(--sl-color-green-100);--sl-color-success-200:var(--sl-color-green-200);--sl-color-success-300:var(--sl-color-green-300);--sl-color-success-400:var(--sl-color-green-400);--sl-color-success-500:var(--sl-color-green-500);--sl-color-success-600:var(--sl-color-green-600);--sl-color-success-700:var(--sl-color-green-700);--sl-color-success-800:var(--sl-color-green-800);--sl-color-success-900:var(--sl-color-green-900);--sl-color-success-950:var(--sl-color-green-950);--sl-color-warning-50:var(--sl-color-amber-50);--sl-color-warning-100:var(--sl-color-amber-100);--sl-color-warning-200:var(--sl-color-amber-200);--sl-color-warning-300:var(--sl-color-amber-300);--sl-color-warning-400:var(--sl-color-amber-400);--sl-color-warning-500:var(--sl-color-amber-500);--sl-color-warning-600:var(--sl-color-amber-600);--sl-color-warning-700:var(--sl-color-amber-700);--sl-color-warning-800:var(--sl-color-amber-800);--sl-color-warning-900:var(--sl-color-amber-900);--sl-color-warning-950:var(--sl-color-amber-950);--sl-color-danger-50:var(--sl-color-red-50);--sl-color-danger-100:var(--sl-color-red-100);--sl-color-danger-200:var(--sl-color-red-200);--sl-color-danger-300:var(--sl-color-red-300);--sl-color-danger-400:var(--sl-color-red-400);--sl-color-danger-500:var(--sl-color-red-500);--sl-color-danger-600:var(--sl-color-red-600);--sl-color-danger-700:var(--sl-color-red-700);--sl-color-danger-800:var(--sl-color-red-800);--sl-color-danger-900:var(--sl-color-red-900);--sl-color-danger-950:var(--sl-color-red-950);--sl-color-neutral-50:var(--sl-color-gray-50);--sl-color-neutral-100:var(--sl-color-gray-100);--sl-color-neutral-200:var(--sl-color-gray-200);--sl-color-neutral-300:var(--sl-color-gray-300);--sl-color-neutral-400:var(--sl-color-gray-400);--sl-color-neutral-500:var(--sl-color-gray-500);--sl-color-neutral-600:var(--sl-color-gray-600);--sl-color-neutral-700:var(--sl-color-gray-700);--sl-color-neutral-800:var(--sl-color-gray-800);--sl-color-neutral-900:var(--sl-color-gray-900);--sl-color-neutral-950:var(--sl-color-gray-950);--sl-color-neutral-0:hsl(0, 0%, 100%);--sl-color-neutral-1000:hsl(0, 0%, 0%);--sl-border-radius-small:0.1875rem;--sl-border-radius-medium:0.25rem;--sl-border-radius-large:0.5rem;--sl-border-radius-x-large:1rem;--sl-border-radius-circle:50%;--sl-border-radius-pill:9999px;--sl-shadow-x-small:0 1px 2px hsl(240 3.8% 46.1% / 6%);--sl-shadow-small:0 1px 2px hsl(240 3.8% 46.1% / 12%);--sl-shadow-medium:0 2px 4px hsl(240 3.8% 46.1% / 12%);--sl-shadow-large:0 2px 8px hsl(240 3.8% 46.1% / 12%);--sl-shadow-x-large:0 4px 16px hsl(240 3.8% 46.1% / 12%);--sl-spacing-3x-small:0.125rem;--sl-spacing-2x-small:0.25rem;--sl-spacing-x-small:0.5rem;--sl-spacing-small:0.75rem;--sl-spacing-medium:1rem;--sl-spacing-large:1.25rem;--sl-spacing-x-large:1.75rem;--sl-spacing-2x-large:2.25rem;--sl-spacing-3x-large:3rem;--sl-spacing-4x-large:4.5rem;--sl-transition-x-slow:1000ms;--sl-transition-slow:500ms;--sl-transition-medium:250ms;--sl-transition-fast:150ms;--sl-transition-x-fast:50ms;--sl-font-mono:SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;--sl-font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,\n Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",\n "Segoe UI Symbol";--sl-font-serif:Georgia, "Times New Roman", serif;--sl-font-size-2x-small:0.625rem;--sl-font-size-x-small:0.75rem;--sl-font-size-small:0.875rem;--sl-font-size-medium:1rem;--sl-font-size-large:1.25rem;--sl-font-size-x-large:1.5rem;--sl-font-size-2x-large:2.25rem;--sl-font-size-3x-large:3rem;--sl-font-size-4x-large:4.5rem;--sl-font-weight-light:300;--sl-font-weight-normal:400;--sl-font-weight-semibold:500;--sl-font-weight-bold:700;--sl-letter-spacing-denser:-0.03em;--sl-letter-spacing-dense:-0.015em;--sl-letter-spacing-normal:normal;--sl-letter-spacing-loose:0.075em;--sl-letter-spacing-looser:0.15em;--sl-line-height-denser:1;--sl-line-height-dense:1.4;--sl-line-height-normal:1.8;--sl-line-height-loose:2.2;--sl-line-height-looser:2.6;--sl-focus-ring-color:var(--sl-color-primary-600);--sl-focus-ring-style:solid;--sl-focus-ring-width:3px;--sl-focus-ring:var(--sl-focus-ring-style) var(--sl-focus-ring-width)\n var(--sl-focus-ring-color);--sl-focus-ring-offset:1px;--sl-button-font-size-small:var(--sl-font-size-x-small);--sl-button-font-size-medium:var(--sl-font-size-small);--sl-button-font-size-large:var(--sl-font-size-medium);--sl-input-height-small:1.875rem;--sl-input-height-medium:2.5rem;--sl-input-height-large:3.125rem;--sl-input-background-color:var(--sl-color-neutral-0);--sl-input-background-color-hover:var(--sl-input-background-color);--sl-input-background-color-focus:var(--sl-input-background-color);--sl-input-background-color-disabled:var(--sl-color-neutral-100);--sl-input-border-color:var(--sl-color-neutral-300);--sl-input-border-color-hover:var(--sl-color-neutral-400);--sl-input-border-color-focus:var(--sl-color-primary-500);--sl-input-border-color-disabled:var(--sl-color-neutral-300);--sl-input-border-width:1px;--sl-input-required-content:"*";--sl-input-required-content-offset:-2px;--sl-input-required-content-color:var(--sl-input-label-color);--sl-input-border-radius-small:var(--sl-border-radius-medium);--sl-input-border-radius-medium:var(--sl-border-radius-medium);--sl-input-border-radius-large:var(--sl-border-radius-medium);--sl-input-font-family:var(--sl-font-sans);--sl-input-font-weight:var(--sl-font-weight-normal);--sl-input-font-size-small:var(--sl-font-size-small);--sl-input-font-size-medium:var(--sl-font-size-medium);--sl-input-font-size-large:var(--sl-font-size-large);--sl-input-letter-spacing:var(--sl-letter-spacing-normal);--sl-input-color:var(--sl-color-neutral-700);--sl-input-color-hover:var(--sl-color-neutral-700);--sl-input-color-focus:var(--sl-color-neutral-700);--sl-input-color-disabled:var(--sl-color-neutral-900);--sl-input-icon-color:var(--sl-color-neutral-500);--sl-input-icon-color-hover:var(--sl-color-neutral-600);--sl-input-icon-color-focus:var(--sl-color-neutral-600);--sl-input-placeholder-color:var(--sl-color-neutral-500);--sl-input-placeholder-color-disabled:var(--sl-color-neutral-600);--sl-input-spacing-small:var(--sl-spacing-small);--sl-input-spacing-medium:var(--sl-spacing-medium);--sl-input-spacing-large:var(--sl-spacing-large);--sl-input-focus-ring-color:hsl(198.6 88.7% 48.4% / 40%);--sl-input-focus-ring-offset:0;--sl-input-filled-background-color:var(--sl-color-neutral-100);--sl-input-filled-background-color-hover:var(--sl-color-neutral-100);--sl-input-filled-background-color-focus:var(--sl-color-neutral-100);--sl-input-filled-background-color-disabled:var(--sl-color-neutral-100);--sl-input-filled-color:var(--sl-color-neutral-800);--sl-input-filled-color-hover:var(--sl-color-neutral-800);--sl-input-filled-color-focus:var(--sl-color-neutral-700);--sl-input-filled-color-disabled:var(--sl-color-neutral-800);--sl-input-label-font-size-small:var(--sl-font-size-small);--sl-input-label-font-size-medium:var(--sl-font-size-medium);--sl-input-label-font-size-large:var(--sl-font-size-large);--sl-input-label-color:inherit;--sl-input-help-text-font-size-small:var(--sl-font-size-x-small);--sl-input-help-text-font-size-medium:var(--sl-font-size-small);--sl-input-help-text-font-size-large:var(--sl-font-size-medium);--sl-input-help-text-color:var(--sl-color-neutral-500);--sl-toggle-size-small:0.875rem;--sl-toggle-size-medium:1.125rem;--sl-toggle-size-large:1.375rem;--sl-overlay-background-color:hsl(240 3.8% 46.1% / 33%);--sl-panel-background-color:var(--sl-color-neutral-0);--sl-panel-border-color:var(--sl-color-neutral-200);--sl-panel-border-width:1px;--sl-tooltip-border-radius:var(--sl-border-radius-medium);--sl-tooltip-background-color:var(--sl-color-neutral-800);--sl-tooltip-color:var(--sl-color-neutral-0);--sl-tooltip-font-family:var(--sl-font-sans);--sl-tooltip-font-weight:var(--sl-font-weight-normal);--sl-tooltip-font-size:var(--sl-font-size-small);--sl-tooltip-line-height:var(--sl-line-height-dense);--sl-tooltip-padding:var(--sl-spacing-2x-small) var(--sl-spacing-x-small);--sl-tooltip-arrow-size:6px;--sl-z-index-drawer:700;--sl-z-index-dialog:800;--sl-z-index-dropdown:900;--sl-z-index-toast:950;--sl-z-index-tooltip:1000}@supports (scrollbar-gutter: stable){.sl-scroll-lock{scrollbar-gutter:stable !important;overflow:hidden !important}}@supports not (scrollbar-gutter: stable){.sl-scroll-lock body{padding-right:var(--sl-scroll-lock-size) !important;overflow:hidden !important}}.sl-toast-stack{position:fixed;top:0;inset-inline-end:0;z-index:var(--sl-z-index-toast);width:28rem;max-width:100%;max-height:100%;overflow:auto}.sl-toast-stack sl-alert{margin:var(--sl-spacing-medium)}.sl-toast-stack sl-alert::part(base){box-shadow:var(--sl-shadow-large)}:host{--jump-select-border-radius:4px;--jump-select-border-color:var(--neutral-grey-disabled, #cbcbcb);--jump-select-border-color-hover:var(--secondary-standard, #5e79ba);--jump-select-border-color-focus:var(--secondary-standard, #5e79ba);--jump-select-background:var(--neutral-white, #ffffff);--jump-select-color:var(--neutral-black, #000000);--jump-select-font-family:var(--ff-primary, "Inter", sans-serif);--jump-select-font-size:16px;--jump-select-font-weight:normal;--jump-select-height:40px;--jump-select-padding:0 10px;--jump-select-disabled-opacity:0.5;--jump-select-placeholder-color:var(--neutral-grey-disabled, #cbcbcb);--jump-select-label-margin:0 0 8px 0;--jump-select-label-color:var(--neutral-black, #000000);--jump-select-label-font-size:14px;--jump-select-label-font-weight:500;--jump-select-option-selected-background:var(--secondary-standard, #5e79ba);--jump-select-option-selected-color:var(--neutral-white, #ffffff);--jump-select-dropdown-box-shadow:0 2px 5px rgba(0, 0, 0, 0.1);display:flex;flex-direction:column;width:100%;}:host .select-label{font-family:var(--jump-select-font-family);font-size:var(--jump-select-label-font-size);font-weight:var(--jump-select-label-font-weight);color:var(--jump-select-label-color);margin:var(--jump-select-label-margin)}:host sl-select::part(form-control){display:block;width:100%}:host sl-select::part(base){width:100%;font-family:var(--jump-select-font-family);font-size:var(--jump-select-font-size);font-weight:var(--jump-select-font-weight)}:host sl-select::part(control){height:var(--jump-select-height);border-radius:var(--jump-select-border-radius);border-color:var(--jump-select-border-color);background-color:var(--jump-select-background);color:var(--jump-select-color);padding:var(--jump-select-padding)}:host sl-select::part(control):hover{border-color:var(--jump-select-border-color-hover)}:host sl-select::part(control):focus-within{border-color:var(--jump-select-border-color-focus);box-shadow:0 0 0 2px rgba(94, 121, 186, 0.25)}:host sl-select::part(display-input){height:var(--jump-select-height);line-height:var(--jump-select-height);color:var(--jump-select-color)}:host sl-select::part(placeholder){color:var(--jump-select-placeholder-color)}:host sl-select::part(dropdown){box-shadow:var(--jump-select-dropdown-box-shadow);border-radius:var(--jump-select-border-radius);z-index:100}:host sl-select::part(listbox){font-family:var(--jump-select-font-family);font-size:var(--jump-select-font-size)}:host sl-select::part(tags){margin-top:0}:host sl-select::part(tag){background-color:var(--secondary-standard, #5e79ba);color:var(--neutral-white, #ffffff)}:host sl-select[disabled]::part(control){opacity:var(--jump-select-disabled-opacity);cursor:not-allowed}:host sl-option::part(checked-icon){color:var(--jump-select-option-selected-color)}:host sl-option[selected]::part(base){background-color:var(--jump-select-option-selected-background);color:var(--jump-select-option-selected-color)}';const Je=Ge;const Ke=class{constructor(s){t(this,s);this.selectionChange=e(this,"jump-select-change",7);this.selectionFilterChange=e(this,"jump-filterchange",7);this.valueChange=e(this,"jump-select-value-change",7);this.value=undefined;this.placeholder="Seleziona un'opzione";this.label=undefined;this.name="select-filter";this.options=[];this.disabled=false;this.multiple=false;this.required=false;this.loading=false;this.open=false;this.hasSlottedOptions=false;this.values=[]}componentWillRender(){const t=this.hostElement.childNodes;this.hasSlottedOptions=Array.from(t).some((t=>t.nodeName&&t.nodeName.toLowerCase()==="sl-option"))}getOptionsArray(){if(typeof this.options==="string"){try{return JSON.parse(this.options)}catch(t){console.error("Errore nel parsing delle opzioni:",t);return[]}}return this.options}updateValues(){this.values=this.value?[this.value]:[]}componentDidLoad(){this.listenSLChange();this.updateValues()}listenSLChange(){if(this.host){this.host.addEventListener("sl-change",(t=>{if(this.disabled){return}this.value=t.target.value;this.updateValues();const e=this.getOptionsArray();const s=e.find((t=>t.value===this.value));const l={value:this.value,selectedOption:s};this.selectionChange.emit(l);const o={name:this.name,values:this.values,value:this.value,selectedOption:s};this.selectionFilterChange.emit(o)}))}}async getSelectedValue(){return this.value}async getSelectedOption(){const t=this.getOptionsArray();return t.find((t=>t.value===this.value))}async getValues(){return this.values}async getName(){return this.name}async setValue(t,e=true){if(this.disabled){return this.value}const s=this.value;if(s===t){return this.value}this.value=t;this.updateValues();if(this.el){this.el.value=t}if(e){const t=this.getOptionsArray();const e=t.find((t=>t.value===this.value));const l={value:this.value,oldValue:s,selectedOption:e,programmatic:true};this.selectionChange.emit(l);const o={name:this.name,values:this.values,value:this.value,oldValue:s,selectedOption:e,programmatic:true};this.selectionFilterChange.emit(o);this.valueChange.emit({value:this.value,oldValue:s,selectedOption:e})}return this.value}render(){const t=this.getOptionsArray();return s(l,{key:"26ecef5862a3d5ef1d903ac9dad378027841d78c",ref:t=>this.host=t},this.label&&s("div",{key:"24bc20afb81ebe4b760889b3be866cc4c94b43f4",class:"select-label"},this.label),s("sl-select",{key:"7b578cf8ab02dd40df93848af918c51f7061bbbe",value:this.value,placeholder:this.placeholder,disabled:this.disabled,multiple:this.multiple,required:this.required,loading:this.loading,ref:t=>this.el=t},!this.hasSlottedOptions&&t.map((t=>s("sl-option",{value:t.value},t.label))),s("slot",{key:"dc85029632cf9c9f6b00b72c4f9a83a8281e25dc"})))}get hostElement(){return o(this)}};Ke.style=Je;export{Ke as jump_filter_select};
848
- //# sourceMappingURL=p-6148a37d.entry.js.map
848
+ //# sourceMappingURL=p-fa2a10bf.entry.js.map
@@ -1077,6 +1077,59 @@
1077
1077
  }
1078
1078
  ]
1079
1079
  },
1080
+ {
1081
+ "name": "jump-side-cart",
1082
+ "description": {
1083
+ "kind": "markdown",
1084
+ "value": ""
1085
+ },
1086
+ "attributes": [
1087
+ {
1088
+ "name": "checkout-label",
1089
+ "description": ""
1090
+ },
1091
+ {
1092
+ "name": "free-shipping-threshold",
1093
+ "description": ""
1094
+ },
1095
+ {
1096
+ "name": "is-open",
1097
+ "description": ""
1098
+ },
1099
+ {
1100
+ "name": "position",
1101
+ "description": "",
1102
+ "values": [
1103
+ {
1104
+ "name": "left"
1105
+ },
1106
+ {
1107
+ "name": "right"
1108
+ }
1109
+ ]
1110
+ },
1111
+ {
1112
+ "name": "progress-percentage",
1113
+ "description": ""
1114
+ },
1115
+ {
1116
+ "name": "shipping-info",
1117
+ "description": ""
1118
+ },
1119
+ {
1120
+ "name": "view-cart-label",
1121
+ "description": ""
1122
+ }
1123
+ ]
1124
+ },
1125
+ {
1126
+ "name": "jump-side-cart-example",
1127
+ "description": {
1128
+ "kind": "markdown",
1129
+ "value": ""
1130
+ },
1131
+ "attributes": []
1132
+ },
1080
1133
  {
1081
1134
  "name": "jump-tab",
1082
1135
  "description": {
@@ -0,0 +1,45 @@
1
+ import { EventEmitter } from '../../stencil-public-runtime';
2
+ export interface CartItem {
3
+ id: string | number;
4
+ name: string;
5
+ brand: string;
6
+ price: number;
7
+ originalPrice?: number;
8
+ quantity: number;
9
+ image: string;
10
+ description: string;
11
+ }
12
+ export interface DiscountThreshold {
13
+ amount: number;
14
+ percentage: number;
15
+ }
16
+ export declare class JumpSideCart {
17
+ isOpen: boolean;
18
+ position: 'left' | 'right';
19
+ items: CartItem[];
20
+ discountThreshold?: DiscountThreshold;
21
+ freeShippingThreshold?: number;
22
+ progressPercentage: number;
23
+ checkoutLabel: string;
24
+ viewCartLabel: string;
25
+ shippingInfo?: string;
26
+ cartItems: CartItem[];
27
+ cartClosed: EventEmitter<void>;
28
+ itemQuantityChanged: EventEmitter<{
29
+ itemId: string | number;
30
+ quantity: number;
31
+ }>;
32
+ itemRemoved: EventEmitter<string | number>;
33
+ checkoutClicked: EventEmitter<void>;
34
+ viewCartClicked: EventEmitter<void>;
35
+ componentWillLoad(): void;
36
+ componentWillUpdate(): void;
37
+ private handleClose;
38
+ private handleQuantityChange;
39
+ private handleRemoveItem;
40
+ private calculateSubtotal;
41
+ private calculateSavings;
42
+ private renderCartItem;
43
+ private renderProgressBar;
44
+ render(): any;
45
+ }
@@ -0,0 +1,14 @@
1
+ import type { CartItem } from './jump-side-cart';
2
+ export declare class JumpSideCartExample {
3
+ isCartOpen: boolean;
4
+ position: 'left' | 'right';
5
+ cartItems: CartItem[];
6
+ private handleUpdateQuantity;
7
+ private handleRemoveItem;
8
+ private handleCartClosed;
9
+ private handleCheckout;
10
+ private handleViewCart;
11
+ private openCartFromRight;
12
+ private openCartFromLeft;
13
+ render(): any;
14
+ }
@@ -0,0 +1,43 @@
1
+ declare const meta: {
2
+ title: string;
3
+ tags: string[];
4
+ parameters: {
5
+ layout: string;
6
+ };
7
+ };
8
+ export default meta;
9
+ export declare const RightSide: {
10
+ render: (args: any) => HTMLDivElement;
11
+ args: {
12
+ position: string;
13
+ discountThreshold: {
14
+ amount: number;
15
+ percentage: number;
16
+ };
17
+ progressPercentage: number;
18
+ checkoutLabel: string;
19
+ viewCartLabel: string;
20
+ };
21
+ };
22
+ export declare const LeftSide: {
23
+ render: (args: any) => HTMLDivElement;
24
+ args: {
25
+ position: string;
26
+ discountThreshold: {
27
+ amount: number;
28
+ percentage: number;
29
+ };
30
+ progressPercentage: number;
31
+ checkoutLabel: string;
32
+ viewCartLabel: string;
33
+ };
34
+ };
35
+ export declare const WithFreeShipping: {
36
+ render: (args: any) => HTMLDivElement;
37
+ args: {
38
+ position: string;
39
+ freeShippingThreshold: number;
40
+ progressPercentage: number;
41
+ shippingInfo: string;
42
+ };
43
+ };
@@ -5,6 +5,8 @@
5
5
  * It contains typing information for all components that exist in this project.
6
6
  */
7
7
  import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime";
8
+ import { CartItem, DiscountThreshold } from "./components/jump-side-cart/jump-side-cart";
9
+ export { CartItem, DiscountThreshold } from "./components/jump-side-cart/jump-side-cart";
8
10
  export namespace Components {
9
11
  interface JumpAccordion {
10
12
  "disabled": boolean;
@@ -615,6 +617,19 @@ export namespace Components {
615
617
  "setResults": (results: any, tot?: number) => Promise<void>;
616
618
  "showAllResText": string;
617
619
  }
620
+ interface JumpSideCart {
621
+ "checkoutLabel": string;
622
+ "discountThreshold"?: DiscountThreshold;
623
+ "freeShippingThreshold"?: number;
624
+ "isOpen": boolean;
625
+ "items": CartItem[];
626
+ "position": 'left' | 'right';
627
+ "progressPercentage": number;
628
+ "shippingInfo"?: string;
629
+ "viewCartLabel": string;
630
+ }
631
+ interface JumpSideCartExample {
632
+ }
618
633
  interface JumpTab {
619
634
  "alignment": string;
620
635
  "disabled": boolean;
@@ -696,6 +711,10 @@ export interface JumpSearchBarMobileCustomEvent<T> extends CustomEvent<T> {
696
711
  detail: T;
697
712
  target: HTMLJumpSearchBarMobileElement;
698
713
  }
714
+ export interface JumpSideCartCustomEvent<T> extends CustomEvent<T> {
715
+ detail: T;
716
+ target: HTMLJumpSideCartElement;
717
+ }
699
718
  export interface JumpTabCustomEvent<T> extends CustomEvent<T> {
700
719
  detail: T;
701
720
  target: HTMLJumpTabElement;
@@ -987,6 +1006,33 @@ declare global {
987
1006
  prototype: HTMLJumpSearchBarMobileElement;
988
1007
  new (): HTMLJumpSearchBarMobileElement;
989
1008
  };
1009
+ interface HTMLJumpSideCartElementEventMap {
1010
+ "cartClosed": void;
1011
+ "itemQuantityChanged": {itemId: string | number, quantity: number};
1012
+ "itemRemoved": string | number;
1013
+ "checkoutClicked": void;
1014
+ "viewCartClicked": void;
1015
+ }
1016
+ interface HTMLJumpSideCartElement extends Components.JumpSideCart, HTMLStencilElement {
1017
+ addEventListener<K extends keyof HTMLJumpSideCartElementEventMap>(type: K, listener: (this: HTMLJumpSideCartElement, ev: JumpSideCartCustomEvent<HTMLJumpSideCartElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
1018
+ addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1019
+ addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
1020
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
1021
+ removeEventListener<K extends keyof HTMLJumpSideCartElementEventMap>(type: K, listener: (this: HTMLJumpSideCartElement, ev: JumpSideCartCustomEvent<HTMLJumpSideCartElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
1022
+ removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1023
+ removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
1024
+ removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
1025
+ }
1026
+ var HTMLJumpSideCartElement: {
1027
+ prototype: HTMLJumpSideCartElement;
1028
+ new (): HTMLJumpSideCartElement;
1029
+ };
1030
+ interface HTMLJumpSideCartExampleElement extends Components.JumpSideCartExample, HTMLStencilElement {
1031
+ }
1032
+ var HTMLJumpSideCartExampleElement: {
1033
+ prototype: HTMLJumpSideCartExampleElement;
1034
+ new (): HTMLJumpSideCartExampleElement;
1035
+ };
990
1036
  interface HTMLJumpTabElementEventMap {
991
1037
  "jump-change-activetab": any;
992
1038
  }
@@ -1048,6 +1094,8 @@ declare global {
1048
1094
  "jump-search-bar": HTMLJumpSearchBarElement;
1049
1095
  "jump-search-bar-dropdown-item": HTMLJumpSearchBarDropdownItemElement;
1050
1096
  "jump-search-bar-mobile": HTMLJumpSearchBarMobileElement;
1097
+ "jump-side-cart": HTMLJumpSideCartElement;
1098
+ "jump-side-cart-example": HTMLJumpSideCartExampleElement;
1051
1099
  "jump-tab": HTMLJumpTabElement;
1052
1100
  "jump-tab-item": HTMLJumpTabItemElement;
1053
1101
  "jump-tab-panel": HTMLJumpTabPanelElement;
@@ -1635,6 +1683,24 @@ declare namespace LocalJSX {
1635
1683
  "resultsText"?: string;
1636
1684
  "showAllResText"?: string;
1637
1685
  }
1686
+ interface JumpSideCart {
1687
+ "checkoutLabel"?: string;
1688
+ "discountThreshold"?: DiscountThreshold;
1689
+ "freeShippingThreshold"?: number;
1690
+ "isOpen"?: boolean;
1691
+ "items"?: CartItem[];
1692
+ "onCartClosed"?: (event: JumpSideCartCustomEvent<void>) => void;
1693
+ "onCheckoutClicked"?: (event: JumpSideCartCustomEvent<void>) => void;
1694
+ "onItemQuantityChanged"?: (event: JumpSideCartCustomEvent<{itemId: string | number, quantity: number}>) => void;
1695
+ "onItemRemoved"?: (event: JumpSideCartCustomEvent<string | number>) => void;
1696
+ "onViewCartClicked"?: (event: JumpSideCartCustomEvent<void>) => void;
1697
+ "position"?: 'left' | 'right';
1698
+ "progressPercentage"?: number;
1699
+ "shippingInfo"?: string;
1700
+ "viewCartLabel"?: string;
1701
+ }
1702
+ interface JumpSideCartExample {
1703
+ }
1638
1704
  interface JumpTab {
1639
1705
  "alignment"?: string;
1640
1706
  "disabled"?: boolean;
@@ -1686,6 +1752,8 @@ declare namespace LocalJSX {
1686
1752
  "jump-search-bar": JumpSearchBar;
1687
1753
  "jump-search-bar-dropdown-item": JumpSearchBarDropdownItem;
1688
1754
  "jump-search-bar-mobile": JumpSearchBarMobile;
1755
+ "jump-side-cart": JumpSideCart;
1756
+ "jump-side-cart-example": JumpSideCartExample;
1689
1757
  "jump-tab": JumpTab;
1690
1758
  "jump-tab-item": JumpTabItem;
1691
1759
  "jump-tab-panel": JumpTabPanel;
@@ -1721,6 +1789,8 @@ declare module "@stencil/core" {
1721
1789
  "jump-search-bar": LocalJSX.JumpSearchBar & JSXBase.HTMLAttributes<HTMLJumpSearchBarElement>;
1722
1790
  "jump-search-bar-dropdown-item": LocalJSX.JumpSearchBarDropdownItem & JSXBase.HTMLAttributes<HTMLJumpSearchBarDropdownItemElement>;
1723
1791
  "jump-search-bar-mobile": LocalJSX.JumpSearchBarMobile & JSXBase.HTMLAttributes<HTMLJumpSearchBarMobileElement>;
1792
+ "jump-side-cart": LocalJSX.JumpSideCart & JSXBase.HTMLAttributes<HTMLJumpSideCartElement>;
1793
+ "jump-side-cart-example": LocalJSX.JumpSideCartExample & JSXBase.HTMLAttributes<HTMLJumpSideCartExampleElement>;
1724
1794
  "jump-tab": LocalJSX.JumpTab & JSXBase.HTMLAttributes<HTMLJumpTabElement>;
1725
1795
  "jump-tab-item": LocalJSX.JumpTabItem & JSXBase.HTMLAttributes<HTMLJumpTabItemElement>;
1726
1796
  "jump-tab-panel": LocalJSX.JumpTabPanel & JSXBase.HTMLAttributes<HTMLJumpTabPanelElement>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jumpgroup/jump-design-system",
3
- "version": "0.3.69",
3
+ "version": "0.3.70",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",