@mozaic-ds/web-components 1.1.0 → 1.2.0

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 (230) hide show
  1. package/README.md +26 -104
  2. package/dist/Cross20.js +1 -1
  3. package/dist/Cross20.js.map +1 -1
  4. package/dist/Cross24.js +1 -1
  5. package/dist/CrossCircleFilled24.js +1 -1
  6. package/dist/attributes.js +1 -1
  7. package/dist/attributes.js.map +1 -1
  8. package/dist/bundle.d.ts +5 -5
  9. package/dist/bundle.d.ts.map +1 -1
  10. package/dist/bundle.js +5 -5
  11. package/dist/components/avatar/Avatar.js +2 -2
  12. package/dist/components/avatar/Avatar.js.map +1 -1
  13. package/dist/components/avatar/Avatar.svelte +1 -1
  14. package/dist/components/breadcrumb/Breadcrumb.js +2 -2
  15. package/dist/components/breadcrumb/Breadcrumb.js.map +1 -1
  16. package/dist/components/breadcrumb/Breadcrumb.svelte +1 -1
  17. package/dist/components/button/Button.js +3 -3
  18. package/dist/components/button/Button.js.map +1 -1
  19. package/dist/components/button/Button.svelte +2 -2
  20. package/dist/components/callout/Callout.js +1 -1
  21. package/dist/components/callout/Callout.js.map +1 -1
  22. package/dist/components/callout/Callout.svelte +1 -1
  23. package/dist/components/checkbox/Checkbox.js +2 -2
  24. package/dist/components/checkbox/Checkbox.svelte +2 -2
  25. package/dist/components/checkboxgroup/CheckboxGroup.js +1 -1
  26. package/dist/components/checkboxgroup/CheckboxGroup.svelte +2 -2
  27. package/dist/components/circularprogressbar/CircularProgressbar.js +2 -2
  28. package/dist/components/circularprogressbar/CircularProgressbar.js.map +1 -1
  29. package/dist/components/circularprogressbar/CircularProgressbar.stories.js +2 -2
  30. package/dist/components/circularprogressbar/CircularProgressbar.svelte +10 -1
  31. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts +1 -0
  32. package/dist/components/circularprogressbar/CircularProgressbar.svelte.d.ts.map +1 -1
  33. package/dist/components/container/Container.js +14 -0
  34. package/dist/components/container/Container.js.map +1 -0
  35. package/dist/components/container/Container.spec.js +26 -0
  36. package/dist/components/container/Container.stories.d.ts +7 -0
  37. package/dist/components/container/Container.stories.d.ts.map +1 -0
  38. package/dist/components/container/Container.stories.js +23 -0
  39. package/dist/components/container/Container.svelte +60 -0
  40. package/dist/components/container/Container.svelte.d.ts +39 -0
  41. package/dist/components/container/Container.svelte.d.ts.map +1 -0
  42. package/dist/components/container/README.md +16 -0
  43. package/dist/components/datepicker/Datepicker.js +3 -3
  44. package/dist/components/datepicker/Datepicker.js.map +1 -1
  45. package/dist/components/datepicker/Datepicker.svelte +9 -9
  46. package/dist/components/divider/Divider.js +4 -0
  47. package/dist/components/divider/Divider.js.map +1 -0
  48. package/dist/components/divider/Divider.spec.js +50 -0
  49. package/dist/components/divider/Divider.stories.d.ts +9 -0
  50. package/dist/components/divider/Divider.stories.d.ts.map +1 -0
  51. package/dist/components/divider/Divider.stories.js +57 -0
  52. package/dist/components/divider/Divider.svelte +90 -0
  53. package/dist/components/divider/Divider.svelte.d.ts +47 -0
  54. package/dist/components/divider/Divider.svelte.d.ts.map +1 -0
  55. package/dist/components/divider/README.md +18 -0
  56. package/dist/components/drawer/Drawer.js +4 -4
  57. package/dist/components/drawer/Drawer.js.map +1 -1
  58. package/dist/components/drawer/Drawer.svelte +4 -4
  59. package/dist/components/flag/Flag.js +2 -2
  60. package/dist/components/flag/Flag.js.map +1 -1
  61. package/dist/components/flag/Flag.svelte +1 -1
  62. package/dist/components/iconbutton/IconButton.js +2 -2
  63. package/dist/components/iconbutton/IconButton.js.map +1 -1
  64. package/dist/components/iconbutton/IconButton.svelte +2 -2
  65. package/dist/components/kpiitem/KpiItem.js +5 -0
  66. package/dist/components/kpiitem/KpiItem.js.map +1 -0
  67. package/dist/components/kpiitem/KpiItem.spec.js +60 -0
  68. package/dist/components/kpiitem/KpiItem.stories.d.ts +8 -0
  69. package/dist/components/kpiitem/KpiItem.stories.d.ts.map +1 -0
  70. package/dist/components/kpiitem/KpiItem.stories.js +56 -0
  71. package/dist/components/kpiitem/KpiItem.svelte +231 -0
  72. package/dist/components/kpiitem/KpiItem.svelte.d.ts +34 -0
  73. package/dist/components/kpiitem/KpiItem.svelte.d.ts.map +1 -0
  74. package/dist/components/kpiitem/README.md +15 -0
  75. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js +2 -2
  76. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.js.map +1 -1
  77. package/dist/components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte +2 -2
  78. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js +2 -2
  79. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.js.map +1 -1
  80. package/dist/components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte +3 -3
  81. package/dist/components/link/Link.js +1 -1
  82. package/dist/components/link/Link.js.map +1 -1
  83. package/dist/components/link/Link.svelte +1 -1
  84. package/dist/components/modal/Modal.js +3 -3
  85. package/dist/components/modal/Modal.js.map +1 -1
  86. package/dist/components/modal/Modal.svelte +4 -4
  87. package/dist/components/numberbadge/NumberBadge.js +1 -1
  88. package/dist/components/numberbadge/NumberBadge.js.map +1 -1
  89. package/dist/components/numberbadge/NumberBadge.svelte +1 -1
  90. package/dist/components/pagination/Pagination.js +6 -6
  91. package/dist/components/pagination/Pagination.js.map +1 -1
  92. package/dist/components/pagination/Pagination.svelte +5 -5
  93. package/dist/components/passwordinput/PasswordInput.js +3 -3
  94. package/dist/components/passwordinput/PasswordInput.js.map +1 -1
  95. package/dist/components/passwordinput/PasswordInput.svelte +8 -8
  96. package/dist/components/pincode/Pincode.js +2 -2
  97. package/dist/components/pincode/Pincode.js.map +1 -1
  98. package/dist/components/pincode/Pincode.svelte +5 -5
  99. package/dist/components/quantityselector/QuantitySelector.js +3 -3
  100. package/dist/components/quantityselector/QuantitySelector.js.map +1 -1
  101. package/dist/components/quantityselector/QuantitySelector.svelte +10 -12
  102. package/dist/components/quantityselector/QuantitySelector.svelte.d.ts.map +1 -1
  103. package/dist/components/radio/Radio.js +2 -2
  104. package/dist/components/radio/Radio.js.map +1 -1
  105. package/dist/components/radio/Radio.svelte +2 -2
  106. package/dist/components/radiogroup/RadioGroup.js +1 -1
  107. package/dist/components/radiogroup/RadioGroup.svelte +2 -2
  108. package/dist/components/select/Select.js +3 -3
  109. package/dist/components/select/Select.svelte +5 -5
  110. package/dist/components/statusbadge/StatusBadge.js +2 -2
  111. package/dist/components/statusbadge/StatusBadge.js.map +1 -1
  112. package/dist/components/statusbadge/StatusBadge.svelte +9 -9
  113. package/dist/components/statusdot/StatusDot.js +1 -1
  114. package/dist/components/statusdot/StatusDot.svelte +2 -2
  115. package/dist/components/statusmessage/README.md +11 -0
  116. package/dist/components/statusmessage/StatusMessage.js +4 -0
  117. package/dist/components/statusmessage/StatusMessage.js.map +1 -0
  118. package/dist/components/statusmessage/StatusMessage.spec.js +47 -0
  119. package/dist/components/statusmessage/StatusMessage.stories.d.ts +11 -0
  120. package/dist/components/statusmessage/StatusMessage.stories.d.ts.map +1 -0
  121. package/dist/components/statusmessage/StatusMessage.stories.js +37 -0
  122. package/dist/components/statusmessage/StatusMessage.svelte +84 -0
  123. package/dist/components/statusmessage/StatusMessage.svelte.d.ts +17 -0
  124. package/dist/components/statusmessage/StatusMessage.svelte.d.ts.map +1 -0
  125. package/dist/components/statusnotification/StatusNotification.js +2 -2
  126. package/dist/components/statusnotification/StatusNotification.js.map +1 -1
  127. package/dist/components/statusnotification/StatusNotification.svelte +12 -12
  128. package/dist/components/steppercompact/README.md +13 -0
  129. package/dist/components/steppercompact/StepperCompact.js +4 -0
  130. package/dist/components/steppercompact/StepperCompact.js.map +1 -0
  131. package/dist/components/steppercompact/StepperCompact.spec.js +119 -0
  132. package/dist/components/steppercompact/StepperCompact.stories.d.ts +6 -0
  133. package/dist/components/steppercompact/StepperCompact.stories.d.ts.map +1 -0
  134. package/dist/components/steppercompact/StepperCompact.stories.js +28 -0
  135. package/dist/components/steppercompact/StepperCompact.svelte +123 -0
  136. package/dist/components/steppercompact/StepperCompact.svelte.d.ts +25 -0
  137. package/dist/components/steppercompact/StepperCompact.svelte.d.ts.map +1 -0
  138. package/dist/components/tab/Tab.js +2 -2
  139. package/dist/components/tab/Tab.js.map +1 -1
  140. package/dist/components/tab/Tab.svelte +1 -1
  141. package/dist/components/tabs/Tabs.svelte +1 -1
  142. package/dist/components/tag/README.md +30 -0
  143. package/dist/components/tag/Tag.js +4 -0
  144. package/dist/components/tag/Tag.js.map +1 -0
  145. package/dist/components/tag/Tag.stories.d.ts +12 -0
  146. package/dist/components/tag/Tag.stories.d.ts.map +1 -0
  147. package/dist/components/tag/Tag.stories.js +70 -0
  148. package/dist/components/{tags/TagRemovable.svelte → tag/Tag.svelte} +111 -26
  149. package/dist/components/tag/Tag.svelte.d.ts +65 -0
  150. package/dist/components/tag/Tag.svelte.d.ts.map +1 -0
  151. package/dist/components/textarea/Textarea.js +2 -2
  152. package/dist/components/textarea/Textarea.js.map +1 -1
  153. package/dist/components/textarea/Textarea.svelte +5 -5
  154. package/dist/components/textinput/Textinput.js +5 -5
  155. package/dist/components/textinput/Textinput.js.map +1 -1
  156. package/dist/components/textinput/Textinput.svelte +6 -6
  157. package/dist/components/toaster/Toaster.js +3 -3
  158. package/dist/components/toaster/Toaster.js.map +1 -1
  159. package/dist/components/toaster/Toaster.svelte +11 -11
  160. package/dist/components/toggle/Toggle.js +2 -2
  161. package/dist/components/toggle/Toggle.js.map +1 -1
  162. package/dist/components/toggle/Toggle.svelte +2 -2
  163. package/dist/components/togglegroup/ToggleGroup.js +1 -1
  164. package/dist/components/togglegroup/ToggleGroup.js.map +1 -1
  165. package/dist/components/togglegroup/ToggleGroup.svelte +2 -2
  166. package/dist/components/tooltip/Tooltip.js +1 -1
  167. package/dist/components/tooltip/Tooltip.svelte +2 -2
  168. package/dist/custom-element-forward-events.js +1 -1
  169. package/dist/custom-element-forward-events.js.map +1 -1
  170. package/dist/custom-element.js +3 -3
  171. package/dist/custom-element.js.map +1 -1
  172. package/dist/documentation/Svelte/usingPresets.mdx +2 -3
  173. package/dist/documentation/WebComponents/usingPresets.mdx +2 -3
  174. package/dist/each.js +1 -1
  175. package/dist/each.js.map +1 -1
  176. package/dist/if.js +1 -1
  177. package/dist/if.js.map +1 -1
  178. package/dist/input.js +1 -1
  179. package/dist/input.js.map +1 -1
  180. package/dist/legacy.js +1 -1
  181. package/dist/main.d.ts +7 -6
  182. package/dist/main.d.ts.map +1 -1
  183. package/dist/main.js +7 -6
  184. package/dist/slot.js +1 -1
  185. package/dist/slot.js.map +1 -1
  186. package/dist/svelte-component.js +2 -0
  187. package/dist/svelte-component.js.map +1 -0
  188. package/dist/this.js +1 -1
  189. package/dist/this.js.map +1 -1
  190. package/package.json +14 -17
  191. package/dist/components/tags/README.md +0 -9
  192. package/dist/components/tags/Tag.js +0 -4
  193. package/dist/components/tags/Tag.js.map +0 -1
  194. package/dist/components/tags/Tag.svelte +0 -218
  195. package/dist/components/tags/Tag.svelte.d.ts +0 -9
  196. package/dist/components/tags/Tag.svelte.d.ts.map +0 -1
  197. package/dist/components/tags/TagContextualised.js +0 -4
  198. package/dist/components/tags/TagContextualised.js.map +0 -1
  199. package/dist/components/tags/TagContextualised.svelte +0 -235
  200. package/dist/components/tags/TagContextualised.svelte.d.ts +0 -11
  201. package/dist/components/tags/TagContextualised.svelte.d.ts.map +0 -1
  202. package/dist/components/tags/TagInteractive.js +0 -4
  203. package/dist/components/tags/TagInteractive.js.map +0 -1
  204. package/dist/components/tags/TagInteractive.svelte +0 -223
  205. package/dist/components/tags/TagInteractive.svelte.d.ts +0 -10
  206. package/dist/components/tags/TagInteractive.svelte.d.ts.map +0 -1
  207. package/dist/components/tags/TagRemovable.js +0 -4
  208. package/dist/components/tags/TagRemovable.js.map +0 -1
  209. package/dist/components/tags/TagRemovable.svelte.d.ts +0 -11
  210. package/dist/components/tags/TagRemovable.svelte.d.ts.map +0 -1
  211. package/dist/components/tags/TagSelectable.js +0 -4
  212. package/dist/components/tags/TagSelectable.js.map +0 -1
  213. package/dist/components/tags/TagSelectable.svelte +0 -243
  214. package/dist/components/tags/TagSelectable.svelte.d.ts +0 -13
  215. package/dist/components/tags/TagSelectable.svelte.d.ts.map +0 -1
  216. package/dist/components/tags/Tags.stories.d.ts +0 -5
  217. package/dist/components/tags/Tags.stories.d.ts.map +0 -1
  218. package/dist/components/tags/Tags.stories.js +0 -41
  219. package/dist/components/tags/TagsContextualised.stories.d.ts +0 -5
  220. package/dist/components/tags/TagsContextualised.stories.d.ts.map +0 -1
  221. package/dist/components/tags/TagsContextualised.stories.js +0 -57
  222. package/dist/components/tags/TagsInteractive.stories.d.ts +0 -5
  223. package/dist/components/tags/TagsInteractive.stories.d.ts.map +0 -1
  224. package/dist/components/tags/TagsInteractive.stories.js +0 -61
  225. package/dist/components/tags/TagsRemovable.stories.d.ts +0 -5
  226. package/dist/components/tags/TagsRemovable.stories.d.ts.map +0 -1
  227. package/dist/components/tags/TagsRemovable.stories.js +0 -60
  228. package/dist/components/tags/TagsSelectable.stories.d.ts +0 -5
  229. package/dist/components/tags/TagsSelectable.stories.d.ts.map +0 -1
  230. package/dist/components/tags/TagsSelectable.stories.js +0 -76
@@ -14,10 +14,9 @@ Currently, ADEO Design System supports the following presets:
14
14
  - **Leroy Merlin preset**: Default preset applied when ADEO Design System is first installed.
15
15
  - **Adeo preset**: Targeted at internal interfaces and products of the **Adeo Group**.
16
16
  - **Mbrand preset**: Designed for the **Mbrand** brand's interfaces and products.
17
- - **Enki preset**: Designed for the **Enki** brand's interfaces and products.
18
17
 
19
18
  > ℹ️ **Note:**
20
- > The process shown below is valid for all presets — simply replace `"adeo"` by the desired brand name (e.g., `"mbrand"` or `"enki"`).
19
+ > The process shown below is valid for all presets — simply replace `"adeo"` by the desired brand name (e.g., `"mbrand"` or `"bricocenter"`).
21
20
 
22
21
  ---
23
22
 
@@ -38,7 +37,7 @@ To load a preset, simply import the corresponding Sass token package into your m
38
37
  >
39
38
  > - `adeo`
40
39
  > - `mbrand`
41
- > - `enki`
40
+ > - `bricocenter`
42
41
  >
43
42
  > **Note:** The `leroymerlin` preset is applied by default, so no need to explicitly import it unless overriding.
44
43
 
@@ -14,10 +14,9 @@ Currently, ADEO Design System supports the following presets:
14
14
  - **Leroy Merlin preset**: Default preset applied when ADEO Design System is first installed.
15
15
  - **Adeo preset**: Targeted at internal interfaces and products of the **Adeo Group**.
16
16
  - **Mbrand preset**: Designed for the **Mbrand** brand's interfaces and products.
17
- - **Enki preset**: Designed for the **Enki** brand's interfaces and products.
18
17
 
19
18
  > ℹ️ **Note:**
20
- > The process shown below is valid for all presets — simply replace `"adeo"` by the desired brand name (e.g., `"mbrand"` or `"enki"`).
19
+ > The process shown below is valid for all presets — simply replace `"adeo"` by the desired brand name (e.g., `"mbrand"` or `"bricocenter"`).
21
20
 
22
21
  ---
23
22
 
@@ -38,7 +37,7 @@ To load a preset, simply import the corresponding Sass token package into your m
38
37
  >
39
38
  > - `adeo`
40
39
  > - `mbrand`
41
- > - `enki`
40
+ > - `bricocenter`
42
41
  >
43
42
  > **Note:** The `leroymerlin` preset is applied by default, so no need to explicitly import it unless overriding.
44
43
 
package/dist/each.js CHANGED
@@ -1,2 +1,2 @@
1
- import{C as j,B as se,m as W,ae as ue,G as te,af as q,ag as B,F as ve,ah as Z,D as K,ai as de,aj as $,I as H,ak as ee,al as ae,R as _e,a9 as re,H as oe,am as ce,an as Y,ao as he,O as ne,ap as pe,aq as Ee,ar as me,as as Te,at as Ae,ad as g,au as Ie,J as we,av as xe,aa as Ce,ab as Ne,ac as y,a8 as G,K as O,aw as De,ax as Me}from"./custom-element.js";function Oe(l,r){return r}function He(l,r,e){for(var u=l.items,v=[],d=r.length,s=0;s<d;s++)me(r[s].e,v,!0);var h=d>0&&v.length===0&&e!==null;if(h){var T=e.parentNode;Te(T),T.append(e),u.clear(),x(l,r[0].prev,r[d-1].next)}Ae(v,()=>{for(var m=0;m<d;m++){var o=r[m];h||(u.delete(o.k),x(l,o.prev,o.next)),ne(o.e,!h)}})}function be(l,r,e,u,v,d=null){var s=l,h={flags:r,items:new Map,first:null},T=(r&ee)!==0;if(T){var m=l;s=H?g(Ie(m)):m.appendChild(j())}H&&we();var o=null,N=!1,A=new Map,D=ue(()=>{var _=e();return _e(_)?_:_==null?[]:ae(_)}),n,t;function i(){Re(t,n,h,A,s,v,r,u,e),d!==null&&(n.length===0?o?re(o):o=K(()=>d(s)):o!==null&&oe(o,()=>{o=null}))}se(()=>{t??(t=xe),n=W(D);var _=n.length;if(N&&_===0)return;N=_===0;let E=!1;if(H){var I=Ce(s)===Ne;I!==(_===0)&&(s=y(),g(s),G(!1),E=!0)}if(H){for(var C=null,c,a=0;a<_;a++){if(O.nodeType===De&&O.data===Me){s=O,E=!0,G(!1);break}var f=n[a],p=u(f,a);c=U(O,h,C,null,f,p,a,v,r,e),h.items.set(p,c),C=c}_>0&&g(y())}if(H)_===0&&d&&(o=K(()=>d(s)));else if(te()){var R=new Set,b=ve;for(a=0;a<_;a+=1){f=n[a],p=u(f,a);var M=h.items.get(p)??A.get(p);M?(r&(q|B))!==0&&fe(M,f,a,r):(c=U(null,h,null,null,f,p,a,v,r,e,!0),A.set(p,c)),R.add(p)}for(const[w,L]of h.items)R.has(w)||b.skipped_effects.add(L.e);b.add_callback(i)}else i();E&&G(!0),W(D)}),H&&(s=O)}function Re(l,r,e,u,v,d,s,h,T){var X,k,z,P;var m=(s&pe)!==0,o=(s&(q|B))!==0,N=r.length,A=e.items,D=e.first,n=D,t,i=null,_,E=[],I=[],C,c,a,f;if(m)for(f=0;f<N;f+=1)C=r[f],c=h(C,f),a=A.get(c),a!==void 0&&((X=a.a)==null||X.measure(),(_??(_=new Set)).add(a));for(f=0;f<N;f+=1){if(C=r[f],c=h(C,f),a=A.get(c),a===void 0){var p=u.get(c);if(p!==void 0){u.delete(c),A.set(c,p);var R=i?i.next:n;x(e,i,p),x(e,p,R),J(p,R,v),i=p}else{var b=n?n.e.nodes_start:v;i=U(b,e,i,i===null?e.first:i.next,C,c,f,d,s,T)}A.set(c,i),E=[],I=[],n=i.next;continue}if(o&&fe(a,C,f,s),(a.e.f&Y)!==0&&(re(a.e),m&&((k=a.a)==null||k.unfix(),(_??(_=new Set)).delete(a))),a!==n){if(t!==void 0&&t.has(a)){if(E.length<I.length){var M=I[0],w;i=M.prev;var L=E[0],F=E[E.length-1];for(w=0;w<E.length;w+=1)J(E[w],M,v);for(w=0;w<I.length;w+=1)t.delete(I[w]);x(e,L.prev,F.next),x(e,i,L),x(e,F,M),n=M,i=F,f-=1,E=[],I=[]}else t.delete(a),J(a,n,v),x(e,a.prev,a.next),x(e,a,i===null?e.first:i.next),x(e,i,a),i=a;continue}for(E=[],I=[];n!==null&&n.k!==c;)(n.e.f&Y)===0&&(t??(t=new Set)).add(n),I.push(n),n=n.next;if(n===null)continue;a=n}E.push(a),i=a,n=a.next}if(n!==null||t!==void 0){for(var S=t===void 0?[]:ae(t);n!==null;)(n.e.f&Y)===0&&S.push(n),n=n.next;var V=S.length;if(V>0){var ie=(s&ee)!==0&&N===0?v:null;if(m){for(f=0;f<V;f+=1)(z=S[f].a)==null||z.measure();for(f=0;f<V;f+=1)(P=S[f].a)==null||P.fix()}He(e,S,ie)}}m&&he(()=>{var Q;if(_!==void 0)for(a of _)(Q=a.a)==null||Q.apply()}),l.first=e.first&&e.first.e,l.last=i&&i.e;for(var le of u.values())ne(le.e);u.clear()}function fe(l,r,e,u){(u&q)!==0&&Z(l.v,r),(u&B)!==0?Z(l.i,e):l.i=e}function U(l,r,e,u,v,d,s,h,T,m,o){var N=(T&q)!==0,A=(T&ce)===0,D=N?A?de(v,!1,!1):$(v):v,n=(T&B)===0?s:$(s),t={i:n,v:D,k:d,a:null,e:null,prev:e,next:u};try{if(l===null){var i=document.createDocumentFragment();i.append(l=j())}return t.e=K(()=>h(l,D,n,m),H),t.e.prev=e&&e.e,t.e.next=u&&u.e,e===null?o||(r.first=t):(e.next=t,e.e.next=t.e),u!==null&&(u.prev=t,u.e.prev=t.e),t}finally{}}function J(l,r,e){for(var u=l.next?l.next.e.nodes_start:e,v=r?r.e.nodes_start:e,d=l.e.nodes_start;d!==null&&d!==u;){var s=Ee(d);v.before(d),d=s}}function x(l,r,e){r===null?l.first=e:(r.next=e,r.e.next=e&&e.e),e!==null&&(e.prev=r,e.e.prev=r&&r.e)}export{be as e,Oe as i};
1
+ import{aa as W,G as re,m as U,ai as ne,ac as fe,aj as q,ak as V,T as ie,al as X,L as J,am as le,an as P,I as S,ao as Z,ap as $,O as se,a8 as k,a9 as ue,aq as te,ar as z,a5 as ve,K as y,as as de,at as _e,au as oe,av as ce,aw as he,ah as B,ax as me,J as pe,ay as Ee,ae as Te,af as Ae,ag as Q,a7 as F,ad as R,az as Ie,aA as we}from"./custom-element.js";function Me(l,r){return r}function xe(l,r,e){for(var u=l.items,v=[],d=r.length,s=0;s<d;s++)oe(r[s].e,v,!0);var h=d>0&&v.length===0&&e!==null;if(h){var T=e.parentNode;ce(T),T.append(e),u.clear(),x(l,r[0].prev,r[d-1].next)}he(v,()=>{for(var E=0;E<d;E++){var o=r[E];h||(u.delete(o.k),x(l,o.prev,o.next)),y(o.e,!h)}})}function De(l,r,e,u,v,d=null){var s=l,h={flags:r,items:new Map,first:null},T=(r&Z)!==0;if(T){var E=l;s=S?B(me(E)):E.appendChild(W())}S&&pe();var o=null,N=!1,A=new Map,M=ne(()=>{var _=e();return se(_)?_:_==null?[]:$(_)}),n,t;function i(){Ce(t,n,h,A,s,v,r,u,e),d!==null&&(n.length===0?o?k(o):o=J(()=>d(s)):o!==null&&ue(o,()=>{o=null}))}re(()=>{t??=Ee,n=U(M);var _=n.length;if(N&&_===0)return;N=_===0;let p=!1;if(S){var I=Te(s)===Ae;I!==(_===0)&&(s=Q(),B(s),F(!1),p=!0)}if(S){for(var C=null,c,a=0;a<_;a++){if(R.nodeType===Ie&&R.data===we){s=R,p=!0,F(!1);break}var f=n[a],m=u(f,a);c=K(R,h,C,null,f,m,a,v,r,e),h.items.set(m,c),C=c}_>0&&B(Q())}if(S)_===0&&d&&(o=J(()=>d(s)));else if(fe()){var H=new Set,L=ie;for(a=0;a<_;a+=1){f=n[a],m=u(f,a);var D=h.items.get(m)??A.get(m);D?(r&(q|V))!==0&&j(D,f,a,r):(c=K(null,h,null,null,f,m,a,v,r,e,!0),A.set(m,c)),H.add(m)}for(const[w,b]of h.items)H.has(w)||L.skipped_effects.add(b.e);L.oncommit(i)}else i();p&&F(!0),U(M)}),S&&(s=R)}function Ce(l,r,e,u,v,d,s,h,T){var E=(s&de)!==0,o=(s&(q|V))!==0,N=r.length,A=e.items,M=e.first,n=M,t,i=null,_,p=[],I=[],C,c,a,f;if(E)for(f=0;f<N;f+=1)C=r[f],c=h(C,f),a=A.get(c),a!==void 0&&(a.a?.measure(),(_??=new Set).add(a));for(f=0;f<N;f+=1){if(C=r[f],c=h(C,f),a=A.get(c),a===void 0){var m=u.get(c);if(m!==void 0){u.delete(c),A.set(c,m);var H=i?i.next:n;x(e,i,m),x(e,m,H),G(m,H,v),i=m}else{var L=n?n.e.nodes_start:v;i=K(L,e,i,i===null?e.first:i.next,C,c,f,d,s,T)}A.set(c,i),p=[],I=[],n=i.next;continue}if(o&&j(a,C,f,s),(a.e.f&z)!==0&&(k(a.e),E&&(a.a?.unfix(),(_??=new Set).delete(a))),a!==n){if(t!==void 0&&t.has(a)){if(p.length<I.length){var D=I[0],w;i=D.prev;var b=p[0],Y=p[p.length-1];for(w=0;w<p.length;w+=1)G(p[w],D,v);for(w=0;w<I.length;w+=1)t.delete(I[w]);x(e,b.prev,Y.next),x(e,i,b),x(e,Y,D),n=D,i=Y,f-=1,p=[],I=[]}else t.delete(a),G(a,n,v),x(e,a.prev,a.next),x(e,a,i===null?e.first:i.next),x(e,i,a),i=a;continue}for(p=[],I=[];n!==null&&n.k!==c;)(n.e.f&z)===0&&(t??=new Set).add(n),I.push(n),n=n.next;if(n===null)continue;a=n}p.push(a),i=a,n=a.next}if(n!==null||t!==void 0){for(var O=t===void 0?[]:$(t);n!==null;)(n.e.f&z)===0&&O.push(n),n=n.next;var g=O.length;if(g>0){var ee=(s&Z)!==0&&N===0?v:null;if(E){for(f=0;f<g;f+=1)O[f].a?.measure();for(f=0;f<g;f+=1)O[f].a?.fix()}xe(e,O,ee)}}E&&ve(()=>{if(_!==void 0)for(a of _)a.a?.apply()}),l.first=e.first&&e.first.e,l.last=i&&i.e;for(var ae of u.values())y(ae.e);u.clear()}function j(l,r,e,u){(u&q)!==0&&X(l.v,r),(u&V)!==0?X(l.i,e):l.i=e}function K(l,r,e,u,v,d,s,h,T,E,o){var N=(T&q)!==0,A=(T&te)===0,M=N?A?le(v,!1,!1):P(v):v,n=(T&V)===0?s:P(s),t={i:n,v:M,k:d,a:null,e:null,prev:e,next:u};try{if(l===null){var i=document.createDocumentFragment();i.append(l=W())}return t.e=J(()=>h(l,M,n,E),S),t.e.prev=e&&e.e,t.e.next=u&&u.e,e===null?o||(r.first=t):(e.next=t,e.e.next=t.e),u!==null&&(u.prev=t,u.e.prev=t.e),t}finally{}}function G(l,r,e){for(var u=l.next?l.next.e.nodes_start:e,v=r?r.e.nodes_start:e,d=l.e.nodes_start;d!==null&&d!==u;){var s=_e(d);v.before(d),d=s}}function x(l,r,e){r===null?l.first=e:(r.next=e,r.e.next=e&&e.e),e!==null&&(e.prev=r,e.e.prev=r&&r.e)}export{De as e,Me as i};
2
2
  //# sourceMappingURL=each.js.map
package/dist/each.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"each.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/each.js"],"sourcesContent":["/** @import { EachItem, EachState, Effect, MaybeSource, Source, TemplateNode, TransitionManager, Value } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport {\n\tEACH_INDEX_REACTIVE,\n\tEACH_IS_ANIMATED,\n\tEACH_IS_CONTROLLED,\n\tEACH_ITEM_IMMUTABLE,\n\tEACH_ITEM_REACTIVE,\n\tHYDRATION_END,\n\tHYDRATION_START_ELSE\n} from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tshould_defer_append\n} from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\trun_out_transitions,\n\tpause_children,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { source, mutable_source, internal_set } from '../../reactivity/sources.js';\nimport { array_from, is_array } from '../../../shared/utils.js';\nimport { COMMENT_NODE, INERT } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { active_effect, get } from '../../runtime.js';\nimport { DEV } from 'esm-env';\nimport { derived_safe_equal } from '../../reactivity/deriveds.js';\nimport { current_batch } from '../../reactivity/batch.js';\n\n/**\n * The row of a keyed each block that is currently updating. We track this\n * so that `animate:` directives have something to attach themselves to\n * @type {EachItem | null}\n */\nexport let current_each_item = null;\n\n/** @param {EachItem | null} item */\nexport function set_current_each_item(item) {\n\tcurrent_each_item = item;\n}\n\n/**\n * @param {any} _\n * @param {number} i\n */\nexport function index(_, i) {\n\treturn i;\n}\n\n/**\n * Pause multiple effects simultaneously, and coordinate their\n * subsequent destruction. Used in each blocks\n * @param {EachState} state\n * @param {EachItem[]} items\n * @param {null | Node} controlled_anchor\n */\nfunction pause_effects(state, items, controlled_anchor) {\n\tvar items_map = state.items;\n\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\tvar length = items.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tpause_children(items[i].e, transitions, true);\n\t}\n\n\tvar is_controlled = length > 0 && transitions.length === 0 && controlled_anchor !== null;\n\t// If we have a controlled anchor, it means that the each block is inside a single\n\t// DOM element, so we can apply a fast-path for clearing the contents of the element.\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (\n\t\t\t/** @type {Element} */ (controlled_anchor).parentNode\n\t\t);\n\t\tclear_text_content(parent_node);\n\t\tparent_node.append(/** @type {Element} */ (controlled_anchor));\n\t\titems_map.clear();\n\t\tlink(state, items[0].prev, items[length - 1].next);\n\t}\n\n\trun_out_transitions(transitions, () => {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar item = items[i];\n\t\t\tif (!is_controlled) {\n\t\t\t\titems_map.delete(item.k);\n\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t}\n\t\t\tdestroy_effect(item.e, !is_controlled);\n\t\t}\n\t});\n}\n\n/**\n * @template V\n * @param {Element | Comment} node The next sibling node, or the parent node if this is a 'controlled' block\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {(value: V, index: number) => any} get_key\n * @param {(anchor: Node, item: MaybeSource<V>, index: MaybeSource<number>) => void} render_fn\n * @param {null | ((anchor: Node) => void)} fallback_fn\n * @returns {void}\n */\nexport function each(node, flags, get_collection, get_key, render_fn, fallback_fn = null) {\n\tvar anchor = node;\n\n\t/** @type {EachState} */\n\tvar state = { flags, items: new Map(), first: null };\n\n\tvar is_controlled = (flags & EACH_IS_CONTROLLED) !== 0;\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tanchor = hydrating\n\t\t\t? set_hydrate_node(/** @type {Comment | Text} */ (get_first_child(parent_node)))\n\t\t\t: parent_node.appendChild(create_text());\n\t}\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\t/** @type {Effect | null} */\n\tvar fallback = null;\n\n\tvar was_empty = false;\n\n\t/** @type {Map<any, EachItem>} */\n\tvar offscreen_items = new Map();\n\n\t// TODO: ideally we could use derived for runes mode but because of the ability\n\t// to use a store which can be mutated, we can't do that here as mutating a store\n\t// will still result in the collection array being the same from the store\n\tvar each_array = derived_safe_equal(() => {\n\t\tvar collection = get_collection();\n\n\t\treturn is_array(collection) ? collection : collection == null ? [] : array_from(collection);\n\t});\n\n\t/** @type {V[]} */\n\tvar array;\n\n\t/** @type {Effect} */\n\tvar each_effect;\n\n\tfunction commit() {\n\t\treconcile(\n\t\t\teach_effect,\n\t\t\tarray,\n\t\t\tstate,\n\t\t\toffscreen_items,\n\t\t\tanchor,\n\t\t\trender_fn,\n\t\t\tflags,\n\t\t\tget_key,\n\t\t\tget_collection\n\t\t);\n\n\t\tif (fallback_fn !== null) {\n\t\t\tif (array.length === 0) {\n\t\t\t\tif (fallback) {\n\t\t\t\t\tresume_effect(fallback);\n\t\t\t\t} else {\n\t\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t\t}\n\t\t\t} else if (fallback !== null) {\n\t\t\t\tpause_effect(fallback, () => {\n\t\t\t\t\tfallback = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tblock(() => {\n\t\t// store a reference to the effect so that we can update the start/end nodes in reconciliation\n\t\teach_effect ??= /** @type {Effect} */ (active_effect);\n\n\t\tarray = /** @type {V[]} */ (get(each_array));\n\t\tvar length = array.length;\n\n\t\tif (was_empty && length === 0) {\n\t\t\t// ignore updates if the array is empty,\n\t\t\t// and it already was empty on previous run\n\t\t\treturn;\n\t\t}\n\t\twas_empty = length === 0;\n\n\t\t/** `true` if there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tvar is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (is_else !== (length === 0)) {\n\t\t\t\t// hydration mismatch — remove the server-rendered DOM and start over\n\t\t\t\tanchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\t// this is separate to the previous block because `hydrating` might change\n\t\tif (hydrating) {\n\t\t\t/** @type {EachItem | null} */\n\t\t\tvar prev = null;\n\n\t\t\t/** @type {EachItem} */\n\t\t\tvar item;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tif (\n\t\t\t\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\t\t\t\t/** @type {Comment} */ (hydrate_node).data === HYDRATION_END\n\t\t\t\t) {\n\t\t\t\t\t// The server rendered fewer items than expected,\n\t\t\t\t\t// so break out and continue appending non-hydrated items\n\t\t\t\t\tanchor = /** @type {Comment} */ (hydrate_node);\n\t\t\t\t\tmismatch = true;\n\t\t\t\t\tset_hydrating(false);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvar value = array[i];\n\t\t\t\tvar key = get_key(value, i);\n\t\t\t\titem = create_item(\n\t\t\t\t\thydrate_node,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tnull,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t\tstate.items.set(key, item);\n\n\t\t\t\tprev = item;\n\t\t\t}\n\n\t\t\t// remove excess nodes\n\t\t\tif (length > 0) {\n\t\t\t\tset_hydrate_node(skip_nodes());\n\t\t\t}\n\t\t}\n\n\t\tif (hydrating) {\n\t\t\tif (length === 0 && fallback_fn) {\n\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t}\n\t\t} else {\n\t\t\tif (should_defer_append()) {\n\t\t\t\tvar keys = new Set();\n\t\t\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tvalue = array[i];\n\t\t\t\t\tkey = get_key(value, i);\n\n\t\t\t\t\tvar existing = state.items.get(key) ?? offscreen_items.get(key);\n\n\t\t\t\t\tif (existing) {\n\t\t\t\t\t\t// update before reconciliation, to trigger any async updates\n\t\t\t\t\t\tif ((flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0) {\n\t\t\t\t\t\t\tupdate_item(existing, value, i, flags);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\titem = create_item(\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\trender_fn,\n\t\t\t\t\t\t\tflags,\n\t\t\t\t\t\t\tget_collection,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\toffscreen_items.set(key, item);\n\t\t\t\t\t}\n\n\t\t\t\t\tkeys.add(key);\n\t\t\t\t}\n\n\t\t\t\tfor (const [key, item] of state.items) {\n\t\t\t\t\tif (!keys.has(key)) {\n\t\t\t\t\t\tbatch.skipped_effects.add(item.e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.add_callback(commit);\n\t\t\t} else {\n\t\t\t\tcommit();\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// When we mount the each block for the first time, the collection won't be\n\t\t// connected to this effect as the effect hasn't finished running yet and its deps\n\t\t// won't be assigned. However, it's possible that when reconciling the each block\n\t\t// that a mutation occurred and it's made the collection MAYBE_DIRTY, so reading the\n\t\t// collection again can provide consistency to the reactive graph again as the deriveds\n\t\t// will now be `CLEAN`.\n\t\tget(each_array);\n\t});\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * Add, remove, or reorder items output by an each block as its input changes\n * @template V\n * @param {Effect} each_effect\n * @param {Array<V>} array\n * @param {EachState} state\n * @param {Map<any, EachItem>} offscreen_items\n * @param {Element | Comment | Text} anchor\n * @param {(anchor: Node, item: MaybeSource<V>, index: number | Source<number>, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {(value: V, index: number) => any} get_key\n * @param {() => V[]} get_collection\n * @returns {void}\n */\nfunction reconcile(\n\teach_effect,\n\tarray,\n\tstate,\n\toffscreen_items,\n\tanchor,\n\trender_fn,\n\tflags,\n\tget_key,\n\tget_collection\n) {\n\tvar is_animated = (flags & EACH_IS_ANIMATED) !== 0;\n\tvar should_update = (flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0;\n\n\tvar length = array.length;\n\tvar items = state.items;\n\tvar first = state.first;\n\tvar current = first;\n\n\t/** @type {undefined | Set<EachItem>} */\n\tvar seen;\n\n\t/** @type {EachItem | null} */\n\tvar prev = null;\n\n\t/** @type {undefined | Set<EachItem>} */\n\tvar to_animate;\n\n\t/** @type {EachItem[]} */\n\tvar matched = [];\n\n\t/** @type {EachItem[]} */\n\tvar stashed = [];\n\n\t/** @type {V} */\n\tvar value;\n\n\t/** @type {any} */\n\tvar key;\n\n\t/** @type {EachItem | undefined} */\n\tvar item;\n\n\t/** @type {number} */\n\tvar i;\n\n\tif (is_animated) {\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tvalue = array[i];\n\t\t\tkey = get_key(value, i);\n\t\t\titem = items.get(key);\n\n\t\t\tif (item !== undefined) {\n\t\t\t\titem.a?.measure();\n\t\t\t\t(to_animate ??= new Set()).add(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i = 0; i < length; i += 1) {\n\t\tvalue = array[i];\n\t\tkey = get_key(value, i);\n\n\t\titem = items.get(key);\n\n\t\tif (item === undefined) {\n\t\t\tvar pending = offscreen_items.get(key);\n\n\t\t\tif (pending !== undefined) {\n\t\t\t\toffscreen_items.delete(key);\n\t\t\t\titems.set(key, pending);\n\n\t\t\t\tvar next = prev ? prev.next : current;\n\n\t\t\t\tlink(state, prev, pending);\n\t\t\t\tlink(state, pending, next);\n\n\t\t\t\tmove(pending, next, anchor);\n\t\t\t\tprev = pending;\n\t\t\t} else {\n\t\t\t\tvar child_anchor = current ? /** @type {TemplateNode} */ (current.e.nodes_start) : anchor;\n\n\t\t\t\tprev = create_item(\n\t\t\t\t\tchild_anchor,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tprev === null ? state.first : prev.next,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.set(key, prev);\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\tcurrent = prev.next;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (should_update) {\n\t\t\tupdate_item(item, value, i, flags);\n\t\t}\n\n\t\tif ((item.e.f & INERT) !== 0) {\n\t\t\tresume_effect(item.e);\n\t\t\tif (is_animated) {\n\t\t\t\titem.a?.unfix();\n\t\t\t\t(to_animate ??= new Set()).delete(item);\n\t\t\t}\n\t\t}\n\n\t\tif (item !== current) {\n\t\t\tif (seen !== undefined && seen.has(item)) {\n\t\t\t\tif (matched.length < stashed.length) {\n\t\t\t\t\t// more efficient to move later items to the front\n\t\t\t\t\tvar start = stashed[0];\n\t\t\t\t\tvar j;\n\n\t\t\t\t\tprev = start.prev;\n\n\t\t\t\t\tvar a = matched[0];\n\t\t\t\t\tvar b = matched[matched.length - 1];\n\n\t\t\t\t\tfor (j = 0; j < matched.length; j += 1) {\n\t\t\t\t\t\tmove(matched[j], start, anchor);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (j = 0; j < stashed.length; j += 1) {\n\t\t\t\t\t\tseen.delete(stashed[j]);\n\t\t\t\t\t}\n\n\t\t\t\t\tlink(state, a.prev, b.next);\n\t\t\t\t\tlink(state, prev, a);\n\t\t\t\t\tlink(state, b, start);\n\n\t\t\t\t\tcurrent = start;\n\t\t\t\t\tprev = b;\n\t\t\t\t\ti -= 1;\n\n\t\t\t\t\tmatched = [];\n\t\t\t\t\tstashed = [];\n\t\t\t\t} else {\n\t\t\t\t\t// more efficient to move earlier items to the back\n\t\t\t\t\tseen.delete(item);\n\t\t\t\t\tmove(item, current, anchor);\n\n\t\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t\t\tlink(state, item, prev === null ? state.first : prev.next);\n\t\t\t\t\tlink(state, prev, item);\n\n\t\t\t\t\tprev = item;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\twhile (current !== null && current.k !== key) {\n\t\t\t\t// If the each block isn't inert and an item has an effect that is already inert,\n\t\t\t\t// skip over adding it to our seen Set as the item is already being handled\n\t\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\t\t(seen ??= new Set()).add(current);\n\t\t\t\t}\n\t\t\t\tstashed.push(current);\n\t\t\t\tcurrent = current.next;\n\t\t\t}\n\n\t\t\tif (current === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\titem = current;\n\t\t}\n\n\t\tmatched.push(item);\n\t\tprev = item;\n\t\tcurrent = item.next;\n\t}\n\n\tif (current !== null || seen !== undefined) {\n\t\tvar to_destroy = seen === undefined ? [] : array_from(seen);\n\n\t\twhile (current !== null) {\n\t\t\t// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished\n\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\tto_destroy.push(current);\n\t\t\t}\n\t\t\tcurrent = current.next;\n\t\t}\n\n\t\tvar destroy_length = to_destroy.length;\n\n\t\tif (destroy_length > 0) {\n\t\t\tvar controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;\n\n\t\t\tif (is_animated) {\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.measure();\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.fix();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpause_effects(state, to_destroy, controlled_anchor);\n\t\t}\n\t}\n\n\tif (is_animated) {\n\t\tqueue_micro_task(() => {\n\t\t\tif (to_animate === undefined) return;\n\t\t\tfor (item of to_animate) {\n\t\t\t\titem.a?.apply();\n\t\t\t}\n\t\t});\n\t}\n\n\teach_effect.first = state.first && state.first.e;\n\teach_effect.last = prev && prev.e;\n\n\tfor (var unused of offscreen_items.values()) {\n\t\tdestroy_effect(unused.e);\n\t}\n\n\toffscreen_items.clear();\n}\n\n/**\n * @param {EachItem} item\n * @param {any} value\n * @param {number} index\n * @param {number} type\n * @returns {void}\n */\nfunction update_item(item, value, index, type) {\n\tif ((type & EACH_ITEM_REACTIVE) !== 0) {\n\t\tinternal_set(item.v, value);\n\t}\n\n\tif ((type & EACH_INDEX_REACTIVE) !== 0) {\n\t\tinternal_set(/** @type {Value<number>} */ (item.i), index);\n\t} else {\n\t\titem.i = index;\n\t}\n}\n\n/**\n * @template V\n * @param {Node | null} anchor\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n * @param {V} value\n * @param {unknown} key\n * @param {number} index\n * @param {(anchor: Node, item: V | Source<V>, index: number | Value<number>, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {boolean} [deferred]\n * @returns {EachItem}\n */\nfunction create_item(\n\tanchor,\n\tstate,\n\tprev,\n\tnext,\n\tvalue,\n\tkey,\n\tindex,\n\trender_fn,\n\tflags,\n\tget_collection,\n\tdeferred\n) {\n\tvar previous_each_item = current_each_item;\n\tvar reactive = (flags & EACH_ITEM_REACTIVE) !== 0;\n\tvar mutable = (flags & EACH_ITEM_IMMUTABLE) === 0;\n\n\tvar v = reactive ? (mutable ? mutable_source(value, false, false) : source(value)) : value;\n\tvar i = (flags & EACH_INDEX_REACTIVE) === 0 ? index : source(index);\n\n\tif (DEV && reactive) {\n\t\t// For tracing purposes, we need to link the source signal we create with the\n\t\t// collection + index so that tracing works as intended\n\t\t/** @type {Value} */ (v).trace = () => {\n\t\t\tvar collection_index = typeof i === 'number' ? index : i.v;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tget_collection()[collection_index];\n\t\t};\n\t}\n\n\t/** @type {EachItem} */\n\tvar item = {\n\t\ti,\n\t\tv,\n\t\tk: key,\n\t\ta: null,\n\t\t// @ts-expect-error\n\t\te: null,\n\t\tprev,\n\t\tnext\n\t};\n\n\tcurrent_each_item = item;\n\n\ttry {\n\t\tif (anchor === null) {\n\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\tfragment.append((anchor = create_text()));\n\t\t}\n\n\t\titem.e = branch(() => render_fn(/** @type {Node} */ (anchor), v, i, get_collection), hydrating);\n\n\t\titem.e.prev = prev && prev.e;\n\t\titem.e.next = next && next.e;\n\n\t\tif (prev === null) {\n\t\t\tif (!deferred) {\n\t\t\t\tstate.first = item;\n\t\t\t}\n\t\t} else {\n\t\t\tprev.next = item;\n\t\t\tprev.e.next = item.e;\n\t\t}\n\n\t\tif (next !== null) {\n\t\t\tnext.prev = item;\n\t\t\tnext.e.prev = item.e;\n\t\t}\n\n\t\treturn item;\n\t} finally {\n\t\tcurrent_each_item = previous_each_item;\n\t}\n}\n\n/**\n * @param {EachItem} item\n * @param {EachItem | null} next\n * @param {Text | Element | Comment} anchor\n */\nfunction move(item, next, anchor) {\n\tvar end = item.next ? /** @type {TemplateNode} */ (item.next.e.nodes_start) : anchor;\n\n\tvar dest = next ? /** @type {TemplateNode} */ (next.e.nodes_start) : anchor;\n\tvar node = /** @type {TemplateNode} */ (item.e.nodes_start);\n\n\twhile (node !== null && node !== end) {\n\t\tvar next_node = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tdest.before(node);\n\t\tnode = next_node;\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n */\nfunction link(state, prev, next) {\n\tif (prev === null) {\n\t\tstate.first = next;\n\t} else {\n\t\tprev.next = next;\n\t\tprev.e.next = next && next.e;\n\t}\n\n\tif (next !== null) {\n\t\tnext.prev = prev;\n\t\tnext.e.prev = prev && prev.e;\n\t}\n}\n"],"names":["index","_","i","pause_effects","state","items","controlled_anchor","items_map","transitions","length","pause_children","is_controlled","parent_node","clear_text_content","link","run_out_transitions","item","destroy_effect","each","node","flags","get_collection","get_key","render_fn","fallback_fn","anchor","EACH_IS_CONTROLLED","hydrating","set_hydrate_node","get_first_child","create_text","hydrate_next","fallback","was_empty","offscreen_items","each_array","derived_safe_equal","collection","is_array","array_from","array","each_effect","commit","reconcile","resume_effect","branch","pause_effect","block","active_effect","get","mismatch","is_else","read_hydration_instruction","HYDRATION_START_ELSE","skip_nodes","set_hydrating","prev","hydrate_node","COMMENT_NODE","HYDRATION_END","value","key","create_item","should_defer_append","keys","batch","current_batch","existing","EACH_ITEM_REACTIVE","EACH_INDEX_REACTIVE","update_item","is_animated","EACH_IS_ANIMATED","should_update","first","current","seen","to_animate","matched","stashed","_a","pending","next","move","child_anchor","INERT","_b","start","j","a","b","to_destroy","destroy_length","_c","_d","queue_micro_task","unused","type","internal_set","deferred","reactive","mutable","EACH_ITEM_IMMUTABLE","v","mutable_source","source","fragment","end","dest","next_node","get_next_sibling"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"each.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/each.js"],"sourcesContent":["/** @import { EachItem, EachState, Effect, MaybeSource, Source, TemplateNode, TransitionManager, Value } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport {\n\tEACH_INDEX_REACTIVE,\n\tEACH_IS_ANIMATED,\n\tEACH_IS_CONTROLLED,\n\tEACH_ITEM_IMMUTABLE,\n\tEACH_ITEM_REACTIVE,\n\tHYDRATION_END,\n\tHYDRATION_START_ELSE\n} from '../../../../constants.js';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport {\n\tclear_text_content,\n\tcreate_text,\n\tget_first_child,\n\tget_next_sibling,\n\tshould_defer_append\n} from '../operations.js';\nimport {\n\tblock,\n\tbranch,\n\tdestroy_effect,\n\trun_out_transitions,\n\tpause_children,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { source, mutable_source, internal_set } from '../../reactivity/sources.js';\nimport { array_from, is_array } from '../../../shared/utils.js';\nimport { COMMENT_NODE, INERT } from '#client/constants';\nimport { queue_micro_task } from '../task.js';\nimport { active_effect, get } from '../../runtime.js';\nimport { DEV } from 'esm-env';\nimport { derived_safe_equal } from '../../reactivity/deriveds.js';\nimport { current_batch } from '../../reactivity/batch.js';\n\n/**\n * The row of a keyed each block that is currently updating. We track this\n * so that `animate:` directives have something to attach themselves to\n * @type {EachItem | null}\n */\nexport let current_each_item = null;\n\n/** @param {EachItem | null} item */\nexport function set_current_each_item(item) {\n\tcurrent_each_item = item;\n}\n\n/**\n * @param {any} _\n * @param {number} i\n */\nexport function index(_, i) {\n\treturn i;\n}\n\n/**\n * Pause multiple effects simultaneously, and coordinate their\n * subsequent destruction. Used in each blocks\n * @param {EachState} state\n * @param {EachItem[]} items\n * @param {null | Node} controlled_anchor\n */\nfunction pause_effects(state, items, controlled_anchor) {\n\tvar items_map = state.items;\n\n\t/** @type {TransitionManager[]} */\n\tvar transitions = [];\n\tvar length = items.length;\n\n\tfor (var i = 0; i < length; i++) {\n\t\tpause_children(items[i].e, transitions, true);\n\t}\n\n\tvar is_controlled = length > 0 && transitions.length === 0 && controlled_anchor !== null;\n\t// If we have a controlled anchor, it means that the each block is inside a single\n\t// DOM element, so we can apply a fast-path for clearing the contents of the element.\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (\n\t\t\t/** @type {Element} */ (controlled_anchor).parentNode\n\t\t);\n\t\tclear_text_content(parent_node);\n\t\tparent_node.append(/** @type {Element} */ (controlled_anchor));\n\t\titems_map.clear();\n\t\tlink(state, items[0].prev, items[length - 1].next);\n\t}\n\n\trun_out_transitions(transitions, () => {\n\t\tfor (var i = 0; i < length; i++) {\n\t\t\tvar item = items[i];\n\t\t\tif (!is_controlled) {\n\t\t\t\titems_map.delete(item.k);\n\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t}\n\t\t\tdestroy_effect(item.e, !is_controlled);\n\t\t}\n\t});\n}\n\n/**\n * @template V\n * @param {Element | Comment} node The next sibling node, or the parent node if this is a 'controlled' block\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {(value: V, index: number) => any} get_key\n * @param {(anchor: Node, item: MaybeSource<V>, index: MaybeSource<number>) => void} render_fn\n * @param {null | ((anchor: Node) => void)} fallback_fn\n * @returns {void}\n */\nexport function each(node, flags, get_collection, get_key, render_fn, fallback_fn = null) {\n\tvar anchor = node;\n\n\t/** @type {EachState} */\n\tvar state = { flags, items: new Map(), first: null };\n\n\tvar is_controlled = (flags & EACH_IS_CONTROLLED) !== 0;\n\n\tif (is_controlled) {\n\t\tvar parent_node = /** @type {Element} */ (node);\n\n\t\tanchor = hydrating\n\t\t\t? set_hydrate_node(/** @type {Comment | Text} */ (get_first_child(parent_node)))\n\t\t\t: parent_node.appendChild(create_text());\n\t}\n\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\t/** @type {Effect | null} */\n\tvar fallback = null;\n\n\tvar was_empty = false;\n\n\t/** @type {Map<any, EachItem>} */\n\tvar offscreen_items = new Map();\n\n\t// TODO: ideally we could use derived for runes mode but because of the ability\n\t// to use a store which can be mutated, we can't do that here as mutating a store\n\t// will still result in the collection array being the same from the store\n\tvar each_array = derived_safe_equal(() => {\n\t\tvar collection = get_collection();\n\n\t\treturn is_array(collection) ? collection : collection == null ? [] : array_from(collection);\n\t});\n\n\t/** @type {V[]} */\n\tvar array;\n\n\t/** @type {Effect} */\n\tvar each_effect;\n\n\tfunction commit() {\n\t\treconcile(\n\t\t\teach_effect,\n\t\t\tarray,\n\t\t\tstate,\n\t\t\toffscreen_items,\n\t\t\tanchor,\n\t\t\trender_fn,\n\t\t\tflags,\n\t\t\tget_key,\n\t\t\tget_collection\n\t\t);\n\n\t\tif (fallback_fn !== null) {\n\t\t\tif (array.length === 0) {\n\t\t\t\tif (fallback) {\n\t\t\t\t\tresume_effect(fallback);\n\t\t\t\t} else {\n\t\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t\t}\n\t\t\t} else if (fallback !== null) {\n\t\t\t\tpause_effect(fallback, () => {\n\t\t\t\t\tfallback = null;\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\n\tblock(() => {\n\t\t// store a reference to the effect so that we can update the start/end nodes in reconciliation\n\t\teach_effect ??= /** @type {Effect} */ (active_effect);\n\n\t\tarray = /** @type {V[]} */ (get(each_array));\n\t\tvar length = array.length;\n\n\t\tif (was_empty && length === 0) {\n\t\t\t// ignore updates if the array is empty,\n\t\t\t// and it already was empty on previous run\n\t\t\treturn;\n\t\t}\n\t\twas_empty = length === 0;\n\n\t\t/** `true` if there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tvar is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (is_else !== (length === 0)) {\n\t\t\t\t// hydration mismatch — remove the server-rendered DOM and start over\n\t\t\t\tanchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\t// this is separate to the previous block because `hydrating` might change\n\t\tif (hydrating) {\n\t\t\t/** @type {EachItem | null} */\n\t\t\tvar prev = null;\n\n\t\t\t/** @type {EachItem} */\n\t\t\tvar item;\n\n\t\t\tfor (var i = 0; i < length; i++) {\n\t\t\t\tif (\n\t\t\t\t\thydrate_node.nodeType === COMMENT_NODE &&\n\t\t\t\t\t/** @type {Comment} */ (hydrate_node).data === HYDRATION_END\n\t\t\t\t) {\n\t\t\t\t\t// The server rendered fewer items than expected,\n\t\t\t\t\t// so break out and continue appending non-hydrated items\n\t\t\t\t\tanchor = /** @type {Comment} */ (hydrate_node);\n\t\t\t\t\tmismatch = true;\n\t\t\t\t\tset_hydrating(false);\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tvar value = array[i];\n\t\t\t\tvar key = get_key(value, i);\n\t\t\t\titem = create_item(\n\t\t\t\t\thydrate_node,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tnull,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t\tstate.items.set(key, item);\n\n\t\t\t\tprev = item;\n\t\t\t}\n\n\t\t\t// remove excess nodes\n\t\t\tif (length > 0) {\n\t\t\t\tset_hydrate_node(skip_nodes());\n\t\t\t}\n\t\t}\n\n\t\tif (hydrating) {\n\t\t\tif (length === 0 && fallback_fn) {\n\t\t\t\tfallback = branch(() => fallback_fn(anchor));\n\t\t\t}\n\t\t} else {\n\t\t\tif (should_defer_append()) {\n\t\t\t\tvar keys = new Set();\n\t\t\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\t\t\tfor (i = 0; i < length; i += 1) {\n\t\t\t\t\tvalue = array[i];\n\t\t\t\t\tkey = get_key(value, i);\n\n\t\t\t\t\tvar existing = state.items.get(key) ?? offscreen_items.get(key);\n\n\t\t\t\t\tif (existing) {\n\t\t\t\t\t\t// update before reconciliation, to trigger any async updates\n\t\t\t\t\t\tif ((flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0) {\n\t\t\t\t\t\t\tupdate_item(existing, value, i, flags);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\titem = create_item(\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tstate,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tnull,\n\t\t\t\t\t\t\tvalue,\n\t\t\t\t\t\t\tkey,\n\t\t\t\t\t\t\ti,\n\t\t\t\t\t\t\trender_fn,\n\t\t\t\t\t\t\tflags,\n\t\t\t\t\t\t\tget_collection,\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\toffscreen_items.set(key, item);\n\t\t\t\t\t}\n\n\t\t\t\t\tkeys.add(key);\n\t\t\t\t}\n\n\t\t\t\tfor (const [key, item] of state.items) {\n\t\t\t\t\tif (!keys.has(key)) {\n\t\t\t\t\t\tbatch.skipped_effects.add(item.e);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tbatch.oncommit(commit);\n\t\t\t} else {\n\t\t\t\tcommit();\n\t\t\t}\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\n\t\t// When we mount the each block for the first time, the collection won't be\n\t\t// connected to this effect as the effect hasn't finished running yet and its deps\n\t\t// won't be assigned. However, it's possible that when reconciling the each block\n\t\t// that a mutation occurred and it's made the collection MAYBE_DIRTY, so reading the\n\t\t// collection again can provide consistency to the reactive graph again as the deriveds\n\t\t// will now be `CLEAN`.\n\t\tget(each_array);\n\t});\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n\n/**\n * Add, remove, or reorder items output by an each block as its input changes\n * @template V\n * @param {Effect} each_effect\n * @param {Array<V>} array\n * @param {EachState} state\n * @param {Map<any, EachItem>} offscreen_items\n * @param {Element | Comment | Text} anchor\n * @param {(anchor: Node, item: MaybeSource<V>, index: number | Source<number>, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {(value: V, index: number) => any} get_key\n * @param {() => V[]} get_collection\n * @returns {void}\n */\nfunction reconcile(\n\teach_effect,\n\tarray,\n\tstate,\n\toffscreen_items,\n\tanchor,\n\trender_fn,\n\tflags,\n\tget_key,\n\tget_collection\n) {\n\tvar is_animated = (flags & EACH_IS_ANIMATED) !== 0;\n\tvar should_update = (flags & (EACH_ITEM_REACTIVE | EACH_INDEX_REACTIVE)) !== 0;\n\n\tvar length = array.length;\n\tvar items = state.items;\n\tvar first = state.first;\n\tvar current = first;\n\n\t/** @type {undefined | Set<EachItem>} */\n\tvar seen;\n\n\t/** @type {EachItem | null} */\n\tvar prev = null;\n\n\t/** @type {undefined | Set<EachItem>} */\n\tvar to_animate;\n\n\t/** @type {EachItem[]} */\n\tvar matched = [];\n\n\t/** @type {EachItem[]} */\n\tvar stashed = [];\n\n\t/** @type {V} */\n\tvar value;\n\n\t/** @type {any} */\n\tvar key;\n\n\t/** @type {EachItem | undefined} */\n\tvar item;\n\n\t/** @type {number} */\n\tvar i;\n\n\tif (is_animated) {\n\t\tfor (i = 0; i < length; i += 1) {\n\t\t\tvalue = array[i];\n\t\t\tkey = get_key(value, i);\n\t\t\titem = items.get(key);\n\n\t\t\tif (item !== undefined) {\n\t\t\t\titem.a?.measure();\n\t\t\t\t(to_animate ??= new Set()).add(item);\n\t\t\t}\n\t\t}\n\t}\n\n\tfor (i = 0; i < length; i += 1) {\n\t\tvalue = array[i];\n\t\tkey = get_key(value, i);\n\n\t\titem = items.get(key);\n\n\t\tif (item === undefined) {\n\t\t\tvar pending = offscreen_items.get(key);\n\n\t\t\tif (pending !== undefined) {\n\t\t\t\toffscreen_items.delete(key);\n\t\t\t\titems.set(key, pending);\n\n\t\t\t\tvar next = prev ? prev.next : current;\n\n\t\t\t\tlink(state, prev, pending);\n\t\t\t\tlink(state, pending, next);\n\n\t\t\t\tmove(pending, next, anchor);\n\t\t\t\tprev = pending;\n\t\t\t} else {\n\t\t\t\tvar child_anchor = current ? /** @type {TemplateNode} */ (current.e.nodes_start) : anchor;\n\n\t\t\t\tprev = create_item(\n\t\t\t\t\tchild_anchor,\n\t\t\t\t\tstate,\n\t\t\t\t\tprev,\n\t\t\t\t\tprev === null ? state.first : prev.next,\n\t\t\t\t\tvalue,\n\t\t\t\t\tkey,\n\t\t\t\t\ti,\n\t\t\t\t\trender_fn,\n\t\t\t\t\tflags,\n\t\t\t\t\tget_collection\n\t\t\t\t);\n\t\t\t}\n\n\t\t\titems.set(key, prev);\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\tcurrent = prev.next;\n\t\t\tcontinue;\n\t\t}\n\n\t\tif (should_update) {\n\t\t\tupdate_item(item, value, i, flags);\n\t\t}\n\n\t\tif ((item.e.f & INERT) !== 0) {\n\t\t\tresume_effect(item.e);\n\t\t\tif (is_animated) {\n\t\t\t\titem.a?.unfix();\n\t\t\t\t(to_animate ??= new Set()).delete(item);\n\t\t\t}\n\t\t}\n\n\t\tif (item !== current) {\n\t\t\tif (seen !== undefined && seen.has(item)) {\n\t\t\t\tif (matched.length < stashed.length) {\n\t\t\t\t\t// more efficient to move later items to the front\n\t\t\t\t\tvar start = stashed[0];\n\t\t\t\t\tvar j;\n\n\t\t\t\t\tprev = start.prev;\n\n\t\t\t\t\tvar a = matched[0];\n\t\t\t\t\tvar b = matched[matched.length - 1];\n\n\t\t\t\t\tfor (j = 0; j < matched.length; j += 1) {\n\t\t\t\t\t\tmove(matched[j], start, anchor);\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (j = 0; j < stashed.length; j += 1) {\n\t\t\t\t\t\tseen.delete(stashed[j]);\n\t\t\t\t\t}\n\n\t\t\t\t\tlink(state, a.prev, b.next);\n\t\t\t\t\tlink(state, prev, a);\n\t\t\t\t\tlink(state, b, start);\n\n\t\t\t\t\tcurrent = start;\n\t\t\t\t\tprev = b;\n\t\t\t\t\ti -= 1;\n\n\t\t\t\t\tmatched = [];\n\t\t\t\t\tstashed = [];\n\t\t\t\t} else {\n\t\t\t\t\t// more efficient to move earlier items to the back\n\t\t\t\t\tseen.delete(item);\n\t\t\t\t\tmove(item, current, anchor);\n\n\t\t\t\t\tlink(state, item.prev, item.next);\n\t\t\t\t\tlink(state, item, prev === null ? state.first : prev.next);\n\t\t\t\t\tlink(state, prev, item);\n\n\t\t\t\t\tprev = item;\n\t\t\t\t}\n\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\tmatched = [];\n\t\t\tstashed = [];\n\n\t\t\twhile (current !== null && current.k !== key) {\n\t\t\t\t// If the each block isn't inert and an item has an effect that is already inert,\n\t\t\t\t// skip over adding it to our seen Set as the item is already being handled\n\t\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\t\t(seen ??= new Set()).add(current);\n\t\t\t\t}\n\t\t\t\tstashed.push(current);\n\t\t\t\tcurrent = current.next;\n\t\t\t}\n\n\t\t\tif (current === null) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\titem = current;\n\t\t}\n\n\t\tmatched.push(item);\n\t\tprev = item;\n\t\tcurrent = item.next;\n\t}\n\n\tif (current !== null || seen !== undefined) {\n\t\tvar to_destroy = seen === undefined ? [] : array_from(seen);\n\n\t\twhile (current !== null) {\n\t\t\t// If the each block isn't inert, then inert effects are currently outroing and will be removed once the transition is finished\n\t\t\tif ((current.e.f & INERT) === 0) {\n\t\t\t\tto_destroy.push(current);\n\t\t\t}\n\t\t\tcurrent = current.next;\n\t\t}\n\n\t\tvar destroy_length = to_destroy.length;\n\n\t\tif (destroy_length > 0) {\n\t\t\tvar controlled_anchor = (flags & EACH_IS_CONTROLLED) !== 0 && length === 0 ? anchor : null;\n\n\t\t\tif (is_animated) {\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.measure();\n\t\t\t\t}\n\n\t\t\t\tfor (i = 0; i < destroy_length; i += 1) {\n\t\t\t\t\tto_destroy[i].a?.fix();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tpause_effects(state, to_destroy, controlled_anchor);\n\t\t}\n\t}\n\n\tif (is_animated) {\n\t\tqueue_micro_task(() => {\n\t\t\tif (to_animate === undefined) return;\n\t\t\tfor (item of to_animate) {\n\t\t\t\titem.a?.apply();\n\t\t\t}\n\t\t});\n\t}\n\n\teach_effect.first = state.first && state.first.e;\n\teach_effect.last = prev && prev.e;\n\n\tfor (var unused of offscreen_items.values()) {\n\t\tdestroy_effect(unused.e);\n\t}\n\n\toffscreen_items.clear();\n}\n\n/**\n * @param {EachItem} item\n * @param {any} value\n * @param {number} index\n * @param {number} type\n * @returns {void}\n */\nfunction update_item(item, value, index, type) {\n\tif ((type & EACH_ITEM_REACTIVE) !== 0) {\n\t\tinternal_set(item.v, value);\n\t}\n\n\tif ((type & EACH_INDEX_REACTIVE) !== 0) {\n\t\tinternal_set(/** @type {Value<number>} */ (item.i), index);\n\t} else {\n\t\titem.i = index;\n\t}\n}\n\n/**\n * @template V\n * @param {Node | null} anchor\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n * @param {V} value\n * @param {unknown} key\n * @param {number} index\n * @param {(anchor: Node, item: V | Source<V>, index: number | Value<number>, collection: () => V[]) => void} render_fn\n * @param {number} flags\n * @param {() => V[]} get_collection\n * @param {boolean} [deferred]\n * @returns {EachItem}\n */\nfunction create_item(\n\tanchor,\n\tstate,\n\tprev,\n\tnext,\n\tvalue,\n\tkey,\n\tindex,\n\trender_fn,\n\tflags,\n\tget_collection,\n\tdeferred\n) {\n\tvar previous_each_item = current_each_item;\n\tvar reactive = (flags & EACH_ITEM_REACTIVE) !== 0;\n\tvar mutable = (flags & EACH_ITEM_IMMUTABLE) === 0;\n\n\tvar v = reactive ? (mutable ? mutable_source(value, false, false) : source(value)) : value;\n\tvar i = (flags & EACH_INDEX_REACTIVE) === 0 ? index : source(index);\n\n\tif (DEV && reactive) {\n\t\t// For tracing purposes, we need to link the source signal we create with the\n\t\t// collection + index so that tracing works as intended\n\t\t/** @type {Value} */ (v).trace = () => {\n\t\t\tvar collection_index = typeof i === 'number' ? index : i.v;\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unused-expressions\n\t\t\tget_collection()[collection_index];\n\t\t};\n\t}\n\n\t/** @type {EachItem} */\n\tvar item = {\n\t\ti,\n\t\tv,\n\t\tk: key,\n\t\ta: null,\n\t\t// @ts-expect-error\n\t\te: null,\n\t\tprev,\n\t\tnext\n\t};\n\n\tcurrent_each_item = item;\n\n\ttry {\n\t\tif (anchor === null) {\n\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\tfragment.append((anchor = create_text()));\n\t\t}\n\n\t\titem.e = branch(() => render_fn(/** @type {Node} */ (anchor), v, i, get_collection), hydrating);\n\n\t\titem.e.prev = prev && prev.e;\n\t\titem.e.next = next && next.e;\n\n\t\tif (prev === null) {\n\t\t\tif (!deferred) {\n\t\t\t\tstate.first = item;\n\t\t\t}\n\t\t} else {\n\t\t\tprev.next = item;\n\t\t\tprev.e.next = item.e;\n\t\t}\n\n\t\tif (next !== null) {\n\t\t\tnext.prev = item;\n\t\t\tnext.e.prev = item.e;\n\t\t}\n\n\t\treturn item;\n\t} finally {\n\t\tcurrent_each_item = previous_each_item;\n\t}\n}\n\n/**\n * @param {EachItem} item\n * @param {EachItem | null} next\n * @param {Text | Element | Comment} anchor\n */\nfunction move(item, next, anchor) {\n\tvar end = item.next ? /** @type {TemplateNode} */ (item.next.e.nodes_start) : anchor;\n\n\tvar dest = next ? /** @type {TemplateNode} */ (next.e.nodes_start) : anchor;\n\tvar node = /** @type {TemplateNode} */ (item.e.nodes_start);\n\n\twhile (node !== null && node !== end) {\n\t\tvar next_node = /** @type {TemplateNode} */ (get_next_sibling(node));\n\t\tdest.before(node);\n\t\tnode = next_node;\n\t}\n}\n\n/**\n * @param {EachState} state\n * @param {EachItem | null} prev\n * @param {EachItem | null} next\n */\nfunction link(state, prev, next) {\n\tif (prev === null) {\n\t\tstate.first = next;\n\t} else {\n\t\tprev.next = next;\n\t\tprev.e.next = next && next.e;\n\t}\n\n\tif (next !== null) {\n\t\tnext.prev = prev;\n\t\tnext.e.prev = prev && prev.e;\n\t}\n}\n"],"names":["index","_","i","pause_effects","state","items","controlled_anchor","items_map","transitions","length","pause_children","is_controlled","parent_node","clear_text_content","link","run_out_transitions","item","destroy_effect","each","node","flags","get_collection","get_key","render_fn","fallback_fn","anchor","EACH_IS_CONTROLLED","hydrating","set_hydrate_node","get_first_child","create_text","hydrate_next","fallback","was_empty","offscreen_items","each_array","derived_safe_equal","collection","is_array","array_from","array","each_effect","commit","reconcile","resume_effect","branch","pause_effect","block","active_effect","get","mismatch","is_else","read_hydration_instruction","HYDRATION_START_ELSE","skip_nodes","set_hydrating","prev","hydrate_node","COMMENT_NODE","HYDRATION_END","value","key","create_item","should_defer_append","keys","batch","current_batch","existing","EACH_ITEM_REACTIVE","EACH_INDEX_REACTIVE","update_item","is_animated","EACH_IS_ANIMATED","should_update","first","current","seen","to_animate","matched","stashed","pending","next","move","child_anchor","INERT","start","j","a","b","to_destroy","destroy_length","queue_micro_task","unused","type","internal_set","deferred","reactive","mutable","EACH_ITEM_IMMUTABLE","v","mutable_source","source","fragment","end","dest","next_node","get_next_sibling"],"mappings":"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","x_google_ignoreList":[0]}
package/dist/if.js CHANGED
@@ -1,2 +1,2 @@
1
- import{B as A,E as N,C as D,D as m,F,a0 as R,G as x,a9 as C,H as S,I as _,J as H,aa as L,ab as q,ac as B,ad as G,a8 as b,K as J}from"./custom-element.js";function O(E,T,g=!1){_&&H();var r=E,s=null,t=null,e=R,k=g?N:0,l=!1;const y=(n,a=!0)=>{l=!0,o(a,n)};var f=null;function d(){f!==null&&(f.lastChild.remove(),r.before(f),f=null);var n=e?s:t,a=e?t:s;n&&C(n),a&&S(a,()=>{e?t=null:s=null})}const o=(n,a)=>{if(e===(e=n))return;let u=!1;if(_){const I=L(r)===q;!!e===I&&(r=B(),G(r),b(!1),u=!0)}var v=x(),i=r;if(v&&(f=document.createDocumentFragment(),f.append(i=D())),e?s??(s=a&&m(()=>a(i))):t??(t=a&&m(()=>a(i))),v){var c=F,h=e?s:t,p=e?t:s;h&&c.skipped_effects.delete(h),p&&c.skipped_effects.add(p),c.add_callback(d)}else d();u&&b(!0)};A(()=>{l=!1,T(y),l||o(null,null)},k),_&&(r=J)}export{O as i};
1
+ import{T as l,a8 as v,K as o,a9 as b,aa as u,L as _,ab as m,ac as k,I as d,ad as g,G as y,H as T,J as A,ae as E,af as w,ag as F,ah as M,a7 as p}from"./custom-element.js";class R{anchor;#s=new Map;#t=new Map;#e=new Map;#a=!0;constructor(s,a=!0){this.anchor=s,this.#a=a}#r=()=>{var s=l;if(this.#s.has(s)){var a=this.#s.get(s),e=this.#t.get(a);if(e)v(e);else{var f=this.#e.get(a);f&&(this.#t.set(a,f.effect),this.#e.delete(a),f.fragment.lastChild.remove(),this.anchor.before(f.fragment),e=f.effect)}for(const[i,t]of this.#s){if(this.#s.delete(i),i===s)break;const r=this.#e.get(t);r&&(o(r.effect),this.#e.delete(t))}for(const[i,t]of this.#t){if(i===a)continue;const r=()=>{if(Array.from(this.#s.values()).includes(i)){var h=document.createDocumentFragment();m(t,h),h.append(u()),this.#e.set(i,{effect:t,fragment:h})}else o(t);this.#t.delete(i)};this.#a||!e?b(t,r,!1):r()}}};#i=s=>{this.#s.delete(s);const a=Array.from(this.#s.values());for(const[e,f]of this.#e)a.includes(e)||(o(f.effect),this.#e.delete(e))};ensure(s,a){var e=l,f=k();if(a&&!this.#t.has(s)&&!this.#e.has(s))if(f){var i=document.createDocumentFragment(),t=u();i.append(t),this.#e.set(s,{effect:_(()=>a(t)),fragment:i})}else this.#t.set(s,_(()=>a(this.anchor)));if(this.#s.set(e,s),f){for(const[r,c]of this.#t)r===s?e.skipped_effects.delete(c):e.skipped_effects.add(c);for(const[r,c]of this.#e)r===s?e.skipped_effects.delete(c.effect):e.skipped_effects.add(c.effect);e.oncommit(this.#r),e.ondiscard(this.#i)}else d&&(this.anchor=g),this.#r()}}function D(n,s,a=!1){d&&A();var e=new R(n),f=a?T:0;function i(t,r){if(d){const h=E(n)===w;if(t===h){var c=F();M(c),e.anchor=c,p(!1),e.ensure(t,r),p(!0);return}}e.ensure(t,r)}y(()=>{var t=!1;s((r,c=!0)=>{t=!0,i(c,r)}),t||i(!1,null)},f)}export{R as B,D as i};
2
2
  //# sourceMappingURL=if.js.map
package/dist/if.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"if.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/if.js"],"sourcesContent":["/** @import { Effect, TemplateNode } from '#client' */\n/** @import { Batch } from '../../reactivity/batch.js'; */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport {\n\thydrate_next,\n\thydrate_node,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { block, branch, pause_effect, resume_effect } from '../../reactivity/effects.js';\nimport { HYDRATION_START_ELSE, UNINITIALIZED } from '../../../../constants.js';\nimport { create_text, should_defer_append } from '../operations.js';\nimport { current_batch } from '../../reactivity/batch.js';\n\n// TODO reinstate https://github.com/sveltejs/svelte/pull/15250\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node) => void, flag?: boolean) => void) => void} fn\n * @param {boolean} [elseif] True if this is an `{:else if ...}` block rather than an `{#if ...}`, as that affects which transitions are considered 'local'\n * @returns {void}\n */\nexport function if_block(node, fn, elseif = false) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar anchor = node;\n\n\t/** @type {Effect | null} */\n\tvar consequent_effect = null;\n\n\t/** @type {Effect | null} */\n\tvar alternate_effect = null;\n\n\t/** @type {typeof UNINITIALIZED | boolean | null} */\n\tvar condition = UNINITIALIZED;\n\n\tvar flags = elseif ? EFFECT_TRANSPARENT : 0;\n\n\tvar has_branch = false;\n\n\tconst set_branch = (/** @type {(anchor: Node) => void} */ fn, flag = true) => {\n\t\thas_branch = true;\n\t\tupdate_branch(flag, fn);\n\t};\n\n\t/** @type {DocumentFragment | null} */\n\tvar offscreen_fragment = null;\n\n\tfunction commit() {\n\t\tif (offscreen_fragment !== null) {\n\t\t\t// remove the anchor\n\t\t\t/** @type {Text} */ (offscreen_fragment.lastChild).remove();\n\n\t\t\tanchor.before(offscreen_fragment);\n\t\t\toffscreen_fragment = null;\n\t\t}\n\n\t\tvar active = condition ? consequent_effect : alternate_effect;\n\t\tvar inactive = condition ? alternate_effect : consequent_effect;\n\n\t\tif (active) {\n\t\t\tresume_effect(active);\n\t\t}\n\n\t\tif (inactive) {\n\t\t\tpause_effect(inactive, () => {\n\t\t\t\tif (condition) {\n\t\t\t\t\talternate_effect = null;\n\t\t\t\t} else {\n\t\t\t\t\tconsequent_effect = null;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\n\tconst update_branch = (\n\t\t/** @type {boolean | null} */ new_condition,\n\t\t/** @type {null | ((anchor: Node) => void)} */ fn\n\t) => {\n\t\tif (condition === (condition = new_condition)) return;\n\n\t\t/** Whether or not there was a hydration mismatch. Needs to be a `let` or else it isn't treeshaken out */\n\t\tlet mismatch = false;\n\n\t\tif (hydrating) {\n\t\t\tconst is_else = read_hydration_instruction(anchor) === HYDRATION_START_ELSE;\n\n\t\t\tif (!!condition === is_else) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tanchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tset_hydrating(false);\n\t\t\t\tmismatch = true;\n\t\t\t}\n\t\t}\n\n\t\tvar defer = should_defer_append();\n\t\tvar target = anchor;\n\n\t\tif (defer) {\n\t\t\toffscreen_fragment = document.createDocumentFragment();\n\t\t\toffscreen_fragment.append((target = create_text()));\n\t\t}\n\n\t\tif (condition) {\n\t\t\tconsequent_effect ??= fn && branch(() => fn(target));\n\t\t} else {\n\t\t\talternate_effect ??= fn && branch(() => fn(target));\n\t\t}\n\n\t\tif (defer) {\n\t\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\t\tvar active = condition ? consequent_effect : alternate_effect;\n\t\t\tvar inactive = condition ? alternate_effect : consequent_effect;\n\n\t\t\tif (active) batch.skipped_effects.delete(active);\n\t\t\tif (inactive) batch.skipped_effects.add(inactive);\n\n\t\t\tbatch.add_callback(commit);\n\t\t} else {\n\t\t\tcommit();\n\t\t}\n\n\t\tif (mismatch) {\n\t\t\t// continue in hydration mode\n\t\t\tset_hydrating(true);\n\t\t}\n\t};\n\n\tblock(() => {\n\t\thas_branch = false;\n\t\tfn(set_branch);\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(null, null);\n\t\t}\n\t}, flags);\n\n\tif (hydrating) {\n\t\tanchor = hydrate_node;\n\t}\n}\n"],"names":["if_block","node","fn","elseif","hydrating","hydrate_next","anchor","consequent_effect","alternate_effect","condition","UNINITIALIZED","flags","EFFECT_TRANSPARENT","has_branch","set_branch","flag","update_branch","offscreen_fragment","commit","active","inactive","resume_effect","pause_effect","new_condition","mismatch","is_else","read_hydration_instruction","HYDRATION_START_ELSE","skip_nodes","set_hydrate_node","set_hydrating","defer","should_defer_append","target","create_text","branch","batch","current_batch","block","hydrate_node"],"mappings":"0JAyBO,SAASA,EAASC,EAAMC,EAAIC,EAAS,GAAO,CAC9CC,GACHC,EAAY,EAGb,IAAIC,EAASL,EAGTM,EAAoB,KAGpBC,EAAmB,KAGnBC,EAAYC,EAEZC,EAAQR,EAASS,EAAqB,EAEtCC,EAAa,GAEjB,MAAMC,EAAa,CAAuCZ,EAAIa,EAAO,KAAS,CAC7EF,EAAa,GACbG,EAAcD,EAAMb,CAAE,CACvB,EAGA,IAAIe,EAAqB,KAEzB,SAASC,GAAS,CACbD,IAAuB,OAELA,EAAmB,UAAW,OAAM,EAEzDX,EAAO,OAAOW,CAAkB,EAChCA,EAAqB,MAGtB,IAAIE,EAASV,EAAYF,EAAoBC,EACzCY,EAAWX,EAAYD,EAAmBD,EAE1CY,GACHE,EAAcF,CAAM,EAGjBC,GACHE,EAAaF,EAAU,IAAM,CACxBX,EACHD,EAAmB,KAEnBD,EAAoB,IAEtB,CAAC,CAEH,CAEA,MAAMS,EAAgB,CACSO,EACiBrB,IAC3C,CACJ,GAAIO,KAAeA,EAAYc,GAAgB,OAG/C,IAAIC,EAAW,GAEf,GAAIpB,EAAW,CACd,MAAMqB,EAAUC,EAA2BpB,CAAM,IAAMqB,EAEnD,CAAC,CAAClB,IAAcgB,IAGnBnB,EAASsB,EAAU,EAEnBC,EAAiBvB,CAAM,EACvBwB,EAAc,EAAK,EACnBN,EAAW,GAEb,CAEA,IAAIO,EAAQC,EAAmB,EAC3BC,EAAS3B,EAab,GAXIyB,IACHd,EAAqB,SAAS,uBAAsB,EACpDA,EAAmB,OAAQgB,EAASC,GAAa,GAG9CzB,EACHF,MAAsBL,GAAMiC,EAAO,IAAMjC,EAAG+B,CAAM,CAAC,GAEnDzB,MAAqBN,GAAMiC,EAAO,IAAMjC,EAAG+B,CAAM,CAAC,GAG/CF,EAAO,CACV,IAAIK,EAA8BC,EAE9BlB,EAASV,EAAYF,EAAoBC,EACzCY,EAAWX,EAAYD,EAAmBD,EAE1CY,GAAQiB,EAAM,gBAAgB,OAAOjB,CAAM,EAC3CC,GAAUgB,EAAM,gBAAgB,IAAIhB,CAAQ,EAEhDgB,EAAM,aAAalB,CAAM,CAC1B,MACCA,EAAM,EAGHM,GAEHM,EAAc,EAAI,CAEpB,EAEAQ,EAAM,IAAM,CACXzB,EAAa,GACbX,EAAGY,CAAU,EACRD,GACJG,EAAc,KAAM,IAAI,CAE1B,EAAGL,CAAK,EAEJP,IACHE,EAASiC,EAEX","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"if.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/branches.js","../node_modules/svelte/src/internal/client/dom/blocks/if.js"],"sourcesContent":["/** @import { Effect, TemplateNode } from '#client' */\nimport { Batch, current_batch } from '../../reactivity/batch.js';\nimport {\n\tbranch,\n\tdestroy_effect,\n\tmove_effect,\n\tpause_effect,\n\tresume_effect\n} from '../../reactivity/effects.js';\nimport { hydrate_node, hydrating } from '../hydration.js';\nimport { create_text, should_defer_append } from '../operations.js';\n\n/**\n * @typedef {{ effect: Effect, fragment: DocumentFragment }} Branch\n */\n\n/**\n * @template Key\n */\nexport class BranchManager {\n\t/** @type {TemplateNode} */\n\tanchor;\n\n\t/** @type {Map<Batch, Key>} */\n\t#batches = new Map();\n\n\t/** @type {Map<Key, Effect>} */\n\t#onscreen = new Map();\n\n\t/** @type {Map<Key, Branch>} */\n\t#offscreen = new Map();\n\n\t/**\n\t * Whether to pause (i.e. outro) on change, or destroy immediately.\n\t * This is necessary for `<svelte:element>`\n\t */\n\t#transition = true;\n\n\t/**\n\t * @param {TemplateNode} anchor\n\t * @param {boolean} transition\n\t */\n\tconstructor(anchor, transition = true) {\n\t\tthis.anchor = anchor;\n\t\tthis.#transition = transition;\n\t}\n\n\t#commit = () => {\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\n\t\t// if this batch was made obsolete, bail\n\t\tif (!this.#batches.has(batch)) return;\n\n\t\tvar key = /** @type {Key} */ (this.#batches.get(batch));\n\n\t\tvar onscreen = this.#onscreen.get(key);\n\n\t\tif (onscreen) {\n\t\t\t// effect is already in the DOM — abort any current outro\n\t\t\tresume_effect(onscreen);\n\t\t} else {\n\t\t\t// effect is currently offscreen. put it in the DOM\n\t\t\tvar offscreen = this.#offscreen.get(key);\n\n\t\t\tif (offscreen) {\n\t\t\t\tthis.#onscreen.set(key, offscreen.effect);\n\t\t\t\tthis.#offscreen.delete(key);\n\n\t\t\t\t// remove the anchor...\n\t\t\t\t/** @type {TemplateNode} */ (offscreen.fragment.lastChild).remove();\n\n\t\t\t\t// ...and append the fragment\n\t\t\t\tthis.anchor.before(offscreen.fragment);\n\t\t\t\tonscreen = offscreen.effect;\n\t\t\t}\n\t\t}\n\n\t\tfor (const [b, k] of this.#batches) {\n\t\t\tthis.#batches.delete(b);\n\n\t\t\tif (b === batch) {\n\t\t\t\t// keep values for newer batches\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tconst offscreen = this.#offscreen.get(k);\n\n\t\t\tif (offscreen) {\n\t\t\t\t// for older batches, destroy offscreen effects\n\t\t\t\t// as they will never be committed\n\t\t\t\tdestroy_effect(offscreen.effect);\n\t\t\t\tthis.#offscreen.delete(k);\n\t\t\t}\n\t\t}\n\n\t\t// outro/destroy all onscreen effects...\n\t\tfor (const [k, effect] of this.#onscreen) {\n\t\t\t// ...except the one that was just committed\n\t\t\tif (k === key) continue;\n\n\t\t\tconst on_destroy = () => {\n\t\t\t\tconst keys = Array.from(this.#batches.values());\n\n\t\t\t\tif (keys.includes(k)) {\n\t\t\t\t\t// keep the effect offscreen, as another batch will need it\n\t\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\t\tmove_effect(effect, fragment);\n\n\t\t\t\t\tfragment.append(create_text()); // TODO can we avoid this?\n\n\t\t\t\t\tthis.#offscreen.set(k, { effect, fragment });\n\t\t\t\t} else {\n\t\t\t\t\tdestroy_effect(effect);\n\t\t\t\t}\n\n\t\t\t\tthis.#onscreen.delete(k);\n\t\t\t};\n\n\t\t\tif (this.#transition || !onscreen) {\n\t\t\t\tpause_effect(effect, on_destroy, false);\n\t\t\t} else {\n\t\t\t\ton_destroy();\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t * @param {Batch} batch\n\t */\n\t#discard = (batch) => {\n\t\tthis.#batches.delete(batch);\n\n\t\tconst keys = Array.from(this.#batches.values());\n\n\t\tfor (const [k, branch] of this.#offscreen) {\n\t\t\tif (!keys.includes(k)) {\n\t\t\t\tdestroy_effect(branch.effect);\n\t\t\t\tthis.#offscreen.delete(k);\n\t\t\t}\n\t\t}\n\t};\n\n\t/**\n\t *\n\t * @param {any} key\n\t * @param {null | ((target: TemplateNode) => void)} fn\n\t */\n\tensure(key, fn) {\n\t\tvar batch = /** @type {Batch} */ (current_batch);\n\t\tvar defer = should_defer_append();\n\n\t\tif (fn && !this.#onscreen.has(key) && !this.#offscreen.has(key)) {\n\t\t\tif (defer) {\n\t\t\t\tvar fragment = document.createDocumentFragment();\n\t\t\t\tvar target = create_text();\n\n\t\t\t\tfragment.append(target);\n\n\t\t\t\tthis.#offscreen.set(key, {\n\t\t\t\t\teffect: branch(() => fn(target)),\n\t\t\t\t\tfragment\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\tthis.#onscreen.set(\n\t\t\t\t\tkey,\n\t\t\t\t\tbranch(() => fn(this.anchor))\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\tthis.#batches.set(batch, key);\n\n\t\tif (defer) {\n\t\t\tfor (const [k, effect] of this.#onscreen) {\n\t\t\t\tif (k === key) {\n\t\t\t\t\tbatch.skipped_effects.delete(effect);\n\t\t\t\t} else {\n\t\t\t\t\tbatch.skipped_effects.add(effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tfor (const [k, branch] of this.#offscreen) {\n\t\t\t\tif (k === key) {\n\t\t\t\t\tbatch.skipped_effects.delete(branch.effect);\n\t\t\t\t} else {\n\t\t\t\t\tbatch.skipped_effects.add(branch.effect);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tbatch.oncommit(this.#commit);\n\t\t\tbatch.ondiscard(this.#discard);\n\t\t} else {\n\t\t\tif (hydrating) {\n\t\t\t\tthis.anchor = hydrate_node;\n\t\t\t}\n\n\t\t\tthis.#commit();\n\t\t}\n\t}\n}\n","/** @import { TemplateNode } from '#client' */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport {\n\thydrate_next,\n\thydrating,\n\tread_hydration_instruction,\n\tskip_nodes,\n\tset_hydrate_node,\n\tset_hydrating\n} from '../hydration.js';\nimport { block } from '../../reactivity/effects.js';\nimport { HYDRATION_START_ELSE } from '../../../../constants.js';\nimport { BranchManager } from './branches.js';\n\n// TODO reinstate https://github.com/sveltejs/svelte/pull/15250\n\n/**\n * @param {TemplateNode} node\n * @param {(branch: (fn: (anchor: Node) => void, flag?: boolean) => void) => void} fn\n * @param {boolean} [elseif] True if this is an `{:else if ...}` block rather than an `{#if ...}`, as that affects which transitions are considered 'local'\n * @returns {void}\n */\nexport function if_block(node, fn, elseif = false) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\tvar flags = elseif ? EFFECT_TRANSPARENT : 0;\n\n\t/**\n\t * @param {boolean} condition,\n\t * @param {null | ((anchor: Node) => void)} fn\n\t */\n\tfunction update_branch(condition, fn) {\n\t\tif (hydrating) {\n\t\t\tconst is_else = read_hydration_instruction(node) === HYDRATION_START_ELSE;\n\n\t\t\tif (condition === is_else) {\n\t\t\t\t// Hydration mismatch: remove everything inside the anchor and start fresh.\n\t\t\t\t// This could happen with `{#if browser}...{/if}`, for example\n\t\t\t\tvar anchor = skip_nodes();\n\n\t\t\t\tset_hydrate_node(anchor);\n\t\t\t\tbranches.anchor = anchor;\n\n\t\t\t\tset_hydrating(false);\n\t\t\t\tbranches.ensure(condition, fn);\n\t\t\t\tset_hydrating(true);\n\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tbranches.ensure(condition, fn);\n\t}\n\n\tblock(() => {\n\t\tvar has_branch = false;\n\n\t\tfn((fn, flag = true) => {\n\t\t\thas_branch = true;\n\t\t\tupdate_branch(flag, fn);\n\t\t});\n\n\t\tif (!has_branch) {\n\t\t\tupdate_branch(false, null);\n\t\t}\n\t}, flags);\n}\n"],"names":["BranchManager","#batches","#onscreen","#offscreen","#transition","anchor","transition","#commit","batch","current_batch","key","onscreen","resume_effect","offscreen","b","k","destroy_effect","effect","on_destroy","fragment","move_effect","create_text","pause_effect","#discard","keys","branch","fn","defer","should_defer_append","target","hydrating","hydrate_node","if_block","node","elseif","hydrate_next","branches","flags","EFFECT_TRANSPARENT","update_branch","condition","is_else","read_hydration_instruction","HYDRATION_START_ELSE","skip_nodes","set_hydrate_node","set_hydrating","block","has_branch","flag"],"mappings":"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","x_google_ignoreList":[0,1]}
package/dist/input.js CHANGED
@@ -1,2 +1,2 @@
1
- import{V as t,q as S,ay as m,F as h,az as A,aA as C,I as b,T as E,U as V,ao as w}from"./custom-element.js";function g(e,r,a=r){var f=new WeakSet;t(e,"input",async c=>{var d=c?e.defaultValue:e.value;if(d=n(e)?u(d):d,a(d),h!==null&&f.add(h),await A(),d!==(d=r())){var v=e.selectionStart,s=e.selectionEnd;e.value=d??"",s!==null&&(e.selectionStart=v,e.selectionEnd=Math.min(s,e.value.length))}}),(b&&e.defaultValue!==e.value||S(r)==null&&e.value)&&(a(n(e)?u(e.value):e.value),h!==null&&f.add(h)),m(()=>{var c=r();if(e===document.activeElement){var d=C??h;if(f.has(d))return}n(e)&&c===u(e.value)||e.type==="date"&&!c&&!e.value||c!==e.value&&(e.value=c??"")})}const k=new Set;function z(e,r,a,f,c=f){var d=a.getAttribute("type")==="checkbox",v=e;let s=!1;if(r!==null)for(var _ of r)v=v[_]??(v[_]=[]);v.push(a),t(a,"change",()=>{var l=a.__value;d&&(l=y(v,l,a.checked)),c(l)},()=>c(d?[]:null)),m(()=>{var l=f();if(b&&a.defaultChecked!==a.checked){s=!0;return}d?(l=l||[],a.checked=l.includes(a.__value)):a.checked=E(a.__value,l)}),V(()=>{var l=v.indexOf(a);l!==-1&&v.splice(l,1)}),k.has(v)||(k.add(v),w(()=>{v.sort((l,o)=>l.compareDocumentPosition(o)===4?-1:1),k.delete(v)})),w(()=>{if(s){var l;if(d)l=y(v,l,a.checked);else{var o=v.find(i=>i.checked);l=o==null?void 0:o.__value}c(l)}})}function B(e,r,a=r){t(e,"change",f=>{var c=f?e.defaultChecked:e.checked;a(c)}),(b&&e.defaultChecked!==e.checked||S(r)==null)&&a(e.checked),m(()=>{var f=r();e.checked=!!f})}function y(e,r,a){for(var f=new Set,c=0;c<e.length;c+=1)e[c].checked&&f.add(e[c].__value);return a||f.delete(r),Array.from(f)}function n(e){var r=e.type;return r==="number"||r==="range"}function u(e){return e===""?null:+e}export{B as a,z as b,g as c};
1
+ import{S as t,q as S,aB as i,T as s,aC as C,U as E,I as b,Q as g,R as q,a5 as m}from"./custom-element.js";function A(e,l,r=l){var d=new WeakSet;t(e,"input",async c=>{var f=c?e.defaultValue:e.value;if(f=u(e)?k(f):f,r(f),s!==null&&d.add(s),await C(),f!==(f=l())){var v=e.selectionStart,o=e.selectionEnd,h=e.value.length;if(e.value=f??"",o!==null){var a=e.value.length;v===o&&o===h&&a>h?(e.selectionStart=a,e.selectionEnd=a):(e.selectionStart=v,e.selectionEnd=Math.min(o,a))}}}),(b&&e.defaultValue!==e.value||S(l)==null&&e.value)&&(r(u(e)?k(e.value):e.value),s!==null&&d.add(s)),i(()=>{var c=l();if(e===document.activeElement){var f=E??s;if(d.has(f))return}u(e)&&c===k(e.value)||e.type==="date"&&!c&&!e.value||c!==e.value&&(e.value=c??"")})}const n=new Set;function B(e,l,r,d,c=d){var f=r.getAttribute("type")==="checkbox",v=e;let o=!1;if(l!==null)for(var h of l)v=v[h]??=[];v.push(r),t(r,"change",()=>{var a=r.__value;f&&(a=y(v,a,r.checked)),c(a)},()=>c(f?[]:null)),i(()=>{var a=d();if(b&&r.defaultChecked!==r.checked){o=!0;return}f?(a=a||[],r.checked=a.includes(r.__value)):r.checked=g(r.__value,a)}),q(()=>{var a=v.indexOf(r);a!==-1&&v.splice(a,1)}),n.has(v)||(n.add(v),m(()=>{v.sort((a,_)=>a.compareDocumentPosition(_)===4?-1:1),n.delete(v)})),m(()=>{if(o){var a;if(f)a=y(v,a,r.checked);else{var _=v.find(x=>x.checked);a=_?.__value}c(a)}})}function V(e,l,r=l){t(e,"change",d=>{var c=d?e.defaultChecked:e.checked;r(c)}),(b&&e.defaultChecked!==e.checked||S(l)==null)&&r(e.checked),i(()=>{var d=l();e.checked=!!d})}function y(e,l,r){for(var d=new Set,c=0;c<e.length;c+=1)e[c].checked&&d.add(e[c].__value);return r||d.delete(l),Array.from(d)}function u(e){var l=e.type;return l==="number"||l==="range"}function k(e){return e===""?null:+e}export{V as a,B as b,A as c};
2
2
  //# sourceMappingURL=input.js.map
package/dist/input.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../node_modules/svelte/src/internal/client/dom/elements/bindings/input.js"],"sourcesContent":["/** @import { Batch } from '../../../reactivity/batch.js' */\nimport { DEV } from 'esm-env';\nimport { render_effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport * as e from '../../../errors.js';\nimport { is } from '../../../proxy.js';\nimport { queue_micro_task } from '../../task.js';\nimport { hydrating } from '../../hydration.js';\nimport { tick, untrack } from '../../../runtime.js';\nimport { is_runes } from '../../../context.js';\nimport { current_batch, previous_batch } from '../../../reactivity/batch.js';\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_value(input, get, set = get) {\n\tvar batches = new WeakSet();\n\n\tlisten_to_event_and_reset_event(input, 'input', async (is_reset) => {\n\t\tif (DEV && input.type === 'checkbox') {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.bind_invalid_checkbox_value();\n\t\t}\n\n\t\t/** @type {any} */\n\t\tvar value = is_reset ? input.defaultValue : input.value;\n\t\tvalue = is_numberlike_input(input) ? to_number(value) : value;\n\t\tset(value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\n\t\t// Because `{#each ...}` blocks work by updating sources inside the flush,\n\t\t// we need to wait a tick before checking to see if we should forcibly\n\t\t// update the input and reset the selection state\n\t\tawait tick();\n\n\t\t// Respect any validation in accessors\n\t\tif (value !== (value = get())) {\n\t\t\tvar start = input.selectionStart;\n\t\t\tvar end = input.selectionEnd;\n\n\t\t\t// the value is coerced on assignment\n\t\t\tinput.value = value ?? '';\n\n\t\t\t// Restore selection\n\t\t\tif (end !== null) {\n\t\t\t\tinput.selectionStart = start;\n\t\t\t\tinput.selectionEnd = Math.min(end, input.value.length);\n\t\t\t}\n\t\t}\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the updated value from the input instead.\n\t\t(hydrating && input.defaultValue !== input.value) ||\n\t\t// If defaultValue is set, then value == defaultValue\n\t\t// TODO Svelte 6: remove input.value check and set to empty string?\n\t\t(untrack(get) == null && input.value)\n\t) {\n\t\tset(is_numberlike_input(input) ? to_number(input.value) : input.value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\t}\n\n\trender_effect(() => {\n\t\tif (DEV && input.type === 'checkbox') {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.bind_invalid_checkbox_value();\n\t\t}\n\n\t\tvar value = get();\n\n\t\tif (input === document.activeElement) {\n\t\t\t// we need both, because in non-async mode, render effects run before previous_batch is set\n\t\t\tvar batch = /** @type {Batch} */ (previous_batch ?? current_batch);\n\n\t\t\t// Never rewrite the contents of a focused input. We can get here if, for example,\n\t\t\t// an update is deferred because of async work depending on the input:\n\t\t\t//\n\t\t\t// <input bind:value={query}>\n\t\t\t// <p>{await find(query)}</p>\n\t\t\tif (batches.has(batch)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (is_numberlike_input(input) && value === to_number(input.value)) {\n\t\t\t// handles 0 vs 00 case (see https://github.com/sveltejs/svelte/issues/9959)\n\t\t\treturn;\n\t\t}\n\n\t\tif (input.type === 'date' && !value && !input.value) {\n\t\t\t// Handles the case where a temporarily invalid date is set (while typing, for example with a leading 0 for the day)\n\t\t\t// and prevents this state from clearing the other parts of the date input (see https://github.com/sveltejs/svelte/issues/7897)\n\t\t\treturn;\n\t\t}\n\n\t\t// don't set the value of the input if it's the same to allow\n\t\t// minlength to work properly\n\t\tif (value !== input.value) {\n\t\t\t// @ts-expect-error the value is coerced on assignment\n\t\t\tinput.value = value ?? '';\n\t\t}\n\t});\n}\n\n/** @type {Set<HTMLInputElement[]>} */\nconst pending = new Set();\n\n/**\n * @param {HTMLInputElement[]} inputs\n * @param {null | [number]} group_index\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_group(inputs, group_index, input, get, set = get) {\n\tvar is_checkbox = input.getAttribute('type') === 'checkbox';\n\tvar binding_group = inputs;\n\n\t// needs to be let or related code isn't treeshaken out if it's always false\n\tlet hydration_mismatch = false;\n\n\tif (group_index !== null) {\n\t\tfor (var index of group_index) {\n\t\t\t// @ts-expect-error\n\t\t\tbinding_group = binding_group[index] ??= [];\n\t\t}\n\t}\n\n\tbinding_group.push(input);\n\n\tlisten_to_event_and_reset_event(\n\t\tinput,\n\t\t'change',\n\t\t() => {\n\t\t\t// @ts-ignore\n\t\t\tvar value = input.__value;\n\n\t\t\tif (is_checkbox) {\n\t\t\t\tvalue = get_binding_group_value(binding_group, value, input.checked);\n\t\t\t}\n\n\t\t\tset(value);\n\t\t},\n\t\t// TODO better default value handling\n\t\t() => set(is_checkbox ? [] : null)\n\t);\n\n\trender_effect(() => {\n\t\tvar value = get();\n\n\t\t// If we are hydrating and the value has since changed, then use the update value\n\t\t// from the input instead.\n\t\tif (hydrating && input.defaultChecked !== input.checked) {\n\t\t\thydration_mismatch = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (is_checkbox) {\n\t\t\tvalue = value || [];\n\t\t\t// @ts-ignore\n\t\t\tinput.checked = value.includes(input.__value);\n\t\t} else {\n\t\t\t// @ts-ignore\n\t\t\tinput.checked = is(input.__value, value);\n\t\t}\n\t});\n\n\tteardown(() => {\n\t\tvar index = binding_group.indexOf(input);\n\n\t\tif (index !== -1) {\n\t\t\tbinding_group.splice(index, 1);\n\t\t}\n\t});\n\n\tif (!pending.has(binding_group)) {\n\t\tpending.add(binding_group);\n\n\t\tqueue_micro_task(() => {\n\t\t\t// necessary to maintain binding group order in all insertion scenarios\n\t\t\tbinding_group.sort((a, b) => (a.compareDocumentPosition(b) === 4 ? -1 : 1));\n\t\t\tpending.delete(binding_group);\n\t\t});\n\t}\n\n\tqueue_micro_task(() => {\n\t\tif (hydration_mismatch) {\n\t\t\tvar value;\n\n\t\t\tif (is_checkbox) {\n\t\t\t\tvalue = get_binding_group_value(binding_group, value, input.checked);\n\t\t\t} else {\n\t\t\t\tvar hydration_input = binding_group.find((input) => input.checked);\n\t\t\t\t// @ts-ignore\n\t\t\t\tvalue = hydration_input?.__value;\n\t\t\t}\n\n\t\t\tset(value);\n\t\t}\n\t});\n}\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_checked(input, get, set = get) {\n\tlisten_to_event_and_reset_event(input, 'change', (is_reset) => {\n\t\tvar value = is_reset ? input.defaultChecked : input.checked;\n\t\tset(value);\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the update value from the input instead.\n\t\t(hydrating && input.defaultChecked !== input.checked) ||\n\t\t// If defaultChecked is set, then checked == defaultChecked\n\t\tuntrack(get) == null\n\t) {\n\t\tset(input.checked);\n\t}\n\n\trender_effect(() => {\n\t\tvar value = get();\n\t\tinput.checked = Boolean(value);\n\t});\n}\n\n/**\n * @template V\n * @param {Array<HTMLInputElement>} group\n * @param {V} __value\n * @param {boolean} checked\n * @returns {V[]}\n */\nfunction get_binding_group_value(group, __value, checked) {\n\t/** @type {Set<V>} */\n\tvar value = new Set();\n\n\tfor (var i = 0; i < group.length; i += 1) {\n\t\tif (group[i].checked) {\n\t\t\t// @ts-ignore\n\t\t\tvalue.add(group[i].__value);\n\t\t}\n\t}\n\n\tif (!checked) {\n\t\tvalue.delete(__value);\n\t}\n\n\treturn Array.from(value);\n}\n\n/**\n * @param {HTMLInputElement} input\n */\nfunction is_numberlike_input(input) {\n\tvar type = input.type;\n\treturn type === 'number' || type === 'range';\n}\n\n/**\n * @param {string} value\n */\nfunction to_number(value) {\n\treturn value === '' ? null : +value;\n}\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => FileList | null} get\n * @param {(value: FileList | null) => void} set\n */\nexport function bind_files(input, get, set = get) {\n\tlisten_to_event_and_reset_event(input, 'change', () => {\n\t\tset(input.files);\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the updated value from the input instead.\n\t\thydrating &&\n\t\tinput.files\n\t) {\n\t\tset(input.files);\n\t}\n\n\trender_effect(() => {\n\t\tinput.files = get();\n\t});\n}\n"],"names":["bind_value","input","get","set","batches","listen_to_event_and_reset_event","is_reset","value","is_numberlike_input","to_number","current_batch","tick","start","end","hydrating","untrack","render_effect","batch","previous_batch","pending","bind_group","inputs","group_index","is_checkbox","binding_group","hydration_mismatch","index","get_binding_group_value","is","teardown","queue_micro_task","a","b","hydration_input","bind_checked","group","__value","checked","i","type"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"input.js","sources":["../node_modules/svelte/src/internal/client/dom/elements/bindings/input.js"],"sourcesContent":["/** @import { Batch } from '../../../reactivity/batch.js' */\nimport { DEV } from 'esm-env';\nimport { render_effect, teardown } from '../../../reactivity/effects.js';\nimport { listen_to_event_and_reset_event } from './shared.js';\nimport * as e from '../../../errors.js';\nimport { is } from '../../../proxy.js';\nimport { queue_micro_task } from '../../task.js';\nimport { hydrating } from '../../hydration.js';\nimport { tick, untrack } from '../../../runtime.js';\nimport { is_runes } from '../../../context.js';\nimport { current_batch, previous_batch } from '../../../reactivity/batch.js';\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_value(input, get, set = get) {\n\tvar batches = new WeakSet();\n\n\tlisten_to_event_and_reset_event(input, 'input', async (is_reset) => {\n\t\tif (DEV && input.type === 'checkbox') {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.bind_invalid_checkbox_value();\n\t\t}\n\n\t\t/** @type {any} */\n\t\tvar value = is_reset ? input.defaultValue : input.value;\n\t\tvalue = is_numberlike_input(input) ? to_number(value) : value;\n\t\tset(value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\n\t\t// Because `{#each ...}` blocks work by updating sources inside the flush,\n\t\t// we need to wait a tick before checking to see if we should forcibly\n\t\t// update the input and reset the selection state\n\t\tawait tick();\n\n\t\t// Respect any validation in accessors\n\t\tif (value !== (value = get())) {\n\t\t\tvar start = input.selectionStart;\n\t\t\tvar end = input.selectionEnd;\n\t\t\tvar length = input.value.length;\n\n\t\t\t// the value is coerced on assignment\n\t\t\tinput.value = value ?? '';\n\n\t\t\t// Restore selection\n\t\t\tif (end !== null) {\n\t\t\t\tvar new_length = input.value.length;\n\t\t\t\t// If cursor was at end and new input is longer, move cursor to new end\n\t\t\t\tif (start === end && end === length && new_length > length) {\n\t\t\t\t\tinput.selectionStart = new_length;\n\t\t\t\t\tinput.selectionEnd = new_length;\n\t\t\t\t} else {\n\t\t\t\t\tinput.selectionStart = start;\n\t\t\t\t\tinput.selectionEnd = Math.min(end, new_length);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the updated value from the input instead.\n\t\t(hydrating && input.defaultValue !== input.value) ||\n\t\t// If defaultValue is set, then value == defaultValue\n\t\t// TODO Svelte 6: remove input.value check and set to empty string?\n\t\t(untrack(get) == null && input.value)\n\t) {\n\t\tset(is_numberlike_input(input) ? to_number(input.value) : input.value);\n\n\t\tif (current_batch !== null) {\n\t\t\tbatches.add(current_batch);\n\t\t}\n\t}\n\n\trender_effect(() => {\n\t\tif (DEV && input.type === 'checkbox') {\n\t\t\t// TODO should this happen in prod too?\n\t\t\te.bind_invalid_checkbox_value();\n\t\t}\n\n\t\tvar value = get();\n\n\t\tif (input === document.activeElement) {\n\t\t\t// we need both, because in non-async mode, render effects run before previous_batch is set\n\t\t\tvar batch = /** @type {Batch} */ (previous_batch ?? current_batch);\n\n\t\t\t// Never rewrite the contents of a focused input. We can get here if, for example,\n\t\t\t// an update is deferred because of async work depending on the input:\n\t\t\t//\n\t\t\t// <input bind:value={query}>\n\t\t\t// <p>{await find(query)}</p>\n\t\t\tif (batches.has(batch)) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif (is_numberlike_input(input) && value === to_number(input.value)) {\n\t\t\t// handles 0 vs 00 case (see https://github.com/sveltejs/svelte/issues/9959)\n\t\t\treturn;\n\t\t}\n\n\t\tif (input.type === 'date' && !value && !input.value) {\n\t\t\t// Handles the case where a temporarily invalid date is set (while typing, for example with a leading 0 for the day)\n\t\t\t// and prevents this state from clearing the other parts of the date input (see https://github.com/sveltejs/svelte/issues/7897)\n\t\t\treturn;\n\t\t}\n\n\t\t// don't set the value of the input if it's the same to allow\n\t\t// minlength to work properly\n\t\tif (value !== input.value) {\n\t\t\t// @ts-expect-error the value is coerced on assignment\n\t\t\tinput.value = value ?? '';\n\t\t}\n\t});\n}\n\n/** @type {Set<HTMLInputElement[]>} */\nconst pending = new Set();\n\n/**\n * @param {HTMLInputElement[]} inputs\n * @param {null | [number]} group_index\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_group(inputs, group_index, input, get, set = get) {\n\tvar is_checkbox = input.getAttribute('type') === 'checkbox';\n\tvar binding_group = inputs;\n\n\t// needs to be let or related code isn't treeshaken out if it's always false\n\tlet hydration_mismatch = false;\n\n\tif (group_index !== null) {\n\t\tfor (var index of group_index) {\n\t\t\t// @ts-expect-error\n\t\t\tbinding_group = binding_group[index] ??= [];\n\t\t}\n\t}\n\n\tbinding_group.push(input);\n\n\tlisten_to_event_and_reset_event(\n\t\tinput,\n\t\t'change',\n\t\t() => {\n\t\t\t// @ts-ignore\n\t\t\tvar value = input.__value;\n\n\t\t\tif (is_checkbox) {\n\t\t\t\tvalue = get_binding_group_value(binding_group, value, input.checked);\n\t\t\t}\n\n\t\t\tset(value);\n\t\t},\n\t\t// TODO better default value handling\n\t\t() => set(is_checkbox ? [] : null)\n\t);\n\n\trender_effect(() => {\n\t\tvar value = get();\n\n\t\t// If we are hydrating and the value has since changed, then use the update value\n\t\t// from the input instead.\n\t\tif (hydrating && input.defaultChecked !== input.checked) {\n\t\t\thydration_mismatch = true;\n\t\t\treturn;\n\t\t}\n\n\t\tif (is_checkbox) {\n\t\t\tvalue = value || [];\n\t\t\t// @ts-ignore\n\t\t\tinput.checked = value.includes(input.__value);\n\t\t} else {\n\t\t\t// @ts-ignore\n\t\t\tinput.checked = is(input.__value, value);\n\t\t}\n\t});\n\n\tteardown(() => {\n\t\tvar index = binding_group.indexOf(input);\n\n\t\tif (index !== -1) {\n\t\t\tbinding_group.splice(index, 1);\n\t\t}\n\t});\n\n\tif (!pending.has(binding_group)) {\n\t\tpending.add(binding_group);\n\n\t\tqueue_micro_task(() => {\n\t\t\t// necessary to maintain binding group order in all insertion scenarios\n\t\t\tbinding_group.sort((a, b) => (a.compareDocumentPosition(b) === 4 ? -1 : 1));\n\t\t\tpending.delete(binding_group);\n\t\t});\n\t}\n\n\tqueue_micro_task(() => {\n\t\tif (hydration_mismatch) {\n\t\t\tvar value;\n\n\t\t\tif (is_checkbox) {\n\t\t\t\tvalue = get_binding_group_value(binding_group, value, input.checked);\n\t\t\t} else {\n\t\t\t\tvar hydration_input = binding_group.find((input) => input.checked);\n\t\t\t\t// @ts-ignore\n\t\t\t\tvalue = hydration_input?.__value;\n\t\t\t}\n\n\t\t\tset(value);\n\t\t}\n\t});\n}\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => unknown} get\n * @param {(value: unknown) => void} set\n * @returns {void}\n */\nexport function bind_checked(input, get, set = get) {\n\tlisten_to_event_and_reset_event(input, 'change', (is_reset) => {\n\t\tvar value = is_reset ? input.defaultChecked : input.checked;\n\t\tset(value);\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the update value from the input instead.\n\t\t(hydrating && input.defaultChecked !== input.checked) ||\n\t\t// If defaultChecked is set, then checked == defaultChecked\n\t\tuntrack(get) == null\n\t) {\n\t\tset(input.checked);\n\t}\n\n\trender_effect(() => {\n\t\tvar value = get();\n\t\tinput.checked = Boolean(value);\n\t});\n}\n\n/**\n * @template V\n * @param {Array<HTMLInputElement>} group\n * @param {V} __value\n * @param {boolean} checked\n * @returns {V[]}\n */\nfunction get_binding_group_value(group, __value, checked) {\n\t/** @type {Set<V>} */\n\tvar value = new Set();\n\n\tfor (var i = 0; i < group.length; i += 1) {\n\t\tif (group[i].checked) {\n\t\t\t// @ts-ignore\n\t\t\tvalue.add(group[i].__value);\n\t\t}\n\t}\n\n\tif (!checked) {\n\t\tvalue.delete(__value);\n\t}\n\n\treturn Array.from(value);\n}\n\n/**\n * @param {HTMLInputElement} input\n */\nfunction is_numberlike_input(input) {\n\tvar type = input.type;\n\treturn type === 'number' || type === 'range';\n}\n\n/**\n * @param {string} value\n */\nfunction to_number(value) {\n\treturn value === '' ? null : +value;\n}\n\n/**\n * @param {HTMLInputElement} input\n * @param {() => FileList | null} get\n * @param {(value: FileList | null) => void} set\n */\nexport function bind_files(input, get, set = get) {\n\tlisten_to_event_and_reset_event(input, 'change', () => {\n\t\tset(input.files);\n\t});\n\n\tif (\n\t\t// If we are hydrating and the value has since changed,\n\t\t// then use the updated value from the input instead.\n\t\thydrating &&\n\t\tinput.files\n\t) {\n\t\tset(input.files);\n\t}\n\n\trender_effect(() => {\n\t\tinput.files = get();\n\t});\n}\n"],"names":["bind_value","input","get","set","batches","listen_to_event_and_reset_event","is_reset","value","is_numberlike_input","to_number","current_batch","tick","start","end","length","new_length","hydrating","untrack","render_effect","batch","previous_batch","pending","bind_group","inputs","group_index","is_checkbox","binding_group","hydration_mismatch","index","get_binding_group_value","is","teardown","queue_micro_task","b","hydration_input","bind_checked","group","__value","checked","i","type"],"mappings":"0GAkBO,SAASA,EAAWC,EAAOC,EAAKC,EAAMD,EAAK,CACjD,IAAIE,EAAU,IAAI,QAElBC,EAAgCJ,EAAO,QAAS,MAAOK,GAAa,CAOnE,IAAIC,EAAQD,EAAWL,EAAM,aAAeA,EAAM,MAclD,GAbAM,EAAQC,EAAoBP,CAAK,EAAIQ,EAAUF,CAAK,EAAIA,EACxDJ,EAAII,CAAK,EAELG,IAAkB,MACrBN,EAAQ,IAAIM,CAAa,EAM1B,MAAMC,EAAI,EAGNJ,KAAWA,EAAQL,EAAG,GAAK,CAC9B,IAAIU,EAAQX,EAAM,eACdY,EAAMZ,EAAM,aACZa,EAASb,EAAM,MAAM,OAMzB,GAHAA,EAAM,MAAQM,GAAS,GAGnBM,IAAQ,KAAM,CACjB,IAAIE,EAAad,EAAM,MAAM,OAEzBW,IAAUC,GAAOA,IAAQC,GAAUC,EAAaD,GACnDb,EAAM,eAAiBc,EACvBd,EAAM,aAAec,IAErBd,EAAM,eAAiBW,EACvBX,EAAM,aAAe,KAAK,IAAIY,EAAKE,CAAU,EAE/C,CACD,CACD,CAAC,GAKCC,GAAaf,EAAM,eAAiBA,EAAM,OAG1CgB,EAAQf,CAAG,GAAK,MAAQD,EAAM,SAE/BE,EAAIK,EAAoBP,CAAK,EAAIQ,EAAUR,EAAM,KAAK,EAAIA,EAAM,KAAK,EAEjES,IAAkB,MACrBN,EAAQ,IAAIM,CAAa,GAI3BQ,EAAc,IAAM,CAMnB,IAAIX,EAAQL,EAAG,EAEf,GAAID,IAAU,SAAS,cAAe,CAErC,IAAIkB,EAA8BC,GAAkBV,EAOpD,GAAIN,EAAQ,IAAIe,CAAK,EACpB,MAEF,CAEIX,EAAoBP,CAAK,GAAKM,IAAUE,EAAUR,EAAM,KAAK,GAK7DA,EAAM,OAAS,QAAU,CAACM,GAAS,CAACN,EAAM,OAQ1CM,IAAUN,EAAM,QAEnBA,EAAM,MAAQM,GAAS,GAEzB,CAAC,CACF,CAGA,MAAMc,EAAU,IAAI,IAUb,SAASC,EAAWC,EAAQC,EAAavB,EAAOC,EAAKC,EAAMD,EAAK,CACtE,IAAIuB,EAAcxB,EAAM,aAAa,MAAM,IAAM,WAC7CyB,EAAgBH,EAGpB,IAAII,EAAqB,GAEzB,GAAIH,IAAgB,KACnB,QAASI,KAASJ,EAEjBE,EAAgBA,EAAcE,CAAK,IAAM,CAAA,EAI3CF,EAAc,KAAKzB,CAAK,EAExBI,EACCJ,EACA,SACA,IAAM,CAEL,IAAIM,EAAQN,EAAM,QAEdwB,IACHlB,EAAQsB,EAAwBH,EAAenB,EAAON,EAAM,OAAO,GAGpEE,EAAII,CAAK,CACV,EAEA,IAAMJ,EAAIsB,EAAc,CAAA,EAAK,IAAI,CACnC,EAECP,EAAc,IAAM,CACnB,IAAIX,EAAQL,EAAG,EAIf,GAAIc,GAAaf,EAAM,iBAAmBA,EAAM,QAAS,CACxD0B,EAAqB,GACrB,MACD,CAEIF,GACHlB,EAAQA,GAAS,CAAA,EAEjBN,EAAM,QAAUM,EAAM,SAASN,EAAM,OAAO,GAG5CA,EAAM,QAAU6B,EAAG7B,EAAM,QAASM,CAAK,CAEzC,CAAC,EAEDwB,EAAS,IAAM,CACd,IAAIH,EAAQF,EAAc,QAAQzB,CAAK,EAEnC2B,IAAU,IACbF,EAAc,OAAOE,EAAO,CAAC,CAE/B,CAAC,EAEIP,EAAQ,IAAIK,CAAa,IAC7BL,EAAQ,IAAIK,CAAa,EAEzBM,EAAiB,IAAM,CAEtBN,EAAc,KAAK,CAAC,EAAGO,IAAO,EAAE,wBAAwBA,CAAC,IAAM,EAAI,GAAK,CAAE,EAC1EZ,EAAQ,OAAOK,CAAa,CAC7B,CAAC,GAGFM,EAAiB,IAAM,CACtB,GAAIL,EAAoB,CACvB,IAAIpB,EAEJ,GAAIkB,EACHlB,EAAQsB,EAAwBH,EAAenB,EAAON,EAAM,OAAO,MAC7D,CACN,IAAIiC,EAAkBR,EAAc,KAAMzB,GAAUA,EAAM,OAAO,EAEjEM,EAAQ2B,GAAiB,OAC1B,CAEA/B,EAAII,CAAK,CACV,CACD,CAAC,CACF,CAQO,SAAS4B,EAAalC,EAAOC,EAAKC,EAAMD,EAAK,CACnDG,EAAgCJ,EAAO,SAAWK,GAAa,CAC9D,IAAIC,EAAQD,EAAWL,EAAM,eAAiBA,EAAM,QACpDE,EAAII,CAAK,CACV,CAAC,GAKCS,GAAaf,EAAM,iBAAmBA,EAAM,SAE7CgB,EAAQf,CAAG,GAAK,OAEhBC,EAAIF,EAAM,OAAO,EAGlBiB,EAAc,IAAM,CACnB,IAAIX,EAAQL,EAAG,EACfD,EAAM,QAAU,EAAQM,CACzB,CAAC,CACF,CASA,SAASsB,EAAwBO,EAAOC,EAASC,EAAS,CAIzD,QAFI/B,EAAQ,IAAI,IAEPgC,EAAI,EAAGA,EAAIH,EAAM,OAAQG,GAAK,EAClCH,EAAMG,CAAC,EAAE,SAEZhC,EAAM,IAAI6B,EAAMG,CAAC,EAAE,OAAO,EAI5B,OAAKD,GACJ/B,EAAM,OAAO8B,CAAO,EAGd,MAAM,KAAK9B,CAAK,CACxB,CAKA,SAASC,EAAoBP,EAAO,CACnC,IAAIuC,EAAOvC,EAAM,KACjB,OAAOuC,IAAS,UAAYA,IAAS,OACtC,CAKA,SAAS/B,EAAUF,EAAO,CACzB,OAAOA,IAAU,GAAK,KAAO,CAACA,CAC/B","x_google_ignoreList":[0]}
package/dist/legacy.js CHANGED
@@ -1,2 +1,2 @@
1
- import{aC as a}from"./custom-element.js";a();
1
+ import{aE as a}from"./custom-element.js";a();
2
2
  //# sourceMappingURL=legacy.js.map
package/dist/main.d.ts CHANGED
@@ -5,11 +5,14 @@ import Callout from './components/callout/Callout.svelte';
5
5
  import Checkbox from './components/checkbox/Checkbox.svelte';
6
6
  import CheckboxGroup from './components/checkboxgroup/CheckboxGroup.svelte';
7
7
  import CircularProgressbar from './components/circularprogressbar/CircularProgressbar.svelte';
8
+ import Container from './components/container/Container.svelte';
8
9
  import Datepicker from './components/datepicker/Datepicker.svelte';
10
+ import Divider from './components/divider/Divider.svelte';
9
11
  import Drawer from './components/drawer/Drawer.svelte';
10
12
  import Field from './components/field/Field.svelte';
11
13
  import Flag from './components/flag/Flag.svelte';
12
14
  import IconButton from './components/iconbutton/IconButton.svelte';
15
+ import KpiItem from './components/kpiitem/KpiItem.svelte';
13
16
  import LinearProgressbarBuffer from './components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte';
14
17
  import LinearProgressbarPercentage from './components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte';
15
18
  import Link from './components/link/Link.svelte';
@@ -27,20 +30,18 @@ import RadioGroup from './components/radiogroup/RadioGroup.svelte';
27
30
  import Select from './components/select/Select.svelte';
28
31
  import StatusBadge from './components/statusbadge/StatusBadge.svelte';
29
32
  import StatusDot from './components/statusdot/StatusDot.svelte';
33
+ import StatusMessage from './components/statusmessage/StatusMessage.svelte';
30
34
  import StatusNotification from './components/statusnotification/StatusNotification.svelte';
31
35
  import SegmentedControl from './components/segmentedcontrol/SegmentedControl.svelte';
36
+ import StepperCompact from './components/steppercompact/StepperCompact.svelte';
32
37
  import Tab from './components/tab/Tab.svelte';
33
38
  import Tabs from './components/tabs/Tabs.svelte';
34
- import Tag from './components/tags/Tag.svelte';
35
- import TagContextualised from './components/tags/TagContextualised.svelte';
36
- import TagInteractive from './components/tags/TagInteractive.svelte';
37
- import TagRemovable from './components/tags/TagRemovable.svelte';
38
- import TagSelectable from './components/tags/TagSelectable.svelte';
39
+ import Tag from './components/tag/Tag.svelte';
39
40
  import Textarea from './components/textarea/Textarea.svelte';
40
41
  import Textinput from './components/textinput/Textinput.svelte';
41
42
  import Toaster from './components/toaster/Toaster.svelte';
42
43
  import Toggle from './components/toggle/Toggle.svelte';
43
44
  import ToggleGroup from './components/togglegroup/ToggleGroup.svelte';
44
45
  import Tooltip from './components/tooltip/Tooltip.svelte';
45
- export { Avatar, Breadcrumb, Button, Callout, Checkbox, CheckboxGroup, CircularProgressbar, Datepicker, Drawer, Field, Flag, IconButton, LinearProgressbarBuffer, LinearProgressbarPercentage, Link, Loader, LoadingOverlay, Modal, NumberBadge, Overlay, Pagination, PasswordInput, Pincode, QuantitySelector, Radio, RadioGroup, Select, StatusBadge, StatusDot, StatusNotification, SegmentedControl, Tab, Tabs, Tag, TagContextualised, TagInteractive, TagRemovable, TagSelectable, Textarea, Textinput, Toaster, Toggle, ToggleGroup, Tooltip, };
46
+ export { Avatar, Breadcrumb, Button, Callout, Checkbox, CheckboxGroup, CircularProgressbar, Container, Datepicker, Divider, Drawer, Field, Flag, IconButton, KpiItem, LinearProgressbarBuffer, LinearProgressbarPercentage, Link, Loader, LoadingOverlay, Modal, NumberBadge, Overlay, Pagination, PasswordInput, Pincode, QuantitySelector, Radio, RadioGroup, Select, StatusBadge, StatusDot, StatusMessage, StatusNotification, StepperCompact, SegmentedControl, Tab, Tabs, Tag, Textarea, Textinput, Toaster, Toggle, ToggleGroup, Tooltip, };
46
47
  //# sourceMappingURL=main.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,mBAAmB,MAAM,6DAA6D,CAAC;AAC9F,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,KAAK,MAAM,iCAAiC,CAAC;AACpD,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,uBAAuB,MAAM,qEAAqE,CAAC;AAC1G,OAAO,2BAA2B,MAAM,6EAA6E,CAAC;AACtH,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,KAAK,MAAM,iCAAiC,CAAC;AACpD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AACrF,OAAO,KAAK,MAAM,iCAAiC,CAAC;AACpD,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,kBAAkB,MAAM,2DAA2D,CAAC;AAC3F,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AACrF,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAC9C,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,GAAG,MAAM,8BAA8B,CAAC;AAC/C,OAAO,iBAAiB,MAAM,4CAA4C,CAAC;AAC3E,OAAO,cAAc,MAAM,yCAAyC,CAAC;AACrE,OAAO,YAAY,MAAM,uCAAuC,CAAC;AACjE,OAAO,aAAa,MAAM,wCAAwC,CAAC;AACnE,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAE1D,OAAO,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,MAAM,EACN,KAAK,EACL,IAAI,EACJ,UAAU,EACV,uBAAuB,EACvB,2BAA2B,EAC3B,IAAI,EACJ,MAAM,EACN,cAAc,EACd,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,UAAU,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,kBAAkB,EAClB,gBAAgB,EAChB,GAAG,EACH,IAAI,EACJ,GAAG,EACH,iBAAiB,EACjB,cAAc,EACd,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,GACR,CAAC"}
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,mBAAmB,MAAM,6DAA6D,CAAC;AAC9F,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,KAAK,MAAM,iCAAiC,CAAC;AACpD,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,uBAAuB,MAAM,qEAAqE,CAAC;AAC1G,OAAO,2BAA2B,MAAM,6EAA6E,CAAC;AACtH,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,KAAK,MAAM,iCAAiC,CAAC;AACpD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AACrF,OAAO,KAAK,MAAM,iCAAiC,CAAC;AACpD,OAAO,UAAU,MAAM,2CAA2C,CAAC;AACnE,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,aAAa,MAAM,iDAAiD,CAAC;AAC5E,OAAO,kBAAkB,MAAM,2DAA2D,CAAC;AAC3F,OAAO,gBAAgB,MAAM,uDAAuD,CAAC;AACrF,OAAO,cAAc,MAAM,mDAAmD,CAAC;AAC/E,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAC9C,OAAO,IAAI,MAAM,+BAA+B,CAAC;AACjD,OAAO,GAAG,MAAM,6BAA6B,CAAC;AAC9C,OAAO,QAAQ,MAAM,uCAAuC,CAAC;AAC7D,OAAO,SAAS,MAAM,yCAAyC,CAAC;AAChE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAC1D,OAAO,MAAM,MAAM,mCAAmC,CAAC;AACvD,OAAO,WAAW,MAAM,6CAA6C,CAAC;AACtE,OAAO,OAAO,MAAM,qCAAqC,CAAC;AAE1D,OAAO,EACL,MAAM,EACN,UAAU,EACV,MAAM,EACN,OAAO,EACP,QAAQ,EACR,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,UAAU,EACV,OAAO,EACP,MAAM,EACN,KAAK,EACL,IAAI,EACJ,UAAU,EACV,OAAO,EACP,uBAAuB,EACvB,2BAA2B,EAC3B,IAAI,EACJ,MAAM,EACN,cAAc,EACd,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,KAAK,EACL,UAAU,EACV,MAAM,EACN,WAAW,EACX,SAAS,EACT,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,GAAG,EACH,IAAI,EACJ,GAAG,EACH,QAAQ,EACR,SAAS,EACT,OAAO,EACP,MAAM,EACN,WAAW,EACX,OAAO,GACR,CAAC"}
package/dist/main.js CHANGED
@@ -5,11 +5,14 @@ import Callout from './components/callout/Callout.svelte';
5
5
  import Checkbox from './components/checkbox/Checkbox.svelte';
6
6
  import CheckboxGroup from './components/checkboxgroup/CheckboxGroup.svelte';
7
7
  import CircularProgressbar from './components/circularprogressbar/CircularProgressbar.svelte';
8
+ import Container from './components/container/Container.svelte';
8
9
  import Datepicker from './components/datepicker/Datepicker.svelte';
10
+ import Divider from './components/divider/Divider.svelte';
9
11
  import Drawer from './components/drawer/Drawer.svelte';
10
12
  import Field from './components/field/Field.svelte';
11
13
  import Flag from './components/flag/Flag.svelte';
12
14
  import IconButton from './components/iconbutton/IconButton.svelte';
15
+ import KpiItem from './components/kpiitem/KpiItem.svelte';
13
16
  import LinearProgressbarBuffer from './components/linearprogressbarbuffer/LinearProgressbarBuffer.svelte';
14
17
  import LinearProgressbarPercentage from './components/linearprogressbarpercentage/LinearProgressbarPercentage.svelte';
15
18
  import Link from './components/link/Link.svelte';
@@ -27,19 +30,17 @@ import RadioGroup from './components/radiogroup/RadioGroup.svelte';
27
30
  import Select from './components/select/Select.svelte';
28
31
  import StatusBadge from './components/statusbadge/StatusBadge.svelte';
29
32
  import StatusDot from './components/statusdot/StatusDot.svelte';
33
+ import StatusMessage from './components/statusmessage/StatusMessage.svelte';
30
34
  import StatusNotification from './components/statusnotification/StatusNotification.svelte';
31
35
  import SegmentedControl from './components/segmentedcontrol/SegmentedControl.svelte';
36
+ import StepperCompact from './components/steppercompact/StepperCompact.svelte';
32
37
  import Tab from './components/tab/Tab.svelte';
33
38
  import Tabs from './components/tabs/Tabs.svelte';
34
- import Tag from './components/tags/Tag.svelte';
35
- import TagContextualised from './components/tags/TagContextualised.svelte';
36
- import TagInteractive from './components/tags/TagInteractive.svelte';
37
- import TagRemovable from './components/tags/TagRemovable.svelte';
38
- import TagSelectable from './components/tags/TagSelectable.svelte';
39
+ import Tag from './components/tag/Tag.svelte';
39
40
  import Textarea from './components/textarea/Textarea.svelte';
40
41
  import Textinput from './components/textinput/Textinput.svelte';
41
42
  import Toaster from './components/toaster/Toaster.svelte';
42
43
  import Toggle from './components/toggle/Toggle.svelte';
43
44
  import ToggleGroup from './components/togglegroup/ToggleGroup.svelte';
44
45
  import Tooltip from './components/tooltip/Tooltip.svelte';
45
- export { Avatar, Breadcrumb, Button, Callout, Checkbox, CheckboxGroup, CircularProgressbar, Datepicker, Drawer, Field, Flag, IconButton, LinearProgressbarBuffer, LinearProgressbarPercentage, Link, Loader, LoadingOverlay, Modal, NumberBadge, Overlay, Pagination, PasswordInput, Pincode, QuantitySelector, Radio, RadioGroup, Select, StatusBadge, StatusDot, StatusNotification, SegmentedControl, Tab, Tabs, Tag, TagContextualised, TagInteractive, TagRemovable, TagSelectable, Textarea, Textinput, Toaster, Toggle, ToggleGroup, Tooltip, };
46
+ export { Avatar, Breadcrumb, Button, Callout, Checkbox, CheckboxGroup, CircularProgressbar, Container, Datepicker, Divider, Drawer, Field, Flag, IconButton, KpiItem, LinearProgressbarBuffer, LinearProgressbarPercentage, Link, Loader, LoadingOverlay, Modal, NumberBadge, Overlay, Pagination, PasswordInput, Pincode, QuantitySelector, Radio, RadioGroup, Select, StatusBadge, StatusDot, StatusMessage, StatusNotification, StepperCompact, SegmentedControl, Tab, Tabs, Tag, Textarea, Textinput, Toaster, Toggle, ToggleGroup, Tooltip, };
package/dist/slot.js CHANGED
@@ -1,2 +1,2 @@
1
- import{I as n,J as s}from"./custom-element.js";function u(l,f,e,i,d){var r;n&&s();var t=(r=f.$$slots)==null?void 0:r[e],a=!1;t===!0&&(t=f[e==="default"?"children":e],a=!0),t===void 0||t(l,a?()=>i:i)}export{u as s};
1
+ import{I as l,J as n}from"./custom-element.js";function o(r,f,e,i,s){l&&n();var t=f.$$slots?.[e],a=!1;t===!0&&(t=f[e==="default"?"children":e],a=!0),t===void 0||t(r,a?()=>i:i)}export{o as s};
2
2
  //# sourceMappingURL=slot.js.map
package/dist/slot.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"slot.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/slot.js"],"sourcesContent":["import { hydrate_next, hydrating } from '../hydration.js';\n\n/**\n * @param {Comment} anchor\n * @param {Record<string, any>} $$props\n * @param {string} name\n * @param {Record<string, unknown>} slot_props\n * @param {null | ((anchor: Comment) => void)} fallback_fn\n */\nexport function slot(anchor, $$props, name, slot_props, fallback_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar slot_fn = $$props.$$slots?.[name];\n\t// Interop: Can use snippets to fill slots\n\tvar is_interop = false;\n\tif (slot_fn === true) {\n\t\tslot_fn = $$props[name === 'default' ? 'children' : name];\n\t\tis_interop = true;\n\t}\n\n\tif (slot_fn === undefined) {\n\t\tif (fallback_fn !== null) {\n\t\t\tfallback_fn(anchor);\n\t\t}\n\t} else {\n\t\tslot_fn(anchor, is_interop ? () => slot_props : slot_props);\n\t}\n}\n\n/**\n * @param {Record<string, any>} props\n * @returns {Record<string, boolean>}\n */\nexport function sanitize_slots(props) {\n\t/** @type {Record<string, boolean>} */\n\tconst sanitized = {};\n\tif (props.children) sanitized.default = true;\n\tfor (const key in props.$$slots) {\n\t\tsanitized[key] = true;\n\t}\n\treturn sanitized;\n}\n"],"names":["slot","anchor","$$props","name","slot_props","fallback_fn","hydrating","hydrate_next","slot_fn","_a","is_interop"],"mappings":"+CASO,SAASA,EAAKC,EAAQC,EAASC,EAAMC,EAAYC,EAAa,OAChEC,GACHC,EAAY,EAGb,IAAIC,GAAUC,EAAAP,EAAQ,UAAR,YAAAO,EAAkBN,GAE5BO,EAAa,GACbF,IAAY,KACfA,EAAUN,EAAQC,IAAS,UAAY,WAAaA,CAAI,EACxDO,EAAa,IAGVF,IAAY,QAKfA,EAAQP,EAAQS,EAAa,IAAMN,EAAaA,CAAU,CAE5D","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"slot.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/slot.js"],"sourcesContent":["import { hydrate_next, hydrating } from '../hydration.js';\n\n/**\n * @param {Comment} anchor\n * @param {Record<string, any>} $$props\n * @param {string} name\n * @param {Record<string, unknown>} slot_props\n * @param {null | ((anchor: Comment) => void)} fallback_fn\n */\nexport function slot(anchor, $$props, name, slot_props, fallback_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar slot_fn = $$props.$$slots?.[name];\n\t// Interop: Can use snippets to fill slots\n\tvar is_interop = false;\n\tif (slot_fn === true) {\n\t\tslot_fn = $$props[name === 'default' ? 'children' : name];\n\t\tis_interop = true;\n\t}\n\n\tif (slot_fn === undefined) {\n\t\tif (fallback_fn !== null) {\n\t\t\tfallback_fn(anchor);\n\t\t}\n\t} else {\n\t\tslot_fn(anchor, is_interop ? () => slot_props : slot_props);\n\t}\n}\n\n/**\n * @param {Record<string, any>} props\n * @returns {Record<string, boolean>}\n */\nexport function sanitize_slots(props) {\n\t/** @type {Record<string, boolean>} */\n\tconst sanitized = {};\n\tif (props.children) sanitized.default = true;\n\tfor (const key in props.$$slots) {\n\t\tsanitized[key] = true;\n\t}\n\treturn sanitized;\n}\n"],"names":["slot","anchor","$$props","name","slot_props","fallback_fn","hydrating","hydrate_next","slot_fn","is_interop"],"mappings":"+CASO,SAASA,EAAKC,EAAQC,EAASC,EAAMC,EAAYC,EAAa,CAChEC,GACHC,EAAY,EAGb,IAAIC,EAAUN,EAAQ,UAAUC,CAAI,EAEhCM,EAAa,GACbD,IAAY,KACfA,EAAUN,EAAQC,IAAS,UAAY,WAAaA,CAAI,EACxDM,EAAa,IAGVD,IAAY,QAKfA,EAAQP,EAAQQ,EAAa,IAAML,EAAaA,CAAU,CAE5D","x_google_ignoreList":[0]}
@@ -0,0 +1,2 @@
1
+ import{G as s,H as c,I as m,J as i}from"./custom-element.js";import{B as p}from"./if.js";function l(n,r,o){m&&i();var e=new p(n);s(()=>{var a=r()??null;e.ensure(a,a&&(t=>o(t,a)))},c)}export{l as c};
2
+ //# sourceMappingURL=svelte-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svelte-component.js","sources":["../node_modules/svelte/src/internal/client/dom/blocks/svelte-component.js"],"sourcesContent":["/** @import { TemplateNode, Dom } from '#client' */\nimport { EFFECT_TRANSPARENT } from '#client/constants';\nimport { block } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrating } from '../hydration.js';\nimport { BranchManager } from './branches.js';\n\n/**\n * @template P\n * @template {(props: P) => void} C\n * @param {TemplateNode} node\n * @param {() => C} get_component\n * @param {(anchor: TemplateNode, component: C) => Dom | void} render_fn\n * @returns {void}\n */\nexport function component(node, get_component, render_fn) {\n\tif (hydrating) {\n\t\thydrate_next();\n\t}\n\n\tvar branches = new BranchManager(node);\n\n\tblock(() => {\n\t\tvar component = get_component() ?? null;\n\t\tbranches.ensure(component, component && ((target) => render_fn(target, component)));\n\t}, EFFECT_TRANSPARENT);\n}\n"],"names":["component","node","get_component","render_fn","hydrating","hydrate_next","branches","BranchManager","block","target","EFFECT_TRANSPARENT"],"mappings":"yFAcO,SAASA,EAAUC,EAAMC,EAAeC,EAAW,CACrDC,GACHC,EAAY,EAGb,IAAIC,EAAW,IAAIC,EAAcN,CAAI,EAErCO,EAAM,IAAM,CACX,IAAIR,EAAYE,EAAa,GAAM,KACnCI,EAAS,OAAON,EAAWA,IAAeS,GAAWN,EAAUM,EAAQT,CAAS,EAAE,CACnF,EAAGU,CAAkB,CACtB","x_google_ignoreList":[0]}
package/dist/this.js CHANGED
@@ -1,2 +1,2 @@
1
- import{P as q,ay as B,q as S,ao as T,aB as c}from"./custom-element.js";function k(i,r){return i===r||(i==null?void 0:i[c])===r}function y(i={},r,a,h){return q(()=>{var s,f;return B(()=>{s=f,f=(h==null?void 0:h())||[],S(()=>{i!==a(...f)&&(r(i,...f),s&&k(a(...s),i)&&r(null,...s))})}),()=>{T(()=>{f&&k(a(...f),i)&&r(null,...f)})}}),i}export{y as b};
1
+ import{M as h,aB as k,q,a5 as B,aD as M}from"./custom-element.js";function u(r,i){return r===i||r?.[M]===i}function T(r={},i,f,b){return h(()=>{var a,s;return k(()=>{a=s,s=b?.()||[],q(()=>{r!==f(...s)&&(i(r,...s),a&&u(f(...a),r)&&i(null,...a))})}),()=>{B(()=>{s&&u(f(...s),r)&&i(null,...s)})}}),r}export{T as b};
2
2
  //# sourceMappingURL=this.js.map
package/dist/this.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"this.js","sources":["../node_modules/svelte/src/internal/client/dom/elements/bindings/this.js"],"sourcesContent":["import { STATE_SYMBOL } from '#client/constants';\nimport { effect, render_effect } from '../../../reactivity/effects.js';\nimport { untrack } from '../../../runtime.js';\nimport { queue_micro_task } from '../../task.js';\n\n/**\n * @param {any} bound_value\n * @param {Element} element_or_component\n * @returns {boolean}\n */\nfunction is_bound_this(bound_value, element_or_component) {\n\treturn (\n\t\tbound_value === element_or_component || bound_value?.[STATE_SYMBOL] === element_or_component\n\t);\n}\n\n/**\n * @param {any} element_or_component\n * @param {(value: unknown, ...parts: unknown[]) => void} update\n * @param {(...parts: unknown[]) => unknown} get_value\n * @param {() => unknown[]} [get_parts] Set if the this binding is used inside an each block,\n * \t\t\t\t\t\t\t\t\t\treturns all the parts of the each block context that are used in the expression\n * @returns {void}\n */\nexport function bind_this(element_or_component = {}, update, get_value, get_parts) {\n\teffect(() => {\n\t\t/** @type {unknown[]} */\n\t\tvar old_parts;\n\n\t\t/** @type {unknown[]} */\n\t\tvar parts;\n\n\t\trender_effect(() => {\n\t\t\told_parts = parts;\n\t\t\t// We only track changes to the parts, not the value itself to avoid unnecessary reruns.\n\t\t\tparts = get_parts?.() || [];\n\n\t\t\tuntrack(() => {\n\t\t\t\tif (element_or_component !== get_value(...parts)) {\n\t\t\t\t\tupdate(element_or_component, ...parts);\n\t\t\t\t\t// If this is an effect rerun (cause: each block context changes), then nullfiy the binding at\n\t\t\t\t\t// the previous position if it isn't already taken over by a different effect.\n\t\t\t\t\tif (old_parts && is_bound_this(get_value(...old_parts), element_or_component)) {\n\t\t\t\t\t\tupdate(null, ...old_parts);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\t// We cannot use effects in the teardown phase, we we use a microtask instead.\n\t\t\tqueue_micro_task(() => {\n\t\t\t\tif (parts && is_bound_this(get_value(...parts), element_or_component)) {\n\t\t\t\t\tupdate(null, ...parts);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t});\n\n\treturn element_or_component;\n}\n"],"names":["is_bound_this","bound_value","element_or_component","STATE_SYMBOL","bind_this","update","get_value","get_parts","effect","old_parts","parts","render_effect","untrack","queue_micro_task"],"mappings":"uEAUA,SAASA,EAAcC,EAAaC,EAAsB,CACzD,OACCD,IAAgBC,IAAwBD,GAAA,YAAAA,EAAcE,MAAkBD,CAE1E,CAUO,SAASE,EAAUF,EAAuB,CAAA,EAAIG,EAAQC,EAAWC,EAAW,CAClF,OAAAC,EAAO,IAAM,CAEZ,IAAIC,EAGAC,EAEJ,OAAAC,EAAc,IAAM,CACnBF,EAAYC,EAEZA,GAAQH,GAAA,YAAAA,MAAiB,CAAA,EAEzBK,EAAQ,IAAM,CACTV,IAAyBI,EAAU,GAAGI,CAAK,IAC9CL,EAAOH,EAAsB,GAAGQ,CAAK,EAGjCD,GAAaT,EAAcM,EAAU,GAAGG,CAAS,EAAGP,CAAoB,GAC3EG,EAAO,KAAM,GAAGI,CAAS,EAG5B,CAAC,CACF,CAAC,EAEM,IAAM,CAEZI,EAAiB,IAAM,CAClBH,GAASV,EAAcM,EAAU,GAAGI,CAAK,EAAGR,CAAoB,GACnEG,EAAO,KAAM,GAAGK,CAAK,CAEvB,CAAC,CACF,CACD,CAAC,EAEMR,CACR","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"this.js","sources":["../node_modules/svelte/src/internal/client/dom/elements/bindings/this.js"],"sourcesContent":["import { STATE_SYMBOL } from '#client/constants';\nimport { effect, render_effect } from '../../../reactivity/effects.js';\nimport { untrack } from '../../../runtime.js';\nimport { queue_micro_task } from '../../task.js';\n\n/**\n * @param {any} bound_value\n * @param {Element} element_or_component\n * @returns {boolean}\n */\nfunction is_bound_this(bound_value, element_or_component) {\n\treturn (\n\t\tbound_value === element_or_component || bound_value?.[STATE_SYMBOL] === element_or_component\n\t);\n}\n\n/**\n * @param {any} element_or_component\n * @param {(value: unknown, ...parts: unknown[]) => void} update\n * @param {(...parts: unknown[]) => unknown} get_value\n * @param {() => unknown[]} [get_parts] Set if the this binding is used inside an each block,\n * \t\t\t\t\t\t\t\t\t\treturns all the parts of the each block context that are used in the expression\n * @returns {void}\n */\nexport function bind_this(element_or_component = {}, update, get_value, get_parts) {\n\teffect(() => {\n\t\t/** @type {unknown[]} */\n\t\tvar old_parts;\n\n\t\t/** @type {unknown[]} */\n\t\tvar parts;\n\n\t\trender_effect(() => {\n\t\t\told_parts = parts;\n\t\t\t// We only track changes to the parts, not the value itself to avoid unnecessary reruns.\n\t\t\tparts = get_parts?.() || [];\n\n\t\t\tuntrack(() => {\n\t\t\t\tif (element_or_component !== get_value(...parts)) {\n\t\t\t\t\tupdate(element_or_component, ...parts);\n\t\t\t\t\t// If this is an effect rerun (cause: each block context changes), then nullfiy the binding at\n\t\t\t\t\t// the previous position if it isn't already taken over by a different effect.\n\t\t\t\t\tif (old_parts && is_bound_this(get_value(...old_parts), element_or_component)) {\n\t\t\t\t\t\tupdate(null, ...old_parts);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t});\n\n\t\treturn () => {\n\t\t\t// We cannot use effects in the teardown phase, we we use a microtask instead.\n\t\t\tqueue_micro_task(() => {\n\t\t\t\tif (parts && is_bound_this(get_value(...parts), element_or_component)) {\n\t\t\t\t\tupdate(null, ...parts);\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t});\n\n\treturn element_or_component;\n}\n"],"names":["is_bound_this","bound_value","element_or_component","STATE_SYMBOL","bind_this","update","get_value","get_parts","effect","old_parts","parts","render_effect","untrack","queue_micro_task"],"mappings":"kEAUA,SAASA,EAAcC,EAAaC,EAAsB,CACzD,OACCD,IAAgBC,GAAwBD,IAAcE,CAAY,IAAMD,CAE1E,CAUO,SAASE,EAAUF,EAAuB,CAAA,EAAIG,EAAQC,EAAWC,EAAW,CAClF,OAAAC,EAAO,IAAM,CAEZ,IAAIC,EAGAC,EAEJ,OAAAC,EAAc,IAAM,CACnBF,EAAYC,EAEZA,EAAQH,IAAS,GAAQ,CAAA,EAEzBK,EAAQ,IAAM,CACTV,IAAyBI,EAAU,GAAGI,CAAK,IAC9CL,EAAOH,EAAsB,GAAGQ,CAAK,EAGjCD,GAAaT,EAAcM,EAAU,GAAGG,CAAS,EAAGP,CAAoB,GAC3EG,EAAO,KAAM,GAAGI,CAAS,EAG5B,CAAC,CACF,CAAC,EAEM,IAAM,CAEZI,EAAiB,IAAM,CAClBH,GAASV,EAAcM,EAAU,GAAGI,CAAK,EAAGR,CAAoB,GACnEG,EAAO,KAAM,GAAGK,CAAK,CAEvB,CAAC,CACF,CACD,CAAC,EAEMR,CACR","x_google_ignoreList":[0]}