@credenza3/passport-sui 0.2.0 → 0.2.1-alpha.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.
- package/dist/{App-BmGPvCT5.js → App-9Yt0fLo_.js} +18 -18
- package/dist/{App-BmGPvCT5.js.map → App-9Yt0fLo_.js.map} +1 -1
- package/dist/{Button-DL7sN6s8.js → Button-zK2HdlEH.js} +4 -4
- package/dist/{Button-DL7sN6s8.js.map → Button-zK2HdlEH.js.map} +1 -1
- package/dist/{ButtonBack-CNnA40BD.js → ButtonBack-CwezCDmC.js} +4 -4
- package/dist/{ButtonBack-CNnA40BD.js.map → ButtonBack-CwezCDmC.js.map} +1 -1
- package/dist/{ButtonLink-07lgAShG.js → ButtonLink-De6uI_v0.js} +3 -3
- package/dist/{ButtonLink-07lgAShG.js.map → ButtonLink-De6uI_v0.js.map} +1 -1
- package/dist/{ConfirmAccount-B6uf6Hqp.js → ConfirmAccount-yxhIaEuY.js} +9 -9
- package/dist/{ConfirmAccount-B6uf6Hqp.js.map → ConfirmAccount-yxhIaEuY.js.map} +1 -1
- package/dist/{ContentHeader-DfbK4Btn.js → ContentHeader-DEEEVdU1.js} +3 -3
- package/dist/{ContentHeader-DfbK4Btn.js.map → ContentHeader-DEEEVdU1.js.map} +1 -1
- package/dist/{Error-DAE-qsdG.js → Error-BQWTujuf.js} +5 -5
- package/dist/{Error-DAE-qsdG.js.map → Error-BQWTujuf.js.map} +1 -1
- package/dist/{Input-8F3jbTLa.js → Input-DZtVDb-g.js} +4 -4
- package/dist/{Input-8F3jbTLa.js.map → Input-DZtVDb-g.js.map} +1 -1
- package/dist/{Label-CejSbeGa.js → Label-BlXNFlEg.js} +3 -3
- package/dist/{Label-CejSbeGa.js.map → Label-BlXNFlEg.js.map} +1 -1
- package/dist/{Loader-DvRyxHzS.js → Loader-CYTyaD5Q.js} +3 -3
- package/dist/{Loader-DvRyxHzS.js.map → Loader-CYTyaD5Q.js.map} +1 -1
- package/dist/{Login-Br2qUfMi.js → Login-2EuD58pX.js} +9 -9
- package/dist/{Login-Br2qUfMi.js.map → Login-2EuD58pX.js.map} +1 -1
- package/dist/{Logout-1KCh8M-4.js → Logout-23i6x_IY.js} +6 -6
- package/dist/{Logout-1KCh8M-4.js.map → Logout-23i6x_IY.js.map} +1 -1
- package/dist/{Nav-D-ieFwGe.js → Nav-s_f45WBl.js} +5 -5
- package/dist/{Nav-D-ieFwGe.js.map → Nav-s_f45WBl.js.map} +1 -1
- package/dist/{PassportId-D3P6-8OQ.js → PassportId-D34Mpkys.js} +7 -7
- package/dist/{PassportId-D3P6-8OQ.js.map → PassportId-D34Mpkys.js.map} +1 -1
- package/dist/{Payment-43aZq5oU.js → Payment-DTUr8B6Z.js} +11 -11
- package/dist/{Payment-43aZq5oU.js.map → Payment-DTUr8B6Z.js.map} +1 -1
- package/dist/{PaymentResult-C-4l9cee.js → PaymentResult-CjVw_qMT.js} +4 -4
- package/dist/{PaymentResult-C-4l9cee.js.map → PaymentResult-CjVw_qMT.js.map} +1 -1
- package/dist/{Profile-CpUs4W-I.js → Profile-BrK8JMPe.js} +7 -7
- package/dist/{Profile-CpUs4W-I.js.map → Profile-BrK8JMPe.js.map} +1 -1
- package/dist/{ProgressVideo-x7Aiq4kE.js → ProgressVideo-BPJ0n_bS.js} +6 -6
- package/dist/{ProgressVideo-x7Aiq4kE.js.map → ProgressVideo-BPJ0n_bS.js.map} +1 -1
- package/dist/{ProgressVideo.service-4qBL2Uoj.js → ProgressVideo.service-CNFQYBrU.js} +2 -2
- package/dist/{ProgressVideo.service-4qBL2Uoj.js.map → ProgressVideo.service-CNFQYBrU.js.map} +1 -1
- package/dist/{RichAlert-B_TRkN4S.js → RichAlert-BTBvPnl-.js} +5 -5
- package/dist/{RichAlert-B_TRkN4S.js.map → RichAlert-BTBvPnl-.js.map} +1 -1
- package/dist/{Scanner-BT6M48bA.js → Scanner-Ci6WuRAH.js} +7 -7
- package/dist/{Scanner-BT6M48bA.js.map → Scanner-Ci6WuRAH.js.map} +1 -1
- package/dist/{SendTokens-rl-b6Dy_.js → SendTokens-B_P4ttKI.js} +7 -7
- package/dist/{SendTokens-rl-b6Dy_.js.map → SendTokens-B_P4ttKI.js.map} +1 -1
- package/dist/{Sign-DmOxX0k9.js → Sign-DeyX7zQV.js} +7 -7
- package/dist/{Sign-DmOxX0k9.js.map → Sign-DeyX7zQV.js.map} +1 -1
- package/dist/{Stripe.service-S_yB9iSY.js → Stripe.service-CkjagyRm.js} +3 -3
- package/dist/{Stripe.service-S_yB9iSY.js.map → Stripe.service-CkjagyRm.js.map} +1 -1
- package/dist/{UpdateProfile-B13uUv8f.js → UpdateProfile-2Rk57DEr.js} +10 -10
- package/dist/{UpdateProfile-B13uUv8f.js.map → UpdateProfile-2Rk57DEr.js.map} +1 -1
- package/dist/{UserInfo-Bkai_miq.js → UserInfo-CXbgHvBy.js} +4 -4
- package/dist/{UserInfo-Bkai_miq.js.map → UserInfo-CXbgHvBy.js.map} +1 -1
- package/dist/{Wallet-CP-oKIY0.js → Wallet-BGzcpzoe.js} +8 -8
- package/dist/{Wallet-CP-oKIY0.js.map → Wallet-BGzcpzoe.js.map} +1 -1
- package/dist/{each-91breOGe.js → each-BZ-OcbLT.js} +2 -2
- package/dist/{each-91breOGe.js.map → each-BZ-OcbLT.js.map} +1 -1
- package/dist/{html-BrZjXjPt.js → html-CTtp1KP9.js} +3 -3
- package/dist/{html-BrZjXjPt.js.map → html-CTtp1KP9.js.map} +1 -1
- package/dist/{index-DRZZK1eB.js → index-Gs5EZ6VP.js} +7926 -7926
- package/dist/index-Gs5EZ6VP.js.map +1 -0
- package/dist/{index-client-DciWmHDv.js → index-client-BAaDltqw.js} +2 -2
- package/dist/{index-client-DciWmHDv.js.map → index-client-BAaDltqw.js.map} +1 -1
- package/dist/{input-Cu8MpFOR.js → input-BkRWsbst.js} +2 -2
- package/dist/{input-Cu8MpFOR.js.map → input-BkRWsbst.js.map} +1 -1
- package/dist/{legacy-V5eP7bJA.js → legacy-CgTG0fzr.js} +2 -2
- package/dist/{legacy-V5eP7bJA.js.map → legacy-CgTG0fzr.js.map} +1 -1
- package/dist/passport.es.js +1 -1
- package/dist/passport.umd.js +82 -82
- package/dist/passport.umd.js.map +1 -1
- package/dist/{socket-io-lyXpKbjF.js → socket-io-BbfgVEmD.js} +2 -2
- package/dist/{socket-io-lyXpKbjF.js.map → socket-io-BbfgVEmD.js.map} +1 -1
- package/package.json +4 -1
- package/dist/index-DRZZK1eB.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Wallet-
|
|
1
|
+
{"version":3,"file":"Wallet-BGzcpzoe.js","sources":["../../ui/main/wallet/ButtonGroup.svelte","../../ui/main/wallet/Wallet.svelte","../src/app/pages/wallet/Wallet.svelte"],"sourcesContent":["<script lang=\"ts\">\n export let selected: string | undefined = undefined\n export let minStoredValueToPurchase: number = 0\n export let maxStoredValueToPurchase: number = 100\n\n let isInputShown = false\n let active = selected\n\n const selectItems = [\n { value: '10', name: '10' },\n { value: '25', name: '25' },\n { value: '50', name: '50' },\n { value: 'CUSTOM', name: 'Custom' },\n ]\n const handleChangeButton = (value: string) => {\n active = value\n if (value === 'CUSTOM') {\n isInputShown = true\n selected = ''\n return\n }\n isInputShown = false\n selected = value\n }\n const handleChangeInput = (e: Event) => {\n const target = e.target as HTMLSelectElement | HTMLInputElement\n target.value = target.value.replace(/[,.-]/g, '')\n if (+target.value > maxStoredValueToPurchase) {\n selected = maxStoredValueToPurchase.toString()\n return\n }\n selected = target.value\n }\n</script>\n\n<div>\n <div class=\"crtw-flex crtw-flex-col\">\n Select amount\n <div class=\"crtw-inline-flex crtw-w-full\" role=\"group\">\n {#each selectItems as item}\n <button\n on:click={() => handleChangeButton(item.value)}\n class=\"crtw-w-full crtw-h-[30px] crtw-text-sm crtw-border hover:crtw-bg-gray-100 hover:crtw-text-blue-800 first:crtw-rounded-l last:crtw-rounded-r\"\n class:crtw-border-blue-800={item.value === active}\n class:crtw-z-10={item.value === active}\n >\n {item.name}\n </button>\n {/each}\n </div>\n {#if isInputShown}\n <input\n class=\"crtw-appearance-none focus:crtw-outline-0 crtw-w-full crtw-h-9 crtw-mt-4 crtw-px-5 crtw-text-base crtw-border crtw-border-gray-300 crtw-rounded focus:crtw-border-blue-800 hover:crtw-bg-gray-100\"\n type=\"number\"\n min=\"1\"\n max=\"100\"\n bind:value={selected}\n on:input={handleChangeInput}\n />\n {#if minStoredValueToPurchase}\n <div class=\"crtw-text-xs crtw-text-gray-400 crtw-mt-1\">\n Minimum purchase amount is {minStoredValueToPurchase}\n </div>\n {/if}\n {/if}\n </div>\n</div>\n","<script lang=\"ts\">\n import ContentHeader from \"../shared/ContentHeader.svelte\";\n import Button from \"../shared/inputs/button/Button.svelte\";\n import ButtonGroup from \"./ButtonGroup.svelte\";\n\n export let selected: string;\n export let options: {\n title: string;\n description: string;\n onSendClick: () => void;\n sendValueButtonText: string;\n isSendValueDisabled: boolean;\n onPaymentClick: () => void;\n minStoredValueToPurchase?: number;\n maxStoredValueToPurchase?: number;\n };\n\n let { title, description, onSendClick, sendValueButtonText, onPaymentClick, minStoredValueToPurchase = 0, maxStoredValueToPurchase = 100 } =\n options;\n\n $: isSendValueDisabled = options.isSendValueDisabled;\n</script>\n\n<div class=\"crtw-w-full crtw-px-2.5\">\n <ContentHeader text={title} {description} />\n <ButtonGroup bind:selected {minStoredValueToPurchase} {maxStoredValueToPurchase}/>\n <div class=\"crtw-h-4\" />\n <Button\n text=\"Confirm purchase\"\n disabled={!selected || (!!minStoredValueToPurchase && +selected < minStoredValueToPurchase)}\n onClick={onPaymentClick}\n />\n <div class=\"crtw-m-3.5\" />\n <Button\n onClick={onSendClick}\n text={sendValueButtonText}\n disabled={isSendValueDisabled}\n />\n</div>\n","<script lang=\"ts\">\n import { pageStore, pageOptsStore, fn, suiPackageStore } from '@packages/stores'\n import { Pages } from '@packages/utils/enums'\n import { Wallet } from '@packages/ui'\n import { onMount } from 'svelte'\n import { get } from 'svelte/store'\n import { getClientConfigByClientId } from '@lib/clients'\n import { configStore } from '@src/stores/config'\n\n const { getBalance } = get(fn)\n\n const { maxStoredValueToPurchase, minStoredValueToPurchase } = getClientConfigByClientId(get(configStore).clientId)\n\n let balance: string = ''\n\n onMount(async () => {\n balance = await getBalance()\n })\n\n let selected: string = '10'\n\n const goToPayment = () => {\n pageOptsStore.set({\n subtitle: `Purchase stored value`,\n payments: {\n credenzaStoredValue: {\n disabled: true,\n },\n },\n assets: [\n {\n packageId: get(suiPackageStore),\n type: 'cred',\n amount: +selected,\n },\n ],\n })\n pageStore.set(Pages.PAYMENT)\n }\n</script>\n\n<Wallet\n bind:selected\n options={{\n title: `buy stored value`,\n description: `Buy/Send stored value for purchases throughout this website.`,\n onSendClick: () => pageStore.set(Pages.SEND_TOKENS),\n sendValueButtonText: `Send stored value`,\n isSendValueDisabled: !balance,\n onPaymentClick: goToPayment,\n maxStoredValueToPurchase,\n minStoredValueToPurchase,\n }}\n/>\n"],"names":["selected","minStoredValueToPurchase","maxStoredValueToPurchase","isInputShown","active","handleChangeButton","value","$.set","handleChangeInput","target","$.each","div_2","selectItems","item","$.untrack","$.get","$$render","consequent","consequent_1","$.prop","$$props","options","title","description","onSendClick","sendValueButtonText","onPaymentClick","isSendValueDisabled","__awaiter","thisArg","_arguments","P","generator","getBalance","get","fn","getClientConfigByClientId","configStore","balance","onMount","goToPayment","pageOptsStore","suiPackageStore","pageStore","Pages"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { h as D, a as re, b as ne, J as X, K as fe, ao as le, H as ie, r as G, s as g, d as z, g as R, ad as se, ah as ue, p as K, aq as te, ap as ve, al as W, a3 as de, a8 as Z, m as _e, f as P, e as Q, o as $, t as oe, bv as L, bw as F, as as k, bx as B, by as ce, af as he, bz as pe, ak as Ee, bA as me, a5 as Ae, a6 as Te, bB as y, q as be, bC as Ie } from "./index-
|
|
1
|
+
import { h as D, a as re, b as ne, J as X, K as fe, ao as le, H as ie, r as G, s as g, d as z, g as R, ad as se, ah as ue, p as K, aq as te, ap as ve, al as W, a3 as de, a8 as Z, m as _e, f as P, e as Q, o as $, t as oe, bv as L, bw as F, as as k, bx as B, by as ce, af as he, bz as pe, ak as Ee, bA as me, a5 as Ae, a6 as Te, bB as y, q as be, bC as Ie } from "./index-Gs5EZ6VP.js";
|
|
2
2
|
function Ne(i, r) {
|
|
3
3
|
return r;
|
|
4
4
|
}
|
|
@@ -263,4 +263,4 @@ export {
|
|
|
263
263
|
Me as e,
|
|
264
264
|
Ne as i
|
|
265
265
|
};
|
|
266
|
-
//# sourceMappingURL=each-
|
|
266
|
+
//# sourceMappingURL=each-BZ-OcbLT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"each-91breOGe.js","sources":["../../../node_modules/.pnpm/svelte@5.38.3/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\tremove_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 = remove_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(remove_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","remove_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]}
|
|
1
|
+
{"version":3,"file":"each-BZ-OcbLT.js","sources":["../../../node_modules/.pnpm/svelte@5.38.3/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\tremove_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 = remove_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(remove_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","remove_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]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { D as g, h as n, a as l, a5 as u, b7 as y, g as h, ad as p, af as b, ai as w, ag as O, s as R, a6 as f } from "./index-
|
|
2
|
-
import { y as m, z as D } from "./legacy-
|
|
1
|
+
import { D as g, h as n, a as l, a5 as u, b7 as y, g as h, ad as p, af as b, ai as w, ag as O, s as R, a6 as f } from "./index-Gs5EZ6VP.js";
|
|
2
|
+
import { y as m, z as D } from "./legacy-CgTG0fzr.js";
|
|
3
3
|
function C(c, v, i = !1, _ = !1, E = !1) {
|
|
4
4
|
var o = c, t = "";
|
|
5
5
|
g(() => {
|
|
@@ -50,4 +50,4 @@ function C(c, v, i = !1, _ = !1, E = !1) {
|
|
|
50
50
|
export {
|
|
51
51
|
C as h
|
|
52
52
|
};
|
|
53
|
-
//# sourceMappingURL=html-
|
|
53
|
+
//# sourceMappingURL=html-CTtp1KP9.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-
|
|
1
|
+
{"version":3,"file":"html-CTtp1KP9.js","sources":["../../../node_modules/.pnpm/svelte@5.38.3/node_modules/svelte/src/internal/client/dom/blocks/html.js"],"sourcesContent":["/** @import { Effect, TemplateNode } from '#client' */\nimport { FILENAME, HYDRATION_ERROR } from '../../../../constants.js';\nimport { remove_effect_dom, template_effect } from '../../reactivity/effects.js';\nimport { hydrate_next, hydrate_node, hydrating, set_hydrate_node } from '../hydration.js';\nimport { create_fragment_from_html } from '../reconciler.js';\nimport { assign_nodes } from '../template.js';\nimport * as w from '../../warnings.js';\nimport { hash, sanitize_location } from '../../../../utils.js';\nimport { DEV } from 'esm-env';\nimport { dev_current_component_function } from '../../context.js';\nimport { get_first_child, get_next_sibling } from '../operations.js';\nimport { active_effect } from '../../runtime.js';\nimport { COMMENT_NODE } from '#client/constants';\n\n/**\n * @param {Element} element\n * @param {string | null} server_hash\n * @param {string} value\n */\nfunction check_hash(element, server_hash, value) {\n\tif (!server_hash || server_hash === hash(String(value ?? ''))) return;\n\n\tlet location;\n\n\t// @ts-expect-error\n\tconst loc = element.__svelte_meta?.loc;\n\tif (loc) {\n\t\tlocation = `near ${loc.file}:${loc.line}:${loc.column}`;\n\t} else if (dev_current_component_function?.[FILENAME]) {\n\t\tlocation = `in ${dev_current_component_function[FILENAME]}`;\n\t}\n\n\tw.hydration_html_changed(sanitize_location(location));\n}\n\n/**\n * @param {Element | Text | Comment} node\n * @param {() => string} get_value\n * @param {boolean} [svg]\n * @param {boolean} [mathml]\n * @param {boolean} [skip_warning]\n * @returns {void}\n */\nexport function html(node, get_value, svg = false, mathml = false, skip_warning = false) {\n\tvar anchor = node;\n\n\tvar value = '';\n\n\ttemplate_effect(() => {\n\t\tvar effect = /** @type {Effect} */ (active_effect);\n\n\t\tif (value === (value = get_value() ?? '')) {\n\t\t\tif (hydrating) hydrate_next();\n\t\t\treturn;\n\t\t}\n\n\t\tif (effect.nodes_start !== null) {\n\t\t\tremove_effect_dom(effect.nodes_start, /** @type {TemplateNode} */ (effect.nodes_end));\n\t\t\teffect.nodes_start = effect.nodes_end = null;\n\t\t}\n\n\t\tif (value === '') return;\n\n\t\tif (hydrating) {\n\t\t\t// We're deliberately not trying to repair mismatches between server and client,\n\t\t\t// as it's costly and error-prone (and it's an edge case to have a mismatch anyway)\n\t\t\tvar hash = /** @type {Comment} */ (hydrate_node).data;\n\t\t\tvar next = hydrate_next();\n\t\t\tvar last = next;\n\n\t\t\twhile (\n\t\t\t\tnext !== null &&\n\t\t\t\t(next.nodeType !== COMMENT_NODE || /** @type {Comment} */ (next).data !== '')\n\t\t\t) {\n\t\t\t\tlast = next;\n\t\t\t\tnext = /** @type {TemplateNode} */ (get_next_sibling(next));\n\t\t\t}\n\n\t\t\tif (next === null) {\n\t\t\t\tw.hydration_mismatch();\n\t\t\t\tthrow HYDRATION_ERROR;\n\t\t\t}\n\n\t\t\tif (DEV && !skip_warning) {\n\t\t\t\tcheck_hash(/** @type {Element} */ (next.parentNode), hash, value);\n\t\t\t}\n\n\t\t\tassign_nodes(hydrate_node, last);\n\t\t\tanchor = set_hydrate_node(next);\n\t\t\treturn;\n\t\t}\n\n\t\tvar html = value + '';\n\t\tif (svg) html = `<svg>${html}</svg>`;\n\t\telse if (mathml) html = `<math>${html}</math>`;\n\n\t\t// Don't use create_fragment_with_script_from_html here because that would mean script tags are executed.\n\t\t// @html is basically `.innerHTML = ...` and that doesn't execute scripts either due to security reasons.\n\t\t/** @type {DocumentFragment | Element} */\n\t\tvar node = create_fragment_from_html(html);\n\n\t\tif (svg || mathml) {\n\t\t\tnode = /** @type {Element} */ (get_first_child(node));\n\t\t}\n\n\t\tassign_nodes(\n\t\t\t/** @type {TemplateNode} */ (get_first_child(node)),\n\t\t\t/** @type {TemplateNode} */ (node.lastChild)\n\t\t);\n\n\t\tif (svg || mathml) {\n\t\t\twhile (get_first_child(node)) {\n\t\t\t\tanchor.before(/** @type {Node} */ (get_first_child(node)));\n\t\t\t}\n\t\t} else {\n\t\t\tanchor.before(node);\n\t\t}\n\t});\n}\n"],"names":["html","node","get_value","svg","mathml","skip_warning","anchor","value","template_effect","effect","active_effect","hydrating","hydrate_next","remove_effect_dom","hydrate_node","next","last","COMMENT_NODE","get_next_sibling","w.hydration_mismatch","HYDRATION_ERROR","assign_nodes","set_hydrate_node","create_fragment_from_html","get_first_child"],"mappings":";;AA2CO,SAASA,EAAKC,GAAMC,GAAWC,IAAM,IAAOC,IAAS,IAAOC,IAAe,IAAO;AACxF,MAAIC,IAASL,GAETM,IAAQ;AAEZ,EAAAC,EAAgB,MAAM;AACrB,QAAIC;AAAA;AAAA,MAAgCC;AAAA;AAEpC,QAAIH,OAAWA,IAAQL,EAAS,KAAM,KAAK;AAC1C,MAAIS,KAAWC,EAAY;AAC3B;AAAA,IACD;AAOA,QALIH,EAAO,gBAAgB,SAC1BI;AAAA,MAAkBJ,EAAO;AAAA;AAAA,MAA0CA,EAAO;AAAA,IAAS,GACnFA,EAAO,cAAcA,EAAO,YAAY,OAGrCF,MAAU,IAEd;AAAA,UAAII,GAAW;AAGoB,QAACG,EAAc;AAIjD,iBAHIC,IAAOH,EAAY,GACnBI,IAAOD,GAGVA,MAAS,SACRA,EAAK,aAAaE;AAAA,QAAwCF,EAAM,SAAS;AAE1E,UAAAC,IAAOD,GACPA;AAAA,UAAoCG,EAAiBH,CAAI;AAG1D,YAAIA,MAAS;AACZI,gBAAAA,EAAoB,GACdC;AAOP,QAAAC,EAAaP,GAAcE,CAAI,GAC/BV,IAASgB,EAAiBP,CAAI;AAC9B;AAAA,MACD;AAEA,UAAIf,IAAOO,IAAQ;AACnB,MAAIJ,IAAKH,IAAO,QAAQA,CAAI,WACnBI,MAAQJ,IAAO,SAASA,CAAI;AAKrC,UAAIC,IAAOsB,EAA0BvB,CAAI;AAWzC,WATIG,KAAOC,OACVH;AAAA,MAA+BuB,EAAgBvB,CAAI,IAGpDoB;AAAA;AAAA,QAC8BG,EAAgBvB,CAAI;AAAA;AAAA,QACpBA,EAAK;AAAA,MACrC,GAEME,KAAOC;AACV,eAAOoB,EAAgBvB,CAAI;AAC1B,UAAAK,EAAO;AAAA;AAAA,YAA4BkB,EAAgBvB,CAAI;AAAA,UAAC;AAAA;AAGzD,QAAAK,EAAO,OAAOL,CAAI;AAAA;AAAA,EAEpB,CAAC;AACF;","x_google_ignoreList":[0]}
|