From b5e0023e3a6f947790870841a5cea48e39498cb1 Mon Sep 17 00:00:00 2001 From: Arthur Clemens Date: Fri, 3 Mar 2023 15:06:15 +0100 Subject: [PATCH] Fix search/replace --- packages/demo-dialogic-mithril-router/package.json | 4 ++-- packages/demo-dialogic-mithril/package.json | 6 +++--- packages/demo-dialogic-nextjs-router/package.json | 4 ++-- packages/demo-dialogic-react-router/package.json | 6 +++--- packages/demo-dialogic-react/package.json | 6 +++--- packages/demo-dialogic-svelte-router/package.json | 6 +++--- packages/demo-dialogic-svelte/package.json | 6 +++--- .../demo-dialogic-sveltekit-router/package.json | 6 +++--- packages/dialogic-hooks/package.json | 4 ++-- packages/dialogic-mithril/dist/index.d.ts | 4 ++-- packages/dialogic-mithril/package.json | 6 +++--- packages/dialogic-react/dist/dialogic-react.cjs | 14 ++++++++++++-- .../dialogic-react/dist/dialogic-react.cjs.map | 2 +- .../dialogic-react/dist/dialogic-react.module.js | 14 ++++++++++++-- .../dist/dialogic-react.module.js.map | 2 +- packages/dialogic-react/dist/dialogic-react.umd.js | 14 ++++++++++++-- .../dialogic-react/dist/dialogic-react.umd.js.map | 2 +- packages/dialogic-react/package.json | 6 +++--- packages/dialogic-svelte-ts/package.json | 4 ++-- packages/dialogic-svelte/package.json | 4 ++-- packages/dialogic/package.json | 2 +- packages/test-dialogic-mithril/package.json | 6 +++--- packages/test-dialogic-react/package.json | 6 +++--- packages/test-dialogic-svelte/package.json | 6 +++--- packages/test-dialogic/package.json | 4 ++-- 25 files changed, 87 insertions(+), 57 deletions(-) diff --git a/packages/demo-dialogic-mithril-router/package.json b/packages/demo-dialogic-mithril-router/package.json index b7e30e1e..56c9cde1 100644 --- a/packages/demo-dialogic-mithril-router/package.json +++ b/packages/demo-dialogic-mithril-router/package.json @@ -2,7 +2,7 @@ "name": "demo-dialogic-mithril-router", "private": true, "description": "Dialogic for React demo with React Router", - "version": ""0.13.10"", + "version": "0.13.10", "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", "dev": "vite", @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "dialogic-mithril": ""0.13.10"", + "dialogic-mithril": "0.13.10", "mithril": "^2.2.2", "mithril-hooks": "^0.7.1" }, diff --git a/packages/demo-dialogic-mithril/package.json b/packages/demo-dialogic-mithril/package.json index b515974c..6f193d9f 100644 --- a/packages/demo-dialogic-mithril/package.json +++ b/packages/demo-dialogic-mithril/package.json @@ -2,7 +2,7 @@ "name": "demo-dialogic-mithril", "private": true, "description": "Dialogic for Mithril demo", - "version": ""0.13.10"", + "version": "0.13.10", "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", "dev": "vite", @@ -11,8 +11,8 @@ "github": "npm run build && node ./scripts/github.js" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-mithril": ""0.13.10"", + "dialogic": "0.13.10", + "dialogic-mithril": "0.13.10", "mithril": "^2.2.2", "mithril-hooks": "^0.7.1" }, diff --git a/packages/demo-dialogic-nextjs-router/package.json b/packages/demo-dialogic-nextjs-router/package.json index 99e7e96c..83775592 100644 --- a/packages/demo-dialogic-nextjs-router/package.json +++ b/packages/demo-dialogic-nextjs-router/package.json @@ -1,6 +1,6 @@ { "name": "demo-dialogic-nextjs-router", - "version": ""0.13.10"", + "version": "0.13.10", "private": true, "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", @@ -10,7 +10,7 @@ "lint": "next lint" }, "dependencies": { - "dialogic-react": ""0.13.10"", + "dialogic-react": "0.13.10", "next": "13.2.3", "react": "18.2.0", "react-dom": "18.2.0" diff --git a/packages/demo-dialogic-react-router/package.json b/packages/demo-dialogic-react-router/package.json index e45893c3..44a33d7e 100644 --- a/packages/demo-dialogic-react-router/package.json +++ b/packages/demo-dialogic-react-router/package.json @@ -2,7 +2,7 @@ "name": "demo-dialogic-react-router", "private": true, "description": "Dialogic for React demo with React Router", - "version": ""0.13.10"", + "version": "0.13.10", "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", "dev": "vite", @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "dialogic-react": ""0.13.10"", + "dialogic-react": "0.13.10", "react": "18.2.0", "react-dom": "18.2.0", "react-router-dom": "6.8.2" @@ -18,7 +18,7 @@ "devDependencies": { "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", - "dialogic": ""0.13.10"", + "dialogic": "0.13.10", "typescript": "^4.9.5", "vite": "^4.1.4" }, diff --git a/packages/demo-dialogic-react/package.json b/packages/demo-dialogic-react/package.json index 96aa073f..cb160cd9 100644 --- a/packages/demo-dialogic-react/package.json +++ b/packages/demo-dialogic-react/package.json @@ -2,7 +2,7 @@ "name": "demo-dialogic-react", "private": true, "description": "Dialogic for React demo", - "version": ""0.13.10"", + "version": "0.13.10", "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", "dev": "vite", @@ -11,14 +11,14 @@ "github": "npm run build && node ./scripts/github.js" }, "dependencies": { - "dialogic-react": ""0.13.10"", + "dialogic-react": "0.13.10", "react": "18.2.0", "react-dom": "18.2.0" }, "devDependencies": { "@types/react": "^18.0.28", "@types/react-dom": "^18.0.11", - "dialogic": ""0.13.10"", + "dialogic": "0.13.10", "shelljs": "^0.8.5", "typescript": "^4.9.5", "vite": "^4.1.4" diff --git a/packages/demo-dialogic-svelte-router/package.json b/packages/demo-dialogic-svelte-router/package.json index 0bf5a81f..1efbee59 100644 --- a/packages/demo-dialogic-svelte-router/package.json +++ b/packages/demo-dialogic-svelte-router/package.json @@ -2,7 +2,7 @@ "name": "demo-dialogic-svelte-router", "private": true, "description": "Dialogic for Svelte router demo", - "version": ""0.13.10"", + "version": "0.13.10", "license": "MIT", "type": "module", "scripts": { @@ -12,8 +12,8 @@ "preview": "vite preview" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-svelte": ""0.13.10"", + "dialogic": "0.13.10", + "dialogic-svelte": "0.13.10", "svelte-spa-router": "3.3.0" }, "devDependencies": { diff --git a/packages/demo-dialogic-svelte/package.json b/packages/demo-dialogic-svelte/package.json index 58d86a8b..015533ca 100644 --- a/packages/demo-dialogic-svelte/package.json +++ b/packages/demo-dialogic-svelte/package.json @@ -2,7 +2,7 @@ "name": "demo-dialogic-svelte", "private": true, "description": "Dialogic for Svelte demo", - "version": ""0.13.10"", + "version": "0.13.10", "license": "MIT", "type": "module", "scripts": { @@ -13,8 +13,8 @@ "github": "npm run build && node ./scripts/github.js" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-svelte": ""0.13.10"" + "dialogic": "0.13.10", + "dialogic-svelte": "0.13.10" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^2.0.3", diff --git a/packages/demo-dialogic-sveltekit-router/package.json b/packages/demo-dialogic-sveltekit-router/package.json index 26ca24ba..636353a2 100644 --- a/packages/demo-dialogic-sveltekit-router/package.json +++ b/packages/demo-dialogic-sveltekit-router/package.json @@ -1,6 +1,6 @@ { "name": "demo-dialogic-sveltekit-router", - "version": ""0.13.10"", + "version": "0.13.10", "private": true, "type": "module", "scripts": { @@ -20,7 +20,7 @@ }, "dependencies": { "@lukeed/uuid": "^2.0.0", - "dialogic": ""0.13.10"", - "dialogic-svelte-ts": ""0.13.10"" + "dialogic": "0.13.10", + "dialogic-svelte-ts": "0.13.10" } } diff --git a/packages/dialogic-hooks/package.json b/packages/dialogic-hooks/package.json index 8e14a105..768b09d7 100644 --- a/packages/dialogic-hooks/package.json +++ b/packages/dialogic-hooks/package.json @@ -1,6 +1,6 @@ { "name": "dialogic-hooks", - "version": ""0.13.10"", + "version": "0.13.10", "description": "Dialogic hooks", "files": [ "dist", @@ -23,7 +23,7 @@ "build:types": "../../node_modules/typescript/bin/tsc --p tsconfig.gen.json" }, "dependencies": { - "dialogic": ""0.13.10"" + "dialogic": "0.13.10" }, "devDependencies": { "typescript": "^4.9.5", diff --git a/packages/dialogic-mithril/dist/index.d.ts b/packages/dialogic-mithril/dist/index.d.ts index d9554b4b..7a620194 100644 --- a/packages/dialogic-mithril/dist/index.d.ts +++ b/packages/dialogic-mithril/dist/index.d.ts @@ -1,8 +1,8 @@ /// import m from 'mithril'; import { Dialogical } from './Dialogical'; -declare const Dialog: m.Component; -declare const Notification: m.Component; +declare const Dialog: m.Component; +declare const Notification: m.Component; export * from './useDialogic'; export * from './useRemaining'; export { dialog, Dialogic, notification, remaining } from 'dialogic'; diff --git a/packages/dialogic-mithril/package.json b/packages/dialogic-mithril/package.json index 130cfa09..e610c67d 100644 --- a/packages/dialogic-mithril/package.json +++ b/packages/dialogic-mithril/package.json @@ -1,6 +1,6 @@ { "name": "dialogic-mithril", - "version": ""0.13.10"", + "version": "0.13.10", "description": "Logic for dialogs and notifications", "files": [ "dist", @@ -24,12 +24,12 @@ "build:types": "../../node_modules/typescript/bin/tsc --p tsconfig.gen.json" }, "dependencies": { - "dialogic": ""0.13.10"", + "dialogic": "0.13.10", "mithril-hooks": "^0.7.1" }, "devDependencies": { "@types/mithril": "2.0.12", - "dialogic-hooks": ""0.13.10"", + "dialogic-hooks": "0.13.10", "typescript": "^4.9.5", "vite": "^4.1.4" }, diff --git a/packages/dialogic-react/dist/dialogic-react.cjs b/packages/dialogic-react/dist/dialogic-react.cjs index 248647f3..e28ed02e 100644 --- a/packages/dialogic-react/dist/dialogic-react.cjs +++ b/packages/dialogic-react/dist/dialogic-react.cjs @@ -938,7 +938,15 @@ const remaining = (props) => { const types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null }, Symbol.toStringTag, { value: "Module" })); -const useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debug }) => { +const useStream = ({ + model, + onMount, + onDestroy, + onUpdate, + deps = [], + defer, + debug +}) => { const [streamValues, setStreamValues] = React.useState({}); const isInitedRef = React.useRef(false); const subsRef = React.useRef([]); @@ -982,7 +990,9 @@ const useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debu subscribe(memo2); return memo2; }; - const [memo, setMemo] = React.useState(defer ? { ...model, isDeferred: true } : createMemo); + const [memo, setMemo] = React.useState( + defer ? { ...model, isDeferred: true } : createMemo + ); React.useEffect(() => { if (!isInitedRef.current) { return; diff --git a/packages/dialogic-react/dist/dialogic-react.cjs.map b/packages/dialogic-react/dist/dialogic-react.cjs.map index 278772e4..83fc0252 100644 --- a/packages/dialogic-react/dist/dialogic-react.cjs.map +++ b/packages/dialogic-react/dist/dialogic-react.cjs.map @@ -1 +1 @@ -{"version":3,"file":"dialogic-react.cjs","sources":["../../../node_modules/mithril-stream-standalone/dist/mithril-stream-standalone.module.js","../../dialogic/dist/dialogic.module.js","../../../node_modules/use-stream/dist/use-stream.module.js","../src/useDialogicState.tsx","../src/Instance.tsx","../src/instanceEvents.ts","../src/Wrapper.tsx","../src/Dialogical.tsx","../src/useDialogic.tsx","../src/useRemaining.ts","../src/index.tsx"],"sourcesContent":["function g(t) {\n return p(function() {\n return t.map(function(e) {\n return e();\n });\n }, t);\n}\nfunction h(t, e, u) {\n var n = u.map(function(c) {\n var f = t(e, c);\n return f !== i.SKIP && (e = f), f;\n });\n return n(e), n;\n}\nfunction l(t, e) {\n var u = t.map(function(c) {\n return c[0];\n }), n = p(function() {\n var c = arguments[arguments.length - 1];\n return u.forEach(function(f, r) {\n c.indexOf(f) > -1 && (e = t[r][1](e, f()));\n }), e;\n }, u);\n return n(e), n;\n}\nfunction _() {\n var t = arguments[0], e = Array.prototype.slice.call(arguments, 1);\n return g(e).map(function(u) {\n return t.apply(void 0, u);\n });\n}\nfunction s(t) {\n return t._state === \"pending\" || t._state === \"active\" || t._state === \"changing\";\n}\nvar i = function(t) {\n var e = [], u = [];\n function n(r) {\n return arguments.length && r !== i.SKIP && (t = r, s(n) && (n._changing(), n._state = \"active\", e.slice().forEach(function(a, o) {\n s(a) && a(this[o](t));\n }, u.slice()))), t;\n }\n n.constructor = i, n._state = arguments.length && t !== i.SKIP ? \"active\" : \"pending\", n._parents = [], n._changing = function() {\n s(n) && (n._state = \"changing\"), e.forEach(function(r) {\n r._changing();\n });\n }, n._map = function(r, a) {\n var o = a ? i() : i(r(t));\n return o._parents.push(n), e.push(o), u.push(r), o;\n }, n.map = function(r) {\n return n._map(r, n._state !== \"active\");\n };\n var c;\n function f() {\n return c = i(), c.map(function(r) {\n return r === !0 && (n._parents.forEach(function(a) {\n a._unregisterChild(n);\n }), n._state = \"ended\", n._parents.length = e.length = u.length = 0), r;\n }), c;\n }\n return n.toJSON = function() {\n return t != null && typeof t.toJSON == \"function\" ? t.toJSON() : t;\n }, n[\"fantasy-land/map\"] = n.map, n[\"fantasy-land/ap\"] = function(r) {\n return p(\n function(a, o) {\n return a()(o());\n },\n [r, n]\n );\n }, n._unregisterChild = function(r) {\n var a = e.indexOf(r);\n a !== -1 && (e.splice(a, 1), u.splice(a, 1));\n }, Object.defineProperty(n, \"end\", {\n get: function() {\n return c || f();\n }\n }), n;\n};\nfunction p(t, e) {\n var u = e.every(function(a) {\n if (a.constructor !== i)\n throw new Error(\n \"Ensure that each item passed to stream.combine/stream.merge/lift is a stream.\"\n );\n return a._state === \"active\";\n }), n = u ? i(t.apply(null, e.concat([e]))) : i(), c = [], f = e.map(function(a) {\n return a._map(function(o) {\n return c.push(a), (u || e.every(function(m) {\n return m._state !== \"pending\";\n })) && (u = !0, n(t.apply(null, e.concat([c]))), c = []), o;\n }, !0);\n }), r = n.end.map(function(a) {\n a === !0 && (f.forEach(function(o) {\n o.end(!0);\n }), r.end(!0));\n });\n return n;\n}\ni.SKIP = {};\ni.lift = _;\ni.scan = h;\ni.merge = g;\ni.combine = p;\ni.scanMerge = l;\ni[\"fantasy-land/of\"] = i;\nvar d = !1;\nObject.defineProperty(i, \"HALT\", {\n get: function() {\n return d || console.log(\"HALT is deprecated and has been renamed to SKIP\"), d = !0, i.SKIP;\n }\n});\nexport {\n i as default\n};\n//# sourceMappingURL=mithril-stream-standalone.module.js.map\n","import Stream from \"mithril-stream-standalone\";\nconst findItem = (id, items) => items.find((item) => item.id === id);\nconst itemIndex = (id, items) => {\n const item = findItem(id, items);\n return item ? items.indexOf(item) : -1;\n};\nconst removeItem = (id, items) => {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items.splice(index, 1);\n }\n return items;\n};\nconst createId = (identityOptions, ns) => [ns, identityOptions.id, identityOptions.spawn].filter(Boolean).join(\"-\");\nconst store = {\n initialState: {\n store: {}\n },\n actions: (update2) => ({\n /**\n * Add an item to the end of the list.\n */\n add: (ns, item) => {\n update2((state) => {\n const items = state.store[ns] || [];\n state.store[ns] = [...items, item];\n if (item.timer) {\n item.timer.states.map(() => store.actions(update2).refresh());\n }\n return state;\n });\n },\n /**\n * Removes the first item with a match on `id`.\n */\n remove: (ns, id) => {\n update2((state) => {\n const items = state.store[ns] || [];\n const remaining2 = removeItem(id, items);\n state.store[ns] = remaining2;\n return state;\n });\n },\n /**\n * Replaces the first item with a match on `id` with a newItem.\n */\n replace: (ns, id, newItem) => {\n update2((state) => {\n const items = state.store[ns] || [];\n if (items) {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items[index] = newItem;\n state.store[ns] = [...items];\n }\n }\n return state;\n });\n },\n /**\n * Removes all items within a namespace.\n */\n removeAll: (ns) => {\n update2((state) => {\n state.store[ns] = [];\n return state;\n });\n },\n /**\n * Replaces all items within a namespace.\n */\n store: (ns, newItems) => {\n update2((state) => {\n state.store[ns] = [...newItems];\n return state;\n });\n },\n refresh: () => {\n update2((state) => ({\n ...state\n }));\n }\n }),\n selectors: (states2) => {\n const fns = {\n getStore: () => {\n const state = states2();\n return state.store;\n },\n find: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const id = createId(identityOptions, ns);\n const item = items.find((fitem) => fitem.id === id);\n return item ? { just: item } : { nothing: void 0 };\n },\n getAll: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const spawn = identityOptions !== void 0 ? identityOptions.spawn : void 0;\n const id = identityOptions !== void 0 ? identityOptions.id : void 0;\n const itemsBySpawn = spawn !== void 0 ? items.filter((fitem) => fitem.identityOptions.spawn === spawn) : items;\n const itemsById = id !== void 0 ? itemsBySpawn.filter((item) => item.identityOptions.id === id) : itemsBySpawn;\n return itemsById;\n },\n getCount: (ns, identityOptions) => fns.getAll(ns, identityOptions).length\n };\n return fns;\n }\n};\nconst update = Stream();\nconst states = Stream.scan(\n (state, patch) => patch(state),\n {\n ...store.initialState\n },\n update\n);\nconst actions = {\n ...store.actions(update)\n};\nconst selectors = {\n ...store.selectors(states)\n};\nconst initialState = {\n callback: () => {\n },\n isPaused: false,\n onAbort: () => {\n },\n onDone: () => {\n },\n promise: void 0,\n remaining: void 0,\n startTime: void 0,\n timeoutFn: () => {\n },\n timerId: void 0\n};\nconst appendStartTimer = (state, callback, duration, updateState) => {\n const timeoutFn = () => {\n callback();\n state.onDone();\n updateState();\n };\n return {\n timeoutFn,\n promise: new Promise((resolve) => {\n state.onDone = () => resolve();\n state.onAbort = () => resolve();\n }),\n ...state.isPaused ? {} : {\n startTime: new Date().getTime(),\n timerId: window.setTimeout(timeoutFn, duration),\n remaining: duration\n }\n };\n};\nconst appendStopTimeout = (state) => {\n window.clearTimeout(state.timerId);\n return {\n timerId: initialState.timerId\n };\n};\nconst appendStopTimer = (state) => ({\n ...appendStopTimeout(state)\n});\nconst appendPauseTimer = (state) => ({\n ...appendStopTimeout(state),\n isPaused: true,\n remaining: getRemaining$1(state)\n});\nconst appendResumeTimer = (state, minimumDuration) => {\n window.clearTimeout(state.timerId);\n const remaining2 = minimumDuration ? Math.max(state.remaining || 0, minimumDuration) : state.remaining;\n return {\n startTime: new Date().getTime(),\n isPaused: false,\n remaining: remaining2,\n timerId: window.setTimeout(state.timeoutFn, remaining2)\n };\n};\nconst getRemaining$1 = (state) => state.remaining === 0 || state.remaining === void 0 ? state.remaining : state.remaining - (new Date().getTime() - (state.startTime || 0));\nconst TimerStore = () => {\n const timer = {\n initialState,\n actions: (update22) => ({\n /**\n * Starts the timer\n * @param {callback} Function Callback function that is called after completion.\n * @param {duration} Number Timer duration in milliseconds.\n */\n start: (callback, duration) => {\n update22((state) => ({\n ...state,\n ...appendStopTimeout(state),\n ...appendStartTimer(\n state,\n callback,\n duration,\n () => timer.actions(update22).done()\n ),\n ...state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Stops the timer.\n */\n stop: () => {\n update22((state) => ({\n ...state,\n ...appendStopTimer(state),\n ...initialState\n }));\n },\n /**\n * Pauses a running timer.\n */\n pause: () => {\n update22((state) => ({\n ...state,\n ...!state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Resumes a paused timer.\n * @param {minimumDuration} Number Sets the minimum duration.\n */\n resume: (minimumDuration) => {\n update22((state) => ({\n ...state,\n ...state.isPaused && appendResumeTimer(state, minimumDuration)\n }));\n },\n /**\n * Aborts and clears a timer.\n */\n abort: () => {\n update22((state) => {\n state.onAbort();\n return {\n ...state,\n ...appendStopTimeout(state)\n };\n });\n },\n /**\n * Updates the current state. Used to get the state for selectors.getRemaining.\n */\n refresh: () => {\n update22((state) => ({\n ...state\n }));\n },\n /**\n * Brings the timer to its initial state.\n * Used internally.\n */\n done: () => {\n update22(() => initialState);\n }\n }),\n selectors: (states22) => ({\n /**\n * Returns the paused state.\n */\n isPaused: () => {\n const state = states22();\n return state.isPaused;\n },\n /**\n * Returns the remaining duration in milliseconds.\n */\n getRemaining: () => {\n const state = states22();\n return state.isPaused ? state.remaining : getRemaining$1(state);\n },\n /**\n * The promise that is handled when the timer is done or canceled.\n */\n getResultPromise: () => {\n const state = states22();\n return state.promise;\n }\n })\n };\n const update2 = Stream();\n const states2 = Stream.scan(\n (state, patch) => patch(state),\n {\n ...timer.initialState\n },\n update2\n );\n const actions2 = {\n ...timer.actions(update2)\n };\n const selectors2 = {\n ...timer.selectors(states2)\n };\n return {\n states: states2,\n actions: actions2,\n selectors: selectors2\n };\n};\nconst getStyleValue = ({\n domElement,\n prop\n}) => {\n const { defaultView } = document;\n if (defaultView) {\n const style = defaultView.getComputedStyle(domElement);\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n return void 0;\n};\nconst MODE = {\n SHOW: \"show\",\n HIDE: \"hide\"\n};\nconst removeTransitionClassNames = (domElement, transitionClassNames) => domElement.classList.remove(\n ...transitionClassNames.showStart,\n ...transitionClassNames.showEnd,\n ...transitionClassNames.hideStart,\n ...transitionClassNames.hideEnd\n);\nconst applyTransitionStyles = (domElement, step, styles) => {\n const transitionStyle = styles[step];\n if (transitionStyle) {\n Object.keys(transitionStyle).forEach((key) => {\n const value = transitionStyle[key];\n domElement.style[key] = value;\n });\n }\n};\nconst applyNoDurationTransitionStyle = (domElement) => {\n domElement.style.transitionDuration = \"0ms\";\n};\nconst getTransitionStyles = (domElement, styles) => (typeof styles === \"function\" ? styles(domElement) : styles) || {};\nconst createClassList = (className, step) => className.split(/ /).map((n) => `${n}-${step}`);\nconst applyStylesForState = (domElement, props, step, isEnterStep) => {\n if (props.styles) {\n const styles = getTransitionStyles(domElement, props.styles);\n applyTransitionStyles(domElement, \"default\", styles);\n if (isEnterStep) {\n applyNoDurationTransitionStyle(domElement);\n }\n applyTransitionStyles(domElement, step, styles);\n }\n if (props.className) {\n const transitionClassNames = {\n showStart: createClassList(props.className, \"show-start\"),\n showEnd: createClassList(props.className, \"show-end\"),\n hideStart: createClassList(props.className, \"hide-start\"),\n hideEnd: createClassList(props.className, \"hide-end\")\n };\n removeTransitionClassNames(domElement, transitionClassNames);\n if (transitionClassNames) {\n domElement.classList.add(...transitionClassNames[step]);\n }\n }\n domElement.scrollTop;\n};\nconst styleDurationToMs = (durationStr) => {\n const parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1e3 : 1);\n return Number.isNaN(parsed) ? 0 : parsed;\n};\nconst getDuration = (domElement) => {\n const durationStyleValue = getStyleValue({\n domElement,\n prop: \"transition-duration\"\n });\n const durationValue = durationStyleValue !== void 0 ? styleDurationToMs(durationStyleValue) : 0;\n const delayStyleValue = getStyleValue({\n domElement,\n prop: \"transition-delay\"\n });\n const delayValue = delayStyleValue !== void 0 ? styleDurationToMs(delayStyleValue) : 0;\n return durationValue + delayValue;\n};\nconst steps = {\n showStart: {\n nextStep: \"showEnd\"\n },\n showEnd: {\n nextStep: void 0\n },\n hideStart: {\n nextStep: \"hideEnd\"\n },\n hideEnd: {\n nextStep: void 0\n }\n};\nconst transition = (props, mode) => {\n const { domElement } = props;\n if (!domElement) {\n return Promise.resolve(\"no domElement\");\n }\n clearTimeout(props.__transitionTimeoutId__);\n let currentStep = mode === MODE.SHOW ? \"showStart\" : \"hideStart\";\n return new Promise((resolve) => {\n applyStylesForState(\n domElement,\n props,\n currentStep,\n currentStep === \"showStart\"\n );\n setTimeout(() => {\n const { nextStep } = steps[currentStep];\n if (nextStep) {\n currentStep = nextStep;\n applyStylesForState(domElement, props, currentStep);\n const duration = getDuration(domElement);\n props.__transitionTimeoutId__ = window.setTimeout(resolve, duration);\n }\n }, 0);\n });\n};\nconst localState = {\n uid: 0\n};\nconst getUid = () => {\n if (localState.uid === Number.MAX_VALUE) {\n localState.uid = 0;\n } else {\n localState.uid += 1;\n }\n return localState.uid;\n};\nconst getMaybeItem = (ns) => (defaultDialogicOptions) => (identityOptions) => selectors.find(\n ns,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getMergedIdentityOptions(defaultDialogicOptions, identityOptions)\n);\nconst filterBySpawn = (identityOptions) => (items) => identityOptions.spawn !== void 0 ? items.filter(\n (item) => item.identityOptions.spawn === identityOptions.spawn\n) : items;\nconst filterById = (identityOptions) => (items) => identityOptions.id !== void 0 ? items.filter((item) => item.identityOptions.id === identityOptions.id) : items;\nconst filterFirstInQueue = (nsItems) => {\n let queuedCount = 0;\n return nsItems.map((item) => ({\n item,\n queueCount: item.dialogicOptions.queued ? queuedCount++ : 0\n })).filter(({ queueCount }) => queueCount === 0).map(({ item }) => item);\n};\nconst filterCandidates = (ns, items, identityOptions) => {\n const nsItems = items[ns] || [];\n if (nsItems.length === 0) {\n return [];\n }\n const filteredBySpawn = filterBySpawn(identityOptions)(nsItems);\n return filterFirstInQueue(filteredBySpawn);\n};\nconst getPassThroughOptions = (options) => {\n const copy = {\n ...options\n };\n delete copy.dialogic;\n return copy;\n};\nconst getMergedIdentityOptions = (defaultDialogicOptions, identityOptions = {}) => ({\n id: identityOptions.id || defaultDialogicOptions.id,\n spawn: identityOptions.spawn || defaultDialogicOptions.spawn\n});\nconst handleOptions = (defaultDialogicOptions, options) => {\n const identityOptions = {\n id: (options == null ? void 0 : options.dialogic) ? options.dialogic.id : void 0,\n spawn: (options == null ? void 0 : options.dialogic) ? options.dialogic.spawn : void 0\n };\n const mergedIdentityOptions = getMergedIdentityOptions(\n defaultDialogicOptions || {},\n identityOptions\n );\n const dialogicOptions = {\n ...defaultDialogicOptions,\n ...options == null ? void 0 : options.dialogic,\n __transitionTimeoutId__: 0\n };\n const passThroughOptions = options ? getPassThroughOptions(options) : {};\n return {\n identityOptions: mergedIdentityOptions,\n dialogicOptions,\n passThroughOptions\n };\n};\nconst createInstance = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n return new Promise((resolve) => {\n const callbacks = {\n willShow: (item2) => {\n if (dialogicOptions.willShow) {\n dialogicOptions.willShow(item2);\n }\n return resolve(item2);\n },\n willHide: (item2) => {\n if (dialogicOptions.willHide) {\n dialogicOptions.willHide(item2);\n }\n return resolve(item2);\n },\n didShow: (item2) => {\n if (dialogicOptions.didShow) {\n dialogicOptions.didShow(item2);\n }\n return resolve(item2);\n },\n didHide: (item2) => {\n if (dialogicOptions.didHide) {\n dialogicOptions.didHide(item2);\n }\n return resolve(item2);\n }\n };\n const item = {\n ns,\n identityOptions,\n dialogicOptions,\n callbacks,\n passThroughOptions,\n id: createId(identityOptions, ns),\n timer: dialogicOptions.timeout ? TimerStore() : void 0,\n // when timeout is undefined or 0\n key: getUid().toString(),\n // Uniquely identify each item for keyed display\n transitionState: 0\n /* Default */\n };\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem && dialogicOptions.toggle) {\n hide(ns)(defaultDialogicOptions)(options);\n resolve(existingItem);\n return;\n }\n if (existingItem && !dialogicOptions.queued) {\n const replacingItem = {\n ...item,\n key: existingItem.key,\n transitionState: existingItem.transitionState,\n dialogicOptions: existingItem.dialogicOptions\n // Preserve dialogicOptions\n };\n actions.replace(ns, existingItem.id, replacingItem);\n } else {\n actions.add(ns, item);\n }\n resolve(item);\n });\n};\nconst show = createInstance;\nconst hide = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem) {\n const item = {\n ...existingItem,\n dialogicOptions: {\n ...existingItem.dialogicOptions,\n ...dialogicOptions\n },\n passThroughOptions: {\n ...existingItem.passThroughOptions,\n passThroughOptions\n }\n };\n actions.replace(ns, existingItem.id, item);\n if (item.transitionState !== 2) {\n return hideItem(item);\n }\n return Promise.resolve(item);\n }\n return Promise.resolve({\n ns,\n id: identityOptions.id\n });\n};\nconst pause = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.pause();\n }\n });\n return Promise.all(validItems);\n};\nconst resume = (ns) => (_defaultDialogicOptions) => (commandOptions) => {\n const options = commandOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.resume(options.minimumDuration);\n }\n });\n return Promise.all(validItems);\n};\nconst getTimerSelectors = (ns, defaultDialogicOptions, identityOptions) => {\n var _a, _b;\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n return (_b = (_a = maybeItem == null ? void 0 : maybeItem.just) == null ? void 0 : _a.timer) == null ? void 0 : _b.selectors;\n};\nconst isPaused = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.isPaused()) || false;\n};\nconst getRemaining = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.getRemaining()) || void 0;\n};\nconst exists = (ns) => (_defaultDialogicOptions) => (identityOptions) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n !!getValidItems(ns, identityOptions).length\n);\nconst getValidItems = (ns, identityOptions) => {\n const allItems = selectors.getAll(ns);\n let validItems;\n if (identityOptions) {\n const filteredBySpawn = filterBySpawn(identityOptions)(allItems);\n validItems = filterById(identityOptions)(filteredBySpawn);\n } else {\n validItems = allItems;\n }\n return validItems;\n};\nconst resetAll = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions);\n const items = [];\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.abort();\n }\n items.push(item);\n });\n if (identityOptions) {\n items.forEach((item) => {\n actions.remove(ns, item.id);\n });\n } else {\n actions.removeAll(ns);\n }\n return Promise.resolve(items);\n};\nconst getOverridingTransitionOptions = (item, dialogicOptions) => ({\n ...item,\n dialogicOptions: {\n ...item.dialogicOptions,\n ...dialogicOptions\n }\n});\nconst hideAll = (ns) => (_defaultDialogicOptions) => (dialogicOptions) => {\n const options = dialogicOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions);\n const regularItems = validItems.filter(\n (item) => !options.queued && !item.dialogicOptions.queued\n );\n const queuedItems = validItems.filter(\n (item) => options.queued || item.dialogicOptions.queued\n );\n const items = [];\n regularItems.forEach(\n (item) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n items.push(hideItem(getOverridingTransitionOptions(item, options)))\n )\n );\n if (queuedItems.length > 0) {\n const [current] = queuedItems;\n actions.store(ns, [current]);\n items.push(hideItem(getOverridingTransitionOptions(current, options)));\n }\n return Promise.all(items);\n};\nconst getCount = (ns) => (identityOptions) => selectors.getCount(ns, identityOptions);\nconst transitionItem = (item, mode) => transition(item.dialogicOptions, mode);\nconst getResultPromise = () => (ns) => (defaultDialogicOptions) => (identityOptions) => {\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n if (maybeItem.just) {\n if (maybeItem.just && maybeItem.just.timer) {\n return maybeItem.just.timer.selectors.getResultPromise();\n }\n return void 0;\n }\n return void 0;\n};\nconst deferredHideItem = async (item, timer, timeout) => {\n timer.actions.start(() => hideItem(item), timeout);\n return getResultPromise();\n};\nconst showItem = async (item) => {\n if (item.callbacks.willShow) {\n item.callbacks.willShow(item);\n }\n if (item.transitionState !== 1) {\n item.transitionState = 1;\n await transitionItem(item, MODE.SHOW);\n }\n if (item.callbacks.didShow) {\n item.callbacks.didShow(item);\n }\n if (item.dialogicOptions.timeout && item.timer) {\n await deferredHideItem(item, item.timer, item.dialogicOptions.timeout);\n }\n return Promise.resolve(item);\n};\nconst hideItem = async (item) => {\n item.transitionState = 2;\n if (item.timer) {\n item.timer.actions.stop();\n }\n if (item.callbacks.willHide) {\n item.callbacks.willHide(item);\n }\n await transitionItem(item, MODE.HIDE);\n if (item.callbacks.didHide) {\n item.callbacks.didHide(item);\n }\n const copy = {\n ...item\n };\n actions.remove(item.ns, item.id);\n return Promise.resolve(copy);\n};\nconst setDomElement = (domElement, item) => {\n item.dialogicOptions.domElement = domElement;\n};\nconst dialogical = ({\n ns,\n queued,\n timeout\n}) => {\n const defaultId = `default_${ns}`;\n const defaultSpawn = `default_${ns}`;\n const defaultDialogicOptions = {\n id: defaultId,\n spawn: defaultSpawn,\n ...queued && { queued },\n ...timeout !== void 0 && { timeout }\n };\n return {\n // Identification\n ns,\n defaultId,\n defaultSpawn,\n // Configuration\n defaultDialogicOptions,\n // Commands\n show: show(ns)(defaultDialogicOptions),\n hide: hide(ns)(defaultDialogicOptions),\n hideAll: hideAll(ns)(defaultDialogicOptions),\n resetAll: resetAll(ns)(defaultDialogicOptions),\n // Timer commands\n pause: pause(ns)(defaultDialogicOptions),\n resume: resume(ns)(defaultDialogicOptions),\n // State\n exists: exists(ns)(defaultDialogicOptions),\n getCount: getCount(ns),\n // Timer state\n isPaused: isPaused(ns)(defaultDialogicOptions),\n getRemaining: getRemaining(ns)(defaultDialogicOptions)\n };\n};\nconst dialog = dialogical({ ns: \"dialog\" });\nconst notification = dialogical({\n ns: \"notification\",\n queued: true,\n timeout: 3e3\n});\nconst remaining = (props) => {\n let displayValue;\n let reqId;\n let isCanceled = false;\n const identity = {\n id: props.id,\n spawn: props.spawn\n };\n const update2 = () => {\n const remainingValue = props.instance.getRemaining(identity);\n if (displayValue !== remainingValue) {\n displayValue = remainingValue === void 0 ? remainingValue : props.roundToSeconds ? Math.round(Math.max(remainingValue, 0) / 1e3) : Math.max(remainingValue, 0);\n }\n props.callback(displayValue);\n if (!props.instance.exists(identity)) {\n window.cancelAnimationFrame(reqId);\n isCanceled = true;\n } else if (!isCanceled) {\n reqId = window.requestAnimationFrame(update2);\n }\n };\n reqId = window.requestAnimationFrame(update2);\n};\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n types as Dialogic,\n actions,\n dialog,\n dialogical,\n exists,\n filterCandidates,\n getCount,\n getRemaining,\n hide,\n hideAll,\n hideItem,\n isPaused,\n notification,\n pause,\n remaining,\n resetAll,\n resume,\n selectors,\n setDomElement,\n show,\n showItem,\n states\n};\n//# sourceMappingURL=dialogic.module.js.map\n","import React from 'react';\n\n// eslint-disable-next-line import/no-unresolved\nconst useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debug, }) => {\n // Local storage that connects stream updates to React renders:\n const [streamValues, setStreamValues] = React.useState({});\n // Distinguish update from mount:\n const isInitedRef = React.useRef(false);\n const subsRef = React.useRef([]);\n const subscribe = (memo) => {\n if (debug) {\n debug('Subscribe');\n }\n subsRef.current = Object.keys(memo)\n .map((key) => {\n const stream = memo[key];\n if (stream.map && typeof stream.map === 'function') {\n return stream.map((value) => {\n if (debug) {\n debug('Will update %s', key);\n }\n setStreamValues({\n ...streamValues,\n [key]: value,\n });\n return null;\n });\n }\n return false;\n })\n .filter(Boolean);\n };\n const unsubscribe = () => {\n if (subsRef.current.length) {\n if (debug) {\n debug('Unsubscribe');\n }\n subsRef.current.forEach((s) => s.end(true));\n subsRef.current = [];\n }\n };\n const createMemo = () => {\n if (debug) {\n debug('createMemo');\n }\n unsubscribe();\n const modelFn = typeof model === 'function'\n ? model\n : (() => model);\n const memo = modelFn();\n subscribe(memo);\n return memo;\n };\n const [memo, setMemo] = React.useState(defer\n ? { ...model, isDeferred: true }\n : createMemo);\n // Update\n React.useEffect(() => {\n if (!isInitedRef.current) {\n return;\n }\n if (debug) {\n debug('Updating');\n }\n if (onUpdate) {\n const localMemo = createMemo();\n setMemo(localMemo);\n onUpdate(localMemo);\n }\n }, deps); // eslint-disable-line react-hooks/exhaustive-deps\n // Mount and unmount\n React.useEffect(() => {\n if (debug) {\n debug('Mounting');\n }\n let localMemo = memo;\n if (defer) {\n localMemo = createMemo();\n setMemo(localMemo);\n }\n if (onMount && localMemo) {\n onMount(localMemo);\n }\n isInitedRef.current = true;\n return () => {\n if (debug) {\n debug('Unmounting');\n }\n unsubscribe();\n if (onDestroy) {\n onDestroy(memo);\n }\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n return memo;\n};\n\nexport { useStream };\n","import { Dialogic, states } from 'dialogic';\nimport { useStream } from 'use-stream';\n\ntype TModel = {\n _: Dialogic.States;\n};\n\nexport const useDialogicState = () => {\n // Subscribe to changes\n useStream({\n model: () => ({\n _: states,\n }),\n defer: true,\n });\n};\n","import { Dialogic } from 'dialogic';\nimport React, { FunctionComponent, useCallback, useRef } from 'react';\n\ntype ComponentProps = T & {\n show: () => void;\n hide: () => void;\n};\n\nexport function Instance(props: Dialogic.DialogicalInstanceOptions) {\n const domElementRef = useRef();\n const { className } = props.dialogicOptions;\n const Component = props.dialogicOptions.component as FunctionComponent<\n ComponentProps\n >;\n if (!Component) {\n throw new Error('Component missing in dialogic options.');\n }\n\n const dispatchTransition = (\n dispatchFn: Dialogic.DialogicalInstanceDispatchFn,\n ) => {\n const domElement = domElementRef.current;\n if (domElement === undefined) {\n return;\n }\n dispatchFn({\n detail: {\n identityOptions: props.identityOptions,\n domElement,\n },\n });\n };\n\n const onMount = () => {\n dispatchTransition(props.onMount);\n };\n\n const show = () => {\n dispatchTransition(props.onShow);\n };\n\n const hide = () => {\n dispatchTransition(props.onHide);\n };\n\n const domElementCb = useCallback((node: HTMLDivElement) => {\n if (node !== null) {\n domElementRef.current = node;\n onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const passThroughOptions: T = props.passThroughOptions || ({} as T);\n\n return (\n
\n \n
\n );\n}\n","import {\n Dialogic,\n hideItem,\n selectors,\n setDomElement,\n showItem,\n} from 'dialogic';\n\nexport const handleDispatch =\n (ns: string) =>\n (event: Dialogic.InstanceEvent, fn: Dialogic.InitiateItemTransitionFn) => {\n // Update dispatching item:\n const maybeItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeItem.just) {\n setDomElement(event.detail.domElement, maybeItem.just);\n }\n // Find item to transition:\n const maybeTransitioningItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeTransitioningItem.just) {\n fn(maybeTransitioningItem.just);\n }\n };\n\nexport const onInstanceMounted =\n (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onShowInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onHideInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, hideItem);\n","import { Dialogic, filterCandidates, selectors } from 'dialogic';\nimport React from 'react';\n\nimport { Instance } from './Instance';\nimport {\n onHideInstance,\n onInstanceMounted,\n onShowInstance,\n} from './instanceEvents';\n\nexport function Wrapper(props: Dialogic.DialogicalWrapperOptions) {\n const nsOnInstanceMounted = onInstanceMounted(props.ns);\n const nsOnShowInstance = onShowInstance(props.ns);\n const nsOnHideInstance = onHideInstance(props.ns);\n\n const identityOptions: Dialogic.IdentityOptions =\n props.identityOptions || ({} as Dialogic.IdentityOptions);\n const filtered = filterCandidates(\n props.ns,\n selectors.getStore(),\n identityOptions,\n );\n\n return (\n <>\n {filtered.map(item => (\n \n }\n passThroughOptions={\n item.passThroughOptions as Dialogic.PassThroughOptions\n }\n onMount={nsOnInstanceMounted}\n onShow={nsOnShowInstance}\n onHide={nsOnHideInstance}\n />\n ))}\n \n );\n}\n","import { Dialogic } from 'dialogic';\nimport React, { useEffect } from 'react';\n\nimport { useDialogicState } from './useDialogicState';\nimport { Wrapper } from './Wrapper';\n\ntype Props = {\n instance: Dialogic.DialogicInstance;\n} & Dialogic.ComponentOptions;\n\nexport function Dialogical({ instance, ...props }: Props) {\n useDialogicState();\n\n const identityOptions = {\n id: props.id || instance.defaultId,\n spawn: props.spawn || instance.defaultSpawn,\n };\n\n // Mount\n useEffect(() => {\n if (typeof props.onMount === 'function') {\n props.onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return ;\n}\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport type {\n UseDialogicInstanceProps,\n UseDialogicProps,\n} from 'dialogic-hooks';\nimport React, { PropsWithChildren, useEffect, useState } from 'react';\n\nlet useDialogicCounter = 0;\n\nexport const useDialogic = ({\n isIgnore,\n isShow,\n isHide,\n instance,\n deps = [],\n props = {} as T & Dialogic.Options,\n}: UseDialogicInstanceProps) => {\n // Create an id if not set.\n // This is useful for pages with multiple dialogs, where we can't expect\n // to have the user set an explicit id for each.\n // eslint-disable-next-line no-plusplus\n const [id] = useState(useDialogicCounter++);\n const augProps = {\n ...props,\n ...(props?.dialogic\n ? {\n dialogic: {\n ...props.dialogic,\n id: props.dialogic.id || id,\n },\n }\n : {\n dialogic: {\n id,\n },\n }),\n };\n\n const showInstance = () => {\n instance.show(augProps);\n };\n\n const hideInstance = () => {\n instance.hide(augProps);\n };\n\n // maybe show\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isShow !== undefined) {\n if (isShow) {\n showInstance();\n } else {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isShow]);\n\n // maybe hide\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isHide !== undefined) {\n if (isHide) {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isHide]);\n\n // unmount\n useEffect(() => {\n if (isIgnore) {\n return undefined;\n }\n // eslint-disable-next-line consistent-return\n return () => {\n hideInstance();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n show: showInstance,\n hide: hideInstance,\n };\n};\n\nexport const useDialog = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: dialog,\n });\n\nexport const useNotification = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: notification,\n });\n\n/**\n * Helper component that wraps `useDialogic` to use with JSX syntax.\n */\nexport function UseDialogic(\n props: PropsWithChildren>,\n) {\n useDialogic(props);\n return null;\n}\n\nexport function UseDialog(props: PropsWithChildren>) {\n return ;\n}\n\nexport function UseNotification(\n props: PropsWithChildren>,\n) {\n return ;\n}\n","import { remaining } from 'dialogic';\nimport type { UseRemainingProps } from 'dialogic-hooks';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nfunction useIsMounted(): () => boolean {\n const ref = useRef(false);\n\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return useCallback(() => ref.current, [ref]);\n}\n\nexport const useRemaining = ({\n instance,\n id,\n spawn,\n roundToSeconds,\n}: UseRemainingProps) => {\n const isMounted = useIsMounted();\n const [value, _setValue] = useState(undefined);\n const identity = {\n id,\n spawn,\n };\n const exists = !!instance.exists(identity);\n const setValue = (newValue: number | undefined) => {\n if (isMounted()) {\n _setValue(newValue);\n }\n };\n\n useMemo(() => {\n if (exists) {\n remaining({\n ...identity,\n instance,\n roundToSeconds,\n callback: (newValue: number | undefined) => {\n setValue(newValue);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [exists]);\n\n return [value];\n};\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport React from 'react';\n\nimport { Dialogical } from './Dialogical';\n\nfunction Dialog(props: Dialogic.ComponentOptions) {\n return ;\n}\nfunction Notification(props: Dialogic.ComponentOptions) {\n return ;\n}\n\nexport * from './useDialogic';\nexport * from './useDialogicState';\nexport * from './useRemaining';\nexport { dialog, Dialogic, notification, remaining } from 'dialogic';\nexport { Dialog, Dialogical, Notification };\n"],"names":["Stream","memo","s","useRef","show","hide","useCallback","useEffect","useState","exists","useMemo"],"mappings":"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","x_google_ignoreList":[0,2]} \ No newline at end of file +{"version":3,"file":"dialogic-react.cjs","sources":["../../../node_modules/mithril-stream-standalone/dist/mithril-stream-standalone.module.js","../../dialogic/dist/dialogic.module.js","../../../node_modules/use-stream/dist/use-stream.module.js","../src/useDialogicState.tsx","../src/Instance.tsx","../src/instanceEvents.ts","../src/Wrapper.tsx","../src/Dialogical.tsx","../src/useDialogic.tsx","../src/useRemaining.ts","../src/index.tsx"],"sourcesContent":["function g(t) {\n return p(function() {\n return t.map(function(e) {\n return e();\n });\n }, t);\n}\nfunction h(t, e, u) {\n var n = u.map(function(c) {\n var f = t(e, c);\n return f !== i.SKIP && (e = f), f;\n });\n return n(e), n;\n}\nfunction l(t, e) {\n var u = t.map(function(c) {\n return c[0];\n }), n = p(function() {\n var c = arguments[arguments.length - 1];\n return u.forEach(function(f, r) {\n c.indexOf(f) > -1 && (e = t[r][1](e, f()));\n }), e;\n }, u);\n return n(e), n;\n}\nfunction _() {\n var t = arguments[0], e = Array.prototype.slice.call(arguments, 1);\n return g(e).map(function(u) {\n return t.apply(void 0, u);\n });\n}\nfunction s(t) {\n return t._state === \"pending\" || t._state === \"active\" || t._state === \"changing\";\n}\nvar i = function(t) {\n var e = [], u = [];\n function n(r) {\n return arguments.length && r !== i.SKIP && (t = r, s(n) && (n._changing(), n._state = \"active\", e.slice().forEach(function(a, o) {\n s(a) && a(this[o](t));\n }, u.slice()))), t;\n }\n n.constructor = i, n._state = arguments.length && t !== i.SKIP ? \"active\" : \"pending\", n._parents = [], n._changing = function() {\n s(n) && (n._state = \"changing\"), e.forEach(function(r) {\n r._changing();\n });\n }, n._map = function(r, a) {\n var o = a ? i() : i(r(t));\n return o._parents.push(n), e.push(o), u.push(r), o;\n }, n.map = function(r) {\n return n._map(r, n._state !== \"active\");\n };\n var c;\n function f() {\n return c = i(), c.map(function(r) {\n return r === !0 && (n._parents.forEach(function(a) {\n a._unregisterChild(n);\n }), n._state = \"ended\", n._parents.length = e.length = u.length = 0), r;\n }), c;\n }\n return n.toJSON = function() {\n return t != null && typeof t.toJSON == \"function\" ? t.toJSON() : t;\n }, n[\"fantasy-land/map\"] = n.map, n[\"fantasy-land/ap\"] = function(r) {\n return p(\n function(a, o) {\n return a()(o());\n },\n [r, n]\n );\n }, n._unregisterChild = function(r) {\n var a = e.indexOf(r);\n a !== -1 && (e.splice(a, 1), u.splice(a, 1));\n }, Object.defineProperty(n, \"end\", {\n get: function() {\n return c || f();\n }\n }), n;\n};\nfunction p(t, e) {\n var u = e.every(function(a) {\n if (a.constructor !== i)\n throw new Error(\n \"Ensure that each item passed to stream.combine/stream.merge/lift is a stream.\"\n );\n return a._state === \"active\";\n }), n = u ? i(t.apply(null, e.concat([e]))) : i(), c = [], f = e.map(function(a) {\n return a._map(function(o) {\n return c.push(a), (u || e.every(function(m) {\n return m._state !== \"pending\";\n })) && (u = !0, n(t.apply(null, e.concat([c]))), c = []), o;\n }, !0);\n }), r = n.end.map(function(a) {\n a === !0 && (f.forEach(function(o) {\n o.end(!0);\n }), r.end(!0));\n });\n return n;\n}\ni.SKIP = {};\ni.lift = _;\ni.scan = h;\ni.merge = g;\ni.combine = p;\ni.scanMerge = l;\ni[\"fantasy-land/of\"] = i;\nvar d = !1;\nObject.defineProperty(i, \"HALT\", {\n get: function() {\n return d || console.log(\"HALT is deprecated and has been renamed to SKIP\"), d = !0, i.SKIP;\n }\n});\nexport {\n i as default\n};\n//# sourceMappingURL=mithril-stream-standalone.module.js.map\n","import Stream from \"mithril-stream-standalone\";\nconst findItem = (id, items) => items.find((item) => item.id === id);\nconst itemIndex = (id, items) => {\n const item = findItem(id, items);\n return item ? items.indexOf(item) : -1;\n};\nconst removeItem = (id, items) => {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items.splice(index, 1);\n }\n return items;\n};\nconst createId = (identityOptions, ns) => [ns, identityOptions.id, identityOptions.spawn].filter(Boolean).join(\"-\");\nconst store = {\n initialState: {\n store: {}\n },\n actions: (update2) => ({\n /**\n * Add an item to the end of the list.\n */\n add: (ns, item) => {\n update2((state) => {\n const items = state.store[ns] || [];\n state.store[ns] = [...items, item];\n if (item.timer) {\n item.timer.states.map(() => store.actions(update2).refresh());\n }\n return state;\n });\n },\n /**\n * Removes the first item with a match on `id`.\n */\n remove: (ns, id) => {\n update2((state) => {\n const items = state.store[ns] || [];\n const remaining2 = removeItem(id, items);\n state.store[ns] = remaining2;\n return state;\n });\n },\n /**\n * Replaces the first item with a match on `id` with a newItem.\n */\n replace: (ns, id, newItem) => {\n update2((state) => {\n const items = state.store[ns] || [];\n if (items) {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items[index] = newItem;\n state.store[ns] = [...items];\n }\n }\n return state;\n });\n },\n /**\n * Removes all items within a namespace.\n */\n removeAll: (ns) => {\n update2((state) => {\n state.store[ns] = [];\n return state;\n });\n },\n /**\n * Replaces all items within a namespace.\n */\n store: (ns, newItems) => {\n update2((state) => {\n state.store[ns] = [...newItems];\n return state;\n });\n },\n refresh: () => {\n update2((state) => ({\n ...state\n }));\n }\n }),\n selectors: (states2) => {\n const fns = {\n getStore: () => {\n const state = states2();\n return state.store;\n },\n find: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const id = createId(identityOptions, ns);\n const item = items.find((fitem) => fitem.id === id);\n return item ? { just: item } : { nothing: void 0 };\n },\n getAll: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const spawn = identityOptions !== void 0 ? identityOptions.spawn : void 0;\n const id = identityOptions !== void 0 ? identityOptions.id : void 0;\n const itemsBySpawn = spawn !== void 0 ? items.filter((fitem) => fitem.identityOptions.spawn === spawn) : items;\n const itemsById = id !== void 0 ? itemsBySpawn.filter((item) => item.identityOptions.id === id) : itemsBySpawn;\n return itemsById;\n },\n getCount: (ns, identityOptions) => fns.getAll(ns, identityOptions).length\n };\n return fns;\n }\n};\nconst update = Stream();\nconst states = Stream.scan(\n (state, patch) => patch(state),\n {\n ...store.initialState\n },\n update\n);\nconst actions = {\n ...store.actions(update)\n};\nconst selectors = {\n ...store.selectors(states)\n};\nconst initialState = {\n callback: () => {\n },\n isPaused: false,\n onAbort: () => {\n },\n onDone: () => {\n },\n promise: void 0,\n remaining: void 0,\n startTime: void 0,\n timeoutFn: () => {\n },\n timerId: void 0\n};\nconst appendStartTimer = (state, callback, duration, updateState) => {\n const timeoutFn = () => {\n callback();\n state.onDone();\n updateState();\n };\n return {\n timeoutFn,\n promise: new Promise((resolve) => {\n state.onDone = () => resolve();\n state.onAbort = () => resolve();\n }),\n ...state.isPaused ? {} : {\n startTime: new Date().getTime(),\n timerId: window.setTimeout(timeoutFn, duration),\n remaining: duration\n }\n };\n};\nconst appendStopTimeout = (state) => {\n window.clearTimeout(state.timerId);\n return {\n timerId: initialState.timerId\n };\n};\nconst appendStopTimer = (state) => ({\n ...appendStopTimeout(state)\n});\nconst appendPauseTimer = (state) => ({\n ...appendStopTimeout(state),\n isPaused: true,\n remaining: getRemaining$1(state)\n});\nconst appendResumeTimer = (state, minimumDuration) => {\n window.clearTimeout(state.timerId);\n const remaining2 = minimumDuration ? Math.max(state.remaining || 0, minimumDuration) : state.remaining;\n return {\n startTime: new Date().getTime(),\n isPaused: false,\n remaining: remaining2,\n timerId: window.setTimeout(state.timeoutFn, remaining2)\n };\n};\nconst getRemaining$1 = (state) => state.remaining === 0 || state.remaining === void 0 ? state.remaining : state.remaining - (new Date().getTime() - (state.startTime || 0));\nconst TimerStore = () => {\n const timer = {\n initialState,\n actions: (update22) => ({\n /**\n * Starts the timer\n * @param {callback} Function Callback function that is called after completion.\n * @param {duration} Number Timer duration in milliseconds.\n */\n start: (callback, duration) => {\n update22((state) => ({\n ...state,\n ...appendStopTimeout(state),\n ...appendStartTimer(\n state,\n callback,\n duration,\n () => timer.actions(update22).done()\n ),\n ...state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Stops the timer.\n */\n stop: () => {\n update22((state) => ({\n ...state,\n ...appendStopTimer(state),\n ...initialState\n }));\n },\n /**\n * Pauses a running timer.\n */\n pause: () => {\n update22((state) => ({\n ...state,\n ...!state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Resumes a paused timer.\n * @param {minimumDuration} Number Sets the minimum duration.\n */\n resume: (minimumDuration) => {\n update22((state) => ({\n ...state,\n ...state.isPaused && appendResumeTimer(state, minimumDuration)\n }));\n },\n /**\n * Aborts and clears a timer.\n */\n abort: () => {\n update22((state) => {\n state.onAbort();\n return {\n ...state,\n ...appendStopTimeout(state)\n };\n });\n },\n /**\n * Updates the current state. Used to get the state for selectors.getRemaining.\n */\n refresh: () => {\n update22((state) => ({\n ...state\n }));\n },\n /**\n * Brings the timer to its initial state.\n * Used internally.\n */\n done: () => {\n update22(() => initialState);\n }\n }),\n selectors: (states22) => ({\n /**\n * Returns the paused state.\n */\n isPaused: () => {\n const state = states22();\n return state.isPaused;\n },\n /**\n * Returns the remaining duration in milliseconds.\n */\n getRemaining: () => {\n const state = states22();\n return state.isPaused ? state.remaining : getRemaining$1(state);\n },\n /**\n * The promise that is handled when the timer is done or canceled.\n */\n getResultPromise: () => {\n const state = states22();\n return state.promise;\n }\n })\n };\n const update2 = Stream();\n const states2 = Stream.scan(\n (state, patch) => patch(state),\n {\n ...timer.initialState\n },\n update2\n );\n const actions2 = {\n ...timer.actions(update2)\n };\n const selectors2 = {\n ...timer.selectors(states2)\n };\n return {\n states: states2,\n actions: actions2,\n selectors: selectors2\n };\n};\nconst getStyleValue = ({\n domElement,\n prop\n}) => {\n const { defaultView } = document;\n if (defaultView) {\n const style = defaultView.getComputedStyle(domElement);\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n return void 0;\n};\nconst MODE = {\n SHOW: \"show\",\n HIDE: \"hide\"\n};\nconst removeTransitionClassNames = (domElement, transitionClassNames) => domElement.classList.remove(\n ...transitionClassNames.showStart,\n ...transitionClassNames.showEnd,\n ...transitionClassNames.hideStart,\n ...transitionClassNames.hideEnd\n);\nconst applyTransitionStyles = (domElement, step, styles) => {\n const transitionStyle = styles[step];\n if (transitionStyle) {\n Object.keys(transitionStyle).forEach((key) => {\n const value = transitionStyle[key];\n domElement.style[key] = value;\n });\n }\n};\nconst applyNoDurationTransitionStyle = (domElement) => {\n domElement.style.transitionDuration = \"0ms\";\n};\nconst getTransitionStyles = (domElement, styles) => (typeof styles === \"function\" ? styles(domElement) : styles) || {};\nconst createClassList = (className, step) => className.split(/ /).map((n) => `${n}-${step}`);\nconst applyStylesForState = (domElement, props, step, isEnterStep) => {\n if (props.styles) {\n const styles = getTransitionStyles(domElement, props.styles);\n applyTransitionStyles(domElement, \"default\", styles);\n if (isEnterStep) {\n applyNoDurationTransitionStyle(domElement);\n }\n applyTransitionStyles(domElement, step, styles);\n }\n if (props.className) {\n const transitionClassNames = {\n showStart: createClassList(props.className, \"show-start\"),\n showEnd: createClassList(props.className, \"show-end\"),\n hideStart: createClassList(props.className, \"hide-start\"),\n hideEnd: createClassList(props.className, \"hide-end\")\n };\n removeTransitionClassNames(domElement, transitionClassNames);\n if (transitionClassNames) {\n domElement.classList.add(...transitionClassNames[step]);\n }\n }\n domElement.scrollTop;\n};\nconst styleDurationToMs = (durationStr) => {\n const parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1e3 : 1);\n return Number.isNaN(parsed) ? 0 : parsed;\n};\nconst getDuration = (domElement) => {\n const durationStyleValue = getStyleValue({\n domElement,\n prop: \"transition-duration\"\n });\n const durationValue = durationStyleValue !== void 0 ? styleDurationToMs(durationStyleValue) : 0;\n const delayStyleValue = getStyleValue({\n domElement,\n prop: \"transition-delay\"\n });\n const delayValue = delayStyleValue !== void 0 ? styleDurationToMs(delayStyleValue) : 0;\n return durationValue + delayValue;\n};\nconst steps = {\n showStart: {\n nextStep: \"showEnd\"\n },\n showEnd: {\n nextStep: void 0\n },\n hideStart: {\n nextStep: \"hideEnd\"\n },\n hideEnd: {\n nextStep: void 0\n }\n};\nconst transition = (props, mode) => {\n const { domElement } = props;\n if (!domElement) {\n return Promise.resolve(\"no domElement\");\n }\n clearTimeout(props.__transitionTimeoutId__);\n let currentStep = mode === MODE.SHOW ? \"showStart\" : \"hideStart\";\n return new Promise((resolve) => {\n applyStylesForState(\n domElement,\n props,\n currentStep,\n currentStep === \"showStart\"\n );\n setTimeout(() => {\n const { nextStep } = steps[currentStep];\n if (nextStep) {\n currentStep = nextStep;\n applyStylesForState(domElement, props, currentStep);\n const duration = getDuration(domElement);\n props.__transitionTimeoutId__ = window.setTimeout(resolve, duration);\n }\n }, 0);\n });\n};\nconst localState = {\n uid: 0\n};\nconst getUid = () => {\n if (localState.uid === Number.MAX_VALUE) {\n localState.uid = 0;\n } else {\n localState.uid += 1;\n }\n return localState.uid;\n};\nconst getMaybeItem = (ns) => (defaultDialogicOptions) => (identityOptions) => selectors.find(\n ns,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getMergedIdentityOptions(defaultDialogicOptions, identityOptions)\n);\nconst filterBySpawn = (identityOptions) => (items) => identityOptions.spawn !== void 0 ? items.filter(\n (item) => item.identityOptions.spawn === identityOptions.spawn\n) : items;\nconst filterById = (identityOptions) => (items) => identityOptions.id !== void 0 ? items.filter((item) => item.identityOptions.id === identityOptions.id) : items;\nconst filterFirstInQueue = (nsItems) => {\n let queuedCount = 0;\n return nsItems.map((item) => ({\n item,\n queueCount: item.dialogicOptions.queued ? queuedCount++ : 0\n })).filter(({ queueCount }) => queueCount === 0).map(({ item }) => item);\n};\nconst filterCandidates = (ns, items, identityOptions) => {\n const nsItems = items[ns] || [];\n if (nsItems.length === 0) {\n return [];\n }\n const filteredBySpawn = filterBySpawn(identityOptions)(nsItems);\n return filterFirstInQueue(filteredBySpawn);\n};\nconst getPassThroughOptions = (options) => {\n const copy = {\n ...options\n };\n delete copy.dialogic;\n return copy;\n};\nconst getMergedIdentityOptions = (defaultDialogicOptions, identityOptions = {}) => ({\n id: identityOptions.id || defaultDialogicOptions.id,\n spawn: identityOptions.spawn || defaultDialogicOptions.spawn\n});\nconst handleOptions = (defaultDialogicOptions, options) => {\n const identityOptions = {\n id: (options == null ? void 0 : options.dialogic) ? options.dialogic.id : void 0,\n spawn: (options == null ? void 0 : options.dialogic) ? options.dialogic.spawn : void 0\n };\n const mergedIdentityOptions = getMergedIdentityOptions(\n defaultDialogicOptions || {},\n identityOptions\n );\n const dialogicOptions = {\n ...defaultDialogicOptions,\n ...options == null ? void 0 : options.dialogic,\n __transitionTimeoutId__: 0\n };\n const passThroughOptions = options ? getPassThroughOptions(options) : {};\n return {\n identityOptions: mergedIdentityOptions,\n dialogicOptions,\n passThroughOptions\n };\n};\nconst createInstance = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n return new Promise((resolve) => {\n const callbacks = {\n willShow: (item2) => {\n if (dialogicOptions.willShow) {\n dialogicOptions.willShow(item2);\n }\n return resolve(item2);\n },\n willHide: (item2) => {\n if (dialogicOptions.willHide) {\n dialogicOptions.willHide(item2);\n }\n return resolve(item2);\n },\n didShow: (item2) => {\n if (dialogicOptions.didShow) {\n dialogicOptions.didShow(item2);\n }\n return resolve(item2);\n },\n didHide: (item2) => {\n if (dialogicOptions.didHide) {\n dialogicOptions.didHide(item2);\n }\n return resolve(item2);\n }\n };\n const item = {\n ns,\n identityOptions,\n dialogicOptions,\n callbacks,\n passThroughOptions,\n id: createId(identityOptions, ns),\n timer: dialogicOptions.timeout ? TimerStore() : void 0,\n // when timeout is undefined or 0\n key: getUid().toString(),\n // Uniquely identify each item for keyed display\n transitionState: 0\n /* Default */\n };\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem && dialogicOptions.toggle) {\n hide(ns)(defaultDialogicOptions)(options);\n resolve(existingItem);\n return;\n }\n if (existingItem && !dialogicOptions.queued) {\n const replacingItem = {\n ...item,\n key: existingItem.key,\n transitionState: existingItem.transitionState,\n dialogicOptions: existingItem.dialogicOptions\n // Preserve dialogicOptions\n };\n actions.replace(ns, existingItem.id, replacingItem);\n } else {\n actions.add(ns, item);\n }\n resolve(item);\n });\n};\nconst show = createInstance;\nconst hide = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem) {\n const item = {\n ...existingItem,\n dialogicOptions: {\n ...existingItem.dialogicOptions,\n ...dialogicOptions\n },\n passThroughOptions: {\n ...existingItem.passThroughOptions,\n passThroughOptions\n }\n };\n actions.replace(ns, existingItem.id, item);\n if (item.transitionState !== 2) {\n return hideItem(item);\n }\n return Promise.resolve(item);\n }\n return Promise.resolve({\n ns,\n id: identityOptions.id\n });\n};\nconst pause = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.pause();\n }\n });\n return Promise.all(validItems);\n};\nconst resume = (ns) => (_defaultDialogicOptions) => (commandOptions) => {\n const options = commandOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.resume(options.minimumDuration);\n }\n });\n return Promise.all(validItems);\n};\nconst getTimerSelectors = (ns, defaultDialogicOptions, identityOptions) => {\n var _a, _b;\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n return (_b = (_a = maybeItem == null ? void 0 : maybeItem.just) == null ? void 0 : _a.timer) == null ? void 0 : _b.selectors;\n};\nconst isPaused = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.isPaused()) || false;\n};\nconst getRemaining = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.getRemaining()) || void 0;\n};\nconst exists = (ns) => (_defaultDialogicOptions) => (identityOptions) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n !!getValidItems(ns, identityOptions).length\n);\nconst getValidItems = (ns, identityOptions) => {\n const allItems = selectors.getAll(ns);\n let validItems;\n if (identityOptions) {\n const filteredBySpawn = filterBySpawn(identityOptions)(allItems);\n validItems = filterById(identityOptions)(filteredBySpawn);\n } else {\n validItems = allItems;\n }\n return validItems;\n};\nconst resetAll = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions);\n const items = [];\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.abort();\n }\n items.push(item);\n });\n if (identityOptions) {\n items.forEach((item) => {\n actions.remove(ns, item.id);\n });\n } else {\n actions.removeAll(ns);\n }\n return Promise.resolve(items);\n};\nconst getOverridingTransitionOptions = (item, dialogicOptions) => ({\n ...item,\n dialogicOptions: {\n ...item.dialogicOptions,\n ...dialogicOptions\n }\n});\nconst hideAll = (ns) => (_defaultDialogicOptions) => (dialogicOptions) => {\n const options = dialogicOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions);\n const regularItems = validItems.filter(\n (item) => !options.queued && !item.dialogicOptions.queued\n );\n const queuedItems = validItems.filter(\n (item) => options.queued || item.dialogicOptions.queued\n );\n const items = [];\n regularItems.forEach(\n (item) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n items.push(hideItem(getOverridingTransitionOptions(item, options)))\n )\n );\n if (queuedItems.length > 0) {\n const [current] = queuedItems;\n actions.store(ns, [current]);\n items.push(hideItem(getOverridingTransitionOptions(current, options)));\n }\n return Promise.all(items);\n};\nconst getCount = (ns) => (identityOptions) => selectors.getCount(ns, identityOptions);\nconst transitionItem = (item, mode) => transition(item.dialogicOptions, mode);\nconst getResultPromise = () => (ns) => (defaultDialogicOptions) => (identityOptions) => {\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n if (maybeItem.just) {\n if (maybeItem.just && maybeItem.just.timer) {\n return maybeItem.just.timer.selectors.getResultPromise();\n }\n return void 0;\n }\n return void 0;\n};\nconst deferredHideItem = async (item, timer, timeout) => {\n timer.actions.start(() => hideItem(item), timeout);\n return getResultPromise();\n};\nconst showItem = async (item) => {\n if (item.callbacks.willShow) {\n item.callbacks.willShow(item);\n }\n if (item.transitionState !== 1) {\n item.transitionState = 1;\n await transitionItem(item, MODE.SHOW);\n }\n if (item.callbacks.didShow) {\n item.callbacks.didShow(item);\n }\n if (item.dialogicOptions.timeout && item.timer) {\n await deferredHideItem(item, item.timer, item.dialogicOptions.timeout);\n }\n return Promise.resolve(item);\n};\nconst hideItem = async (item) => {\n item.transitionState = 2;\n if (item.timer) {\n item.timer.actions.stop();\n }\n if (item.callbacks.willHide) {\n item.callbacks.willHide(item);\n }\n await transitionItem(item, MODE.HIDE);\n if (item.callbacks.didHide) {\n item.callbacks.didHide(item);\n }\n const copy = {\n ...item\n };\n actions.remove(item.ns, item.id);\n return Promise.resolve(copy);\n};\nconst setDomElement = (domElement, item) => {\n item.dialogicOptions.domElement = domElement;\n};\nconst dialogical = ({\n ns,\n queued,\n timeout\n}) => {\n const defaultId = `default_${ns}`;\n const defaultSpawn = `default_${ns}`;\n const defaultDialogicOptions = {\n id: defaultId,\n spawn: defaultSpawn,\n ...queued && { queued },\n ...timeout !== void 0 && { timeout }\n };\n return {\n // Identification\n ns,\n defaultId,\n defaultSpawn,\n // Configuration\n defaultDialogicOptions,\n // Commands\n show: show(ns)(defaultDialogicOptions),\n hide: hide(ns)(defaultDialogicOptions),\n hideAll: hideAll(ns)(defaultDialogicOptions),\n resetAll: resetAll(ns)(defaultDialogicOptions),\n // Timer commands\n pause: pause(ns)(defaultDialogicOptions),\n resume: resume(ns)(defaultDialogicOptions),\n // State\n exists: exists(ns)(defaultDialogicOptions),\n getCount: getCount(ns),\n // Timer state\n isPaused: isPaused(ns)(defaultDialogicOptions),\n getRemaining: getRemaining(ns)(defaultDialogicOptions)\n };\n};\nconst dialog = dialogical({ ns: \"dialog\" });\nconst notification = dialogical({\n ns: \"notification\",\n queued: true,\n timeout: 3e3\n});\nconst remaining = (props) => {\n let displayValue;\n let reqId;\n let isCanceled = false;\n const identity = {\n id: props.id,\n spawn: props.spawn\n };\n const update2 = () => {\n const remainingValue = props.instance.getRemaining(identity);\n if (displayValue !== remainingValue) {\n displayValue = remainingValue === void 0 ? remainingValue : props.roundToSeconds ? Math.round(Math.max(remainingValue, 0) / 1e3) : Math.max(remainingValue, 0);\n }\n props.callback(displayValue);\n if (!props.instance.exists(identity)) {\n window.cancelAnimationFrame(reqId);\n isCanceled = true;\n } else if (!isCanceled) {\n reqId = window.requestAnimationFrame(update2);\n }\n };\n reqId = window.requestAnimationFrame(update2);\n};\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n types as Dialogic,\n actions,\n dialog,\n dialogical,\n exists,\n filterCandidates,\n getCount,\n getRemaining,\n hide,\n hideAll,\n hideItem,\n isPaused,\n notification,\n pause,\n remaining,\n resetAll,\n resume,\n selectors,\n setDomElement,\n show,\n showItem,\n states\n};\n//# sourceMappingURL=dialogic.module.js.map\n","import React from \"react\";\nconst useStream = ({\n model,\n onMount,\n onDestroy,\n onUpdate,\n deps = [],\n defer,\n debug\n}) => {\n const [streamValues, setStreamValues] = React.useState({});\n const isInitedRef = React.useRef(false);\n const subsRef = React.useRef([]);\n const subscribe = (memo2) => {\n if (debug) {\n debug(\"Subscribe\");\n }\n subsRef.current = Object.keys(memo2).map((key) => {\n const stream = memo2[key];\n if (stream.map && typeof stream.map === \"function\") {\n return stream.map((value) => {\n if (debug) {\n debug(\"Will update %s\", key);\n }\n setStreamValues({\n ...streamValues,\n [key]: value\n });\n return null;\n });\n }\n return false;\n }).filter(Boolean);\n };\n const unsubscribe = () => {\n if (subsRef.current.length) {\n if (debug) {\n debug(\"Unsubscribe\");\n }\n subsRef.current.forEach((s) => s.end(true));\n subsRef.current = [];\n }\n };\n const createMemo = () => {\n if (debug) {\n debug(\"createMemo\");\n }\n unsubscribe();\n const modelFn = typeof model === \"function\" ? model : () => model;\n const memo2 = modelFn();\n subscribe(memo2);\n return memo2;\n };\n const [memo, setMemo] = React.useState(\n defer ? { ...model, isDeferred: true } : createMemo\n );\n React.useEffect(() => {\n if (!isInitedRef.current) {\n return;\n }\n if (debug) {\n debug(\"Updating\");\n }\n if (onUpdate) {\n const localMemo = createMemo();\n setMemo(localMemo);\n onUpdate(localMemo);\n }\n }, deps);\n React.useEffect(() => {\n if (debug) {\n debug(\"Mounting\");\n }\n let localMemo = memo;\n if (defer) {\n localMemo = createMemo();\n setMemo(localMemo);\n }\n if (onMount && localMemo) {\n onMount(localMemo);\n }\n isInitedRef.current = true;\n return () => {\n if (debug) {\n debug(\"Unmounting\");\n }\n unsubscribe();\n if (onDestroy) {\n onDestroy(memo);\n }\n };\n }, []);\n return memo;\n};\nexport {\n useStream\n};\n//# sourceMappingURL=use-stream.module.js.map\n","import { Dialogic, states } from 'dialogic';\nimport { useStream } from 'use-stream';\n\ntype TModel = {\n _: Dialogic.States;\n};\n\nexport const useDialogicState = () => {\n // Subscribe to changes\n useStream({\n model: () => ({\n _: states,\n }),\n defer: true,\n });\n};\n","import { Dialogic } from 'dialogic';\nimport React, { FunctionComponent, useCallback, useRef } from 'react';\n\ntype ComponentProps = T & {\n show: () => void;\n hide: () => void;\n};\n\nexport function Instance(props: Dialogic.DialogicalInstanceOptions) {\n const domElementRef = useRef();\n const { className } = props.dialogicOptions;\n const Component = props.dialogicOptions.component as FunctionComponent<\n ComponentProps\n >;\n if (!Component) {\n throw new Error('Component missing in dialogic options.');\n }\n\n const dispatchTransition = (\n dispatchFn: Dialogic.DialogicalInstanceDispatchFn,\n ) => {\n const domElement = domElementRef.current;\n if (domElement === undefined) {\n return;\n }\n dispatchFn({\n detail: {\n identityOptions: props.identityOptions,\n domElement,\n },\n });\n };\n\n const onMount = () => {\n dispatchTransition(props.onMount);\n };\n\n const show = () => {\n dispatchTransition(props.onShow);\n };\n\n const hide = () => {\n dispatchTransition(props.onHide);\n };\n\n const domElementCb = useCallback((node: HTMLDivElement) => {\n if (node !== null) {\n domElementRef.current = node;\n onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const passThroughOptions: T = props.passThroughOptions || ({} as T);\n\n return (\n
\n \n
\n );\n}\n","import {\n Dialogic,\n hideItem,\n selectors,\n setDomElement,\n showItem,\n} from 'dialogic';\n\nexport const handleDispatch =\n (ns: string) =>\n (event: Dialogic.InstanceEvent, fn: Dialogic.InitiateItemTransitionFn) => {\n // Update dispatching item:\n const maybeItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeItem.just) {\n setDomElement(event.detail.domElement, maybeItem.just);\n }\n // Find item to transition:\n const maybeTransitioningItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeTransitioningItem.just) {\n fn(maybeTransitioningItem.just);\n }\n };\n\nexport const onInstanceMounted =\n (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onShowInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onHideInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, hideItem);\n","import { Dialogic, filterCandidates, selectors } from 'dialogic';\nimport React from 'react';\n\nimport { Instance } from './Instance';\nimport {\n onHideInstance,\n onInstanceMounted,\n onShowInstance,\n} from './instanceEvents';\n\nexport function Wrapper(props: Dialogic.DialogicalWrapperOptions) {\n const nsOnInstanceMounted = onInstanceMounted(props.ns);\n const nsOnShowInstance = onShowInstance(props.ns);\n const nsOnHideInstance = onHideInstance(props.ns);\n\n const identityOptions: Dialogic.IdentityOptions =\n props.identityOptions || ({} as Dialogic.IdentityOptions);\n const filtered = filterCandidates(\n props.ns,\n selectors.getStore(),\n identityOptions,\n );\n\n return (\n <>\n {filtered.map(item => (\n \n }\n passThroughOptions={\n item.passThroughOptions as Dialogic.PassThroughOptions\n }\n onMount={nsOnInstanceMounted}\n onShow={nsOnShowInstance}\n onHide={nsOnHideInstance}\n />\n ))}\n \n );\n}\n","import { Dialogic } from 'dialogic';\nimport React, { useEffect } from 'react';\n\nimport { useDialogicState } from './useDialogicState';\nimport { Wrapper } from './Wrapper';\n\ntype Props = {\n instance: Dialogic.DialogicInstance;\n} & Dialogic.ComponentOptions;\n\nexport function Dialogical({ instance, ...props }: Props) {\n useDialogicState();\n\n const identityOptions = {\n id: props.id || instance.defaultId,\n spawn: props.spawn || instance.defaultSpawn,\n };\n\n // Mount\n useEffect(() => {\n if (typeof props.onMount === 'function') {\n props.onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return ;\n}\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport type {\n UseDialogicInstanceProps,\n UseDialogicProps,\n} from 'dialogic-hooks';\nimport React, { PropsWithChildren, useEffect, useState } from 'react';\n\nlet useDialogicCounter = 0;\n\nexport const useDialogic = ({\n isIgnore,\n isShow,\n isHide,\n instance,\n deps = [],\n props = {} as T & Dialogic.Options,\n}: UseDialogicInstanceProps) => {\n // Create an id if not set.\n // This is useful for pages with multiple dialogs, where we can't expect\n // to have the user set an explicit id for each.\n // eslint-disable-next-line no-plusplus\n const [id] = useState(useDialogicCounter++);\n const augProps = {\n ...props,\n ...(props?.dialogic\n ? {\n dialogic: {\n ...props.dialogic,\n id: props.dialogic.id || id,\n },\n }\n : {\n dialogic: {\n id,\n },\n }),\n };\n\n const showInstance = () => {\n instance.show(augProps);\n };\n\n const hideInstance = () => {\n instance.hide(augProps);\n };\n\n // maybe show\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isShow !== undefined) {\n if (isShow) {\n showInstance();\n } else {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isShow]);\n\n // maybe hide\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isHide !== undefined) {\n if (isHide) {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isHide]);\n\n // unmount\n useEffect(() => {\n if (isIgnore) {\n return undefined;\n }\n // eslint-disable-next-line consistent-return\n return () => {\n hideInstance();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n show: showInstance,\n hide: hideInstance,\n };\n};\n\nexport const useDialog = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: dialog,\n });\n\nexport const useNotification = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: notification,\n });\n\n/**\n * Helper component that wraps `useDialogic` to use with JSX syntax.\n */\nexport function UseDialogic(\n props: PropsWithChildren>,\n) {\n useDialogic(props);\n return null;\n}\n\nexport function UseDialog(props: PropsWithChildren>) {\n return ;\n}\n\nexport function UseNotification(\n props: PropsWithChildren>,\n) {\n return ;\n}\n","import { remaining } from 'dialogic';\nimport type { UseRemainingProps } from 'dialogic-hooks';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nfunction useIsMounted(): () => boolean {\n const ref = useRef(false);\n\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return useCallback(() => ref.current, [ref]);\n}\n\nexport const useRemaining = ({\n instance,\n id,\n spawn,\n roundToSeconds,\n}: UseRemainingProps) => {\n const isMounted = useIsMounted();\n const [value, _setValue] = useState(undefined);\n const identity = {\n id,\n spawn,\n };\n const exists = !!instance.exists(identity);\n const setValue = (newValue: number | undefined) => {\n if (isMounted()) {\n _setValue(newValue);\n }\n };\n\n useMemo(() => {\n if (exists) {\n remaining({\n ...identity,\n instance,\n roundToSeconds,\n callback: (newValue: number | undefined) => {\n setValue(newValue);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [exists]);\n\n return [value];\n};\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport React from 'react';\n\nimport { Dialogical } from './Dialogical';\n\nfunction Dialog(props: Dialogic.ComponentOptions) {\n return ;\n}\nfunction Notification(props: Dialogic.ComponentOptions) {\n return ;\n}\n\nexport * from './useDialogic';\nexport * from './useDialogicState';\nexport * from './useRemaining';\nexport { dialog, Dialogic, notification, remaining } from 'dialogic';\nexport { Dialog, Dialogical, Notification };\n"],"names":["Stream","s","useRef","show","hide","useCallback","useEffect","useState","exists","useMemo"],"mappings":"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","x_google_ignoreList":[0,2]} \ No newline at end of file diff --git a/packages/dialogic-react/dist/dialogic-react.module.js b/packages/dialogic-react/dist/dialogic-react.module.js index c127e9b6..fc9d6c51 100644 --- a/packages/dialogic-react/dist/dialogic-react.module.js +++ b/packages/dialogic-react/dist/dialogic-react.module.js @@ -936,7 +936,15 @@ const remaining = (props) => { const types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null }, Symbol.toStringTag, { value: "Module" })); -const useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debug }) => { +const useStream = ({ + model, + onMount, + onDestroy, + onUpdate, + deps = [], + defer, + debug +}) => { const [streamValues, setStreamValues] = React.useState({}); const isInitedRef = React.useRef(false); const subsRef = React.useRef([]); @@ -980,7 +988,9 @@ const useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debu subscribe(memo2); return memo2; }; - const [memo, setMemo] = React.useState(defer ? { ...model, isDeferred: true } : createMemo); + const [memo, setMemo] = React.useState( + defer ? { ...model, isDeferred: true } : createMemo + ); React.useEffect(() => { if (!isInitedRef.current) { return; diff --git a/packages/dialogic-react/dist/dialogic-react.module.js.map b/packages/dialogic-react/dist/dialogic-react.module.js.map index e27c06a4..795093e8 100644 --- a/packages/dialogic-react/dist/dialogic-react.module.js.map +++ b/packages/dialogic-react/dist/dialogic-react.module.js.map @@ -1 +1 @@ -{"version":3,"file":"dialogic-react.module.js","sources":["../../../node_modules/mithril-stream-standalone/dist/mithril-stream-standalone.module.js","../../dialogic/dist/dialogic.module.js","../../../node_modules/use-stream/dist/use-stream.module.js","../src/useDialogicState.tsx","../src/Instance.tsx","../src/instanceEvents.ts","../src/Wrapper.tsx","../src/Dialogical.tsx","../src/useDialogic.tsx","../src/useRemaining.ts","../src/index.tsx"],"sourcesContent":["function g(t) {\n return p(function() {\n return t.map(function(e) {\n return e();\n });\n }, t);\n}\nfunction h(t, e, u) {\n var n = u.map(function(c) {\n var f = t(e, c);\n return f !== i.SKIP && (e = f), f;\n });\n return n(e), n;\n}\nfunction l(t, e) {\n var u = t.map(function(c) {\n return c[0];\n }), n = p(function() {\n var c = arguments[arguments.length - 1];\n return u.forEach(function(f, r) {\n c.indexOf(f) > -1 && (e = t[r][1](e, f()));\n }), e;\n }, u);\n return n(e), n;\n}\nfunction _() {\n var t = arguments[0], e = Array.prototype.slice.call(arguments, 1);\n return g(e).map(function(u) {\n return t.apply(void 0, u);\n });\n}\nfunction s(t) {\n return t._state === \"pending\" || t._state === \"active\" || t._state === \"changing\";\n}\nvar i = function(t) {\n var e = [], u = [];\n function n(r) {\n return arguments.length && r !== i.SKIP && (t = r, s(n) && (n._changing(), n._state = \"active\", e.slice().forEach(function(a, o) {\n s(a) && a(this[o](t));\n }, u.slice()))), t;\n }\n n.constructor = i, n._state = arguments.length && t !== i.SKIP ? \"active\" : \"pending\", n._parents = [], n._changing = function() {\n s(n) && (n._state = \"changing\"), e.forEach(function(r) {\n r._changing();\n });\n }, n._map = function(r, a) {\n var o = a ? i() : i(r(t));\n return o._parents.push(n), e.push(o), u.push(r), o;\n }, n.map = function(r) {\n return n._map(r, n._state !== \"active\");\n };\n var c;\n function f() {\n return c = i(), c.map(function(r) {\n return r === !0 && (n._parents.forEach(function(a) {\n a._unregisterChild(n);\n }), n._state = \"ended\", n._parents.length = e.length = u.length = 0), r;\n }), c;\n }\n return n.toJSON = function() {\n return t != null && typeof t.toJSON == \"function\" ? t.toJSON() : t;\n }, n[\"fantasy-land/map\"] = n.map, n[\"fantasy-land/ap\"] = function(r) {\n return p(\n function(a, o) {\n return a()(o());\n },\n [r, n]\n );\n }, n._unregisterChild = function(r) {\n var a = e.indexOf(r);\n a !== -1 && (e.splice(a, 1), u.splice(a, 1));\n }, Object.defineProperty(n, \"end\", {\n get: function() {\n return c || f();\n }\n }), n;\n};\nfunction p(t, e) {\n var u = e.every(function(a) {\n if (a.constructor !== i)\n throw new Error(\n \"Ensure that each item passed to stream.combine/stream.merge/lift is a stream.\"\n );\n return a._state === \"active\";\n }), n = u ? i(t.apply(null, e.concat([e]))) : i(), c = [], f = e.map(function(a) {\n return a._map(function(o) {\n return c.push(a), (u || e.every(function(m) {\n return m._state !== \"pending\";\n })) && (u = !0, n(t.apply(null, e.concat([c]))), c = []), o;\n }, !0);\n }), r = n.end.map(function(a) {\n a === !0 && (f.forEach(function(o) {\n o.end(!0);\n }), r.end(!0));\n });\n return n;\n}\ni.SKIP = {};\ni.lift = _;\ni.scan = h;\ni.merge = g;\ni.combine = p;\ni.scanMerge = l;\ni[\"fantasy-land/of\"] = i;\nvar d = !1;\nObject.defineProperty(i, \"HALT\", {\n get: function() {\n return d || console.log(\"HALT is deprecated and has been renamed to SKIP\"), d = !0, i.SKIP;\n }\n});\nexport {\n i as default\n};\n//# sourceMappingURL=mithril-stream-standalone.module.js.map\n","import Stream from \"mithril-stream-standalone\";\nconst findItem = (id, items) => items.find((item) => item.id === id);\nconst itemIndex = (id, items) => {\n const item = findItem(id, items);\n return item ? items.indexOf(item) : -1;\n};\nconst removeItem = (id, items) => {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items.splice(index, 1);\n }\n return items;\n};\nconst createId = (identityOptions, ns) => [ns, identityOptions.id, identityOptions.spawn].filter(Boolean).join(\"-\");\nconst store = {\n initialState: {\n store: {}\n },\n actions: (update2) => ({\n /**\n * Add an item to the end of the list.\n */\n add: (ns, item) => {\n update2((state) => {\n const items = state.store[ns] || [];\n state.store[ns] = [...items, item];\n if (item.timer) {\n item.timer.states.map(() => store.actions(update2).refresh());\n }\n return state;\n });\n },\n /**\n * Removes the first item with a match on `id`.\n */\n remove: (ns, id) => {\n update2((state) => {\n const items = state.store[ns] || [];\n const remaining2 = removeItem(id, items);\n state.store[ns] = remaining2;\n return state;\n });\n },\n /**\n * Replaces the first item with a match on `id` with a newItem.\n */\n replace: (ns, id, newItem) => {\n update2((state) => {\n const items = state.store[ns] || [];\n if (items) {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items[index] = newItem;\n state.store[ns] = [...items];\n }\n }\n return state;\n });\n },\n /**\n * Removes all items within a namespace.\n */\n removeAll: (ns) => {\n update2((state) => {\n state.store[ns] = [];\n return state;\n });\n },\n /**\n * Replaces all items within a namespace.\n */\n store: (ns, newItems) => {\n update2((state) => {\n state.store[ns] = [...newItems];\n return state;\n });\n },\n refresh: () => {\n update2((state) => ({\n ...state\n }));\n }\n }),\n selectors: (states2) => {\n const fns = {\n getStore: () => {\n const state = states2();\n return state.store;\n },\n find: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const id = createId(identityOptions, ns);\n const item = items.find((fitem) => fitem.id === id);\n return item ? { just: item } : { nothing: void 0 };\n },\n getAll: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const spawn = identityOptions !== void 0 ? identityOptions.spawn : void 0;\n const id = identityOptions !== void 0 ? identityOptions.id : void 0;\n const itemsBySpawn = spawn !== void 0 ? items.filter((fitem) => fitem.identityOptions.spawn === spawn) : items;\n const itemsById = id !== void 0 ? itemsBySpawn.filter((item) => item.identityOptions.id === id) : itemsBySpawn;\n return itemsById;\n },\n getCount: (ns, identityOptions) => fns.getAll(ns, identityOptions).length\n };\n return fns;\n }\n};\nconst update = Stream();\nconst states = Stream.scan(\n (state, patch) => patch(state),\n {\n ...store.initialState\n },\n update\n);\nconst actions = {\n ...store.actions(update)\n};\nconst selectors = {\n ...store.selectors(states)\n};\nconst initialState = {\n callback: () => {\n },\n isPaused: false,\n onAbort: () => {\n },\n onDone: () => {\n },\n promise: void 0,\n remaining: void 0,\n startTime: void 0,\n timeoutFn: () => {\n },\n timerId: void 0\n};\nconst appendStartTimer = (state, callback, duration, updateState) => {\n const timeoutFn = () => {\n callback();\n state.onDone();\n updateState();\n };\n return {\n timeoutFn,\n promise: new Promise((resolve) => {\n state.onDone = () => resolve();\n state.onAbort = () => resolve();\n }),\n ...state.isPaused ? {} : {\n startTime: new Date().getTime(),\n timerId: window.setTimeout(timeoutFn, duration),\n remaining: duration\n }\n };\n};\nconst appendStopTimeout = (state) => {\n window.clearTimeout(state.timerId);\n return {\n timerId: initialState.timerId\n };\n};\nconst appendStopTimer = (state) => ({\n ...appendStopTimeout(state)\n});\nconst appendPauseTimer = (state) => ({\n ...appendStopTimeout(state),\n isPaused: true,\n remaining: getRemaining$1(state)\n});\nconst appendResumeTimer = (state, minimumDuration) => {\n window.clearTimeout(state.timerId);\n const remaining2 = minimumDuration ? Math.max(state.remaining || 0, minimumDuration) : state.remaining;\n return {\n startTime: new Date().getTime(),\n isPaused: false,\n remaining: remaining2,\n timerId: window.setTimeout(state.timeoutFn, remaining2)\n };\n};\nconst getRemaining$1 = (state) => state.remaining === 0 || state.remaining === void 0 ? state.remaining : state.remaining - (new Date().getTime() - (state.startTime || 0));\nconst TimerStore = () => {\n const timer = {\n initialState,\n actions: (update22) => ({\n /**\n * Starts the timer\n * @param {callback} Function Callback function that is called after completion.\n * @param {duration} Number Timer duration in milliseconds.\n */\n start: (callback, duration) => {\n update22((state) => ({\n ...state,\n ...appendStopTimeout(state),\n ...appendStartTimer(\n state,\n callback,\n duration,\n () => timer.actions(update22).done()\n ),\n ...state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Stops the timer.\n */\n stop: () => {\n update22((state) => ({\n ...state,\n ...appendStopTimer(state),\n ...initialState\n }));\n },\n /**\n * Pauses a running timer.\n */\n pause: () => {\n update22((state) => ({\n ...state,\n ...!state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Resumes a paused timer.\n * @param {minimumDuration} Number Sets the minimum duration.\n */\n resume: (minimumDuration) => {\n update22((state) => ({\n ...state,\n ...state.isPaused && appendResumeTimer(state, minimumDuration)\n }));\n },\n /**\n * Aborts and clears a timer.\n */\n abort: () => {\n update22((state) => {\n state.onAbort();\n return {\n ...state,\n ...appendStopTimeout(state)\n };\n });\n },\n /**\n * Updates the current state. Used to get the state for selectors.getRemaining.\n */\n refresh: () => {\n update22((state) => ({\n ...state\n }));\n },\n /**\n * Brings the timer to its initial state.\n * Used internally.\n */\n done: () => {\n update22(() => initialState);\n }\n }),\n selectors: (states22) => ({\n /**\n * Returns the paused state.\n */\n isPaused: () => {\n const state = states22();\n return state.isPaused;\n },\n /**\n * Returns the remaining duration in milliseconds.\n */\n getRemaining: () => {\n const state = states22();\n return state.isPaused ? state.remaining : getRemaining$1(state);\n },\n /**\n * The promise that is handled when the timer is done or canceled.\n */\n getResultPromise: () => {\n const state = states22();\n return state.promise;\n }\n })\n };\n const update2 = Stream();\n const states2 = Stream.scan(\n (state, patch) => patch(state),\n {\n ...timer.initialState\n },\n update2\n );\n const actions2 = {\n ...timer.actions(update2)\n };\n const selectors2 = {\n ...timer.selectors(states2)\n };\n return {\n states: states2,\n actions: actions2,\n selectors: selectors2\n };\n};\nconst getStyleValue = ({\n domElement,\n prop\n}) => {\n const { defaultView } = document;\n if (defaultView) {\n const style = defaultView.getComputedStyle(domElement);\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n return void 0;\n};\nconst MODE = {\n SHOW: \"show\",\n HIDE: \"hide\"\n};\nconst removeTransitionClassNames = (domElement, transitionClassNames) => domElement.classList.remove(\n ...transitionClassNames.showStart,\n ...transitionClassNames.showEnd,\n ...transitionClassNames.hideStart,\n ...transitionClassNames.hideEnd\n);\nconst applyTransitionStyles = (domElement, step, styles) => {\n const transitionStyle = styles[step];\n if (transitionStyle) {\n Object.keys(transitionStyle).forEach((key) => {\n const value = transitionStyle[key];\n domElement.style[key] = value;\n });\n }\n};\nconst applyNoDurationTransitionStyle = (domElement) => {\n domElement.style.transitionDuration = \"0ms\";\n};\nconst getTransitionStyles = (domElement, styles) => (typeof styles === \"function\" ? styles(domElement) : styles) || {};\nconst createClassList = (className, step) => className.split(/ /).map((n) => `${n}-${step}`);\nconst applyStylesForState = (domElement, props, step, isEnterStep) => {\n if (props.styles) {\n const styles = getTransitionStyles(domElement, props.styles);\n applyTransitionStyles(domElement, \"default\", styles);\n if (isEnterStep) {\n applyNoDurationTransitionStyle(domElement);\n }\n applyTransitionStyles(domElement, step, styles);\n }\n if (props.className) {\n const transitionClassNames = {\n showStart: createClassList(props.className, \"show-start\"),\n showEnd: createClassList(props.className, \"show-end\"),\n hideStart: createClassList(props.className, \"hide-start\"),\n hideEnd: createClassList(props.className, \"hide-end\")\n };\n removeTransitionClassNames(domElement, transitionClassNames);\n if (transitionClassNames) {\n domElement.classList.add(...transitionClassNames[step]);\n }\n }\n domElement.scrollTop;\n};\nconst styleDurationToMs = (durationStr) => {\n const parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1e3 : 1);\n return Number.isNaN(parsed) ? 0 : parsed;\n};\nconst getDuration = (domElement) => {\n const durationStyleValue = getStyleValue({\n domElement,\n prop: \"transition-duration\"\n });\n const durationValue = durationStyleValue !== void 0 ? styleDurationToMs(durationStyleValue) : 0;\n const delayStyleValue = getStyleValue({\n domElement,\n prop: \"transition-delay\"\n });\n const delayValue = delayStyleValue !== void 0 ? styleDurationToMs(delayStyleValue) : 0;\n return durationValue + delayValue;\n};\nconst steps = {\n showStart: {\n nextStep: \"showEnd\"\n },\n showEnd: {\n nextStep: void 0\n },\n hideStart: {\n nextStep: \"hideEnd\"\n },\n hideEnd: {\n nextStep: void 0\n }\n};\nconst transition = (props, mode) => {\n const { domElement } = props;\n if (!domElement) {\n return Promise.resolve(\"no domElement\");\n }\n clearTimeout(props.__transitionTimeoutId__);\n let currentStep = mode === MODE.SHOW ? \"showStart\" : \"hideStart\";\n return new Promise((resolve) => {\n applyStylesForState(\n domElement,\n props,\n currentStep,\n currentStep === \"showStart\"\n );\n setTimeout(() => {\n const { nextStep } = steps[currentStep];\n if (nextStep) {\n currentStep = nextStep;\n applyStylesForState(domElement, props, currentStep);\n const duration = getDuration(domElement);\n props.__transitionTimeoutId__ = window.setTimeout(resolve, duration);\n }\n }, 0);\n });\n};\nconst localState = {\n uid: 0\n};\nconst getUid = () => {\n if (localState.uid === Number.MAX_VALUE) {\n localState.uid = 0;\n } else {\n localState.uid += 1;\n }\n return localState.uid;\n};\nconst getMaybeItem = (ns) => (defaultDialogicOptions) => (identityOptions) => selectors.find(\n ns,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getMergedIdentityOptions(defaultDialogicOptions, identityOptions)\n);\nconst filterBySpawn = (identityOptions) => (items) => identityOptions.spawn !== void 0 ? items.filter(\n (item) => item.identityOptions.spawn === identityOptions.spawn\n) : items;\nconst filterById = (identityOptions) => (items) => identityOptions.id !== void 0 ? items.filter((item) => item.identityOptions.id === identityOptions.id) : items;\nconst filterFirstInQueue = (nsItems) => {\n let queuedCount = 0;\n return nsItems.map((item) => ({\n item,\n queueCount: item.dialogicOptions.queued ? queuedCount++ : 0\n })).filter(({ queueCount }) => queueCount === 0).map(({ item }) => item);\n};\nconst filterCandidates = (ns, items, identityOptions) => {\n const nsItems = items[ns] || [];\n if (nsItems.length === 0) {\n return [];\n }\n const filteredBySpawn = filterBySpawn(identityOptions)(nsItems);\n return filterFirstInQueue(filteredBySpawn);\n};\nconst getPassThroughOptions = (options) => {\n const copy = {\n ...options\n };\n delete copy.dialogic;\n return copy;\n};\nconst getMergedIdentityOptions = (defaultDialogicOptions, identityOptions = {}) => ({\n id: identityOptions.id || defaultDialogicOptions.id,\n spawn: identityOptions.spawn || defaultDialogicOptions.spawn\n});\nconst handleOptions = (defaultDialogicOptions, options) => {\n const identityOptions = {\n id: (options == null ? void 0 : options.dialogic) ? options.dialogic.id : void 0,\n spawn: (options == null ? void 0 : options.dialogic) ? options.dialogic.spawn : void 0\n };\n const mergedIdentityOptions = getMergedIdentityOptions(\n defaultDialogicOptions || {},\n identityOptions\n );\n const dialogicOptions = {\n ...defaultDialogicOptions,\n ...options == null ? void 0 : options.dialogic,\n __transitionTimeoutId__: 0\n };\n const passThroughOptions = options ? getPassThroughOptions(options) : {};\n return {\n identityOptions: mergedIdentityOptions,\n dialogicOptions,\n passThroughOptions\n };\n};\nconst createInstance = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n return new Promise((resolve) => {\n const callbacks = {\n willShow: (item2) => {\n if (dialogicOptions.willShow) {\n dialogicOptions.willShow(item2);\n }\n return resolve(item2);\n },\n willHide: (item2) => {\n if (dialogicOptions.willHide) {\n dialogicOptions.willHide(item2);\n }\n return resolve(item2);\n },\n didShow: (item2) => {\n if (dialogicOptions.didShow) {\n dialogicOptions.didShow(item2);\n }\n return resolve(item2);\n },\n didHide: (item2) => {\n if (dialogicOptions.didHide) {\n dialogicOptions.didHide(item2);\n }\n return resolve(item2);\n }\n };\n const item = {\n ns,\n identityOptions,\n dialogicOptions,\n callbacks,\n passThroughOptions,\n id: createId(identityOptions, ns),\n timer: dialogicOptions.timeout ? TimerStore() : void 0,\n // when timeout is undefined or 0\n key: getUid().toString(),\n // Uniquely identify each item for keyed display\n transitionState: 0\n /* Default */\n };\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem && dialogicOptions.toggle) {\n hide(ns)(defaultDialogicOptions)(options);\n resolve(existingItem);\n return;\n }\n if (existingItem && !dialogicOptions.queued) {\n const replacingItem = {\n ...item,\n key: existingItem.key,\n transitionState: existingItem.transitionState,\n dialogicOptions: existingItem.dialogicOptions\n // Preserve dialogicOptions\n };\n actions.replace(ns, existingItem.id, replacingItem);\n } else {\n actions.add(ns, item);\n }\n resolve(item);\n });\n};\nconst show = createInstance;\nconst hide = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem) {\n const item = {\n ...existingItem,\n dialogicOptions: {\n ...existingItem.dialogicOptions,\n ...dialogicOptions\n },\n passThroughOptions: {\n ...existingItem.passThroughOptions,\n passThroughOptions\n }\n };\n actions.replace(ns, existingItem.id, item);\n if (item.transitionState !== 2) {\n return hideItem(item);\n }\n return Promise.resolve(item);\n }\n return Promise.resolve({\n ns,\n id: identityOptions.id\n });\n};\nconst pause = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.pause();\n }\n });\n return Promise.all(validItems);\n};\nconst resume = (ns) => (_defaultDialogicOptions) => (commandOptions) => {\n const options = commandOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.resume(options.minimumDuration);\n }\n });\n return Promise.all(validItems);\n};\nconst getTimerSelectors = (ns, defaultDialogicOptions, identityOptions) => {\n var _a, _b;\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n return (_b = (_a = maybeItem == null ? void 0 : maybeItem.just) == null ? void 0 : _a.timer) == null ? void 0 : _b.selectors;\n};\nconst isPaused = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.isPaused()) || false;\n};\nconst getRemaining = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.getRemaining()) || void 0;\n};\nconst exists = (ns) => (_defaultDialogicOptions) => (identityOptions) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n !!getValidItems(ns, identityOptions).length\n);\nconst getValidItems = (ns, identityOptions) => {\n const allItems = selectors.getAll(ns);\n let validItems;\n if (identityOptions) {\n const filteredBySpawn = filterBySpawn(identityOptions)(allItems);\n validItems = filterById(identityOptions)(filteredBySpawn);\n } else {\n validItems = allItems;\n }\n return validItems;\n};\nconst resetAll = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions);\n const items = [];\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.abort();\n }\n items.push(item);\n });\n if (identityOptions) {\n items.forEach((item) => {\n actions.remove(ns, item.id);\n });\n } else {\n actions.removeAll(ns);\n }\n return Promise.resolve(items);\n};\nconst getOverridingTransitionOptions = (item, dialogicOptions) => ({\n ...item,\n dialogicOptions: {\n ...item.dialogicOptions,\n ...dialogicOptions\n }\n});\nconst hideAll = (ns) => (_defaultDialogicOptions) => (dialogicOptions) => {\n const options = dialogicOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions);\n const regularItems = validItems.filter(\n (item) => !options.queued && !item.dialogicOptions.queued\n );\n const queuedItems = validItems.filter(\n (item) => options.queued || item.dialogicOptions.queued\n );\n const items = [];\n regularItems.forEach(\n (item) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n items.push(hideItem(getOverridingTransitionOptions(item, options)))\n )\n );\n if (queuedItems.length > 0) {\n const [current] = queuedItems;\n actions.store(ns, [current]);\n items.push(hideItem(getOverridingTransitionOptions(current, options)));\n }\n return Promise.all(items);\n};\nconst getCount = (ns) => (identityOptions) => selectors.getCount(ns, identityOptions);\nconst transitionItem = (item, mode) => transition(item.dialogicOptions, mode);\nconst getResultPromise = () => (ns) => (defaultDialogicOptions) => (identityOptions) => {\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n if (maybeItem.just) {\n if (maybeItem.just && maybeItem.just.timer) {\n return maybeItem.just.timer.selectors.getResultPromise();\n }\n return void 0;\n }\n return void 0;\n};\nconst deferredHideItem = async (item, timer, timeout) => {\n timer.actions.start(() => hideItem(item), timeout);\n return getResultPromise();\n};\nconst showItem = async (item) => {\n if (item.callbacks.willShow) {\n item.callbacks.willShow(item);\n }\n if (item.transitionState !== 1) {\n item.transitionState = 1;\n await transitionItem(item, MODE.SHOW);\n }\n if (item.callbacks.didShow) {\n item.callbacks.didShow(item);\n }\n if (item.dialogicOptions.timeout && item.timer) {\n await deferredHideItem(item, item.timer, item.dialogicOptions.timeout);\n }\n return Promise.resolve(item);\n};\nconst hideItem = async (item) => {\n item.transitionState = 2;\n if (item.timer) {\n item.timer.actions.stop();\n }\n if (item.callbacks.willHide) {\n item.callbacks.willHide(item);\n }\n await transitionItem(item, MODE.HIDE);\n if (item.callbacks.didHide) {\n item.callbacks.didHide(item);\n }\n const copy = {\n ...item\n };\n actions.remove(item.ns, item.id);\n return Promise.resolve(copy);\n};\nconst setDomElement = (domElement, item) => {\n item.dialogicOptions.domElement = domElement;\n};\nconst dialogical = ({\n ns,\n queued,\n timeout\n}) => {\n const defaultId = `default_${ns}`;\n const defaultSpawn = `default_${ns}`;\n const defaultDialogicOptions = {\n id: defaultId,\n spawn: defaultSpawn,\n ...queued && { queued },\n ...timeout !== void 0 && { timeout }\n };\n return {\n // Identification\n ns,\n defaultId,\n defaultSpawn,\n // Configuration\n defaultDialogicOptions,\n // Commands\n show: show(ns)(defaultDialogicOptions),\n hide: hide(ns)(defaultDialogicOptions),\n hideAll: hideAll(ns)(defaultDialogicOptions),\n resetAll: resetAll(ns)(defaultDialogicOptions),\n // Timer commands\n pause: pause(ns)(defaultDialogicOptions),\n resume: resume(ns)(defaultDialogicOptions),\n // State\n exists: exists(ns)(defaultDialogicOptions),\n getCount: getCount(ns),\n // Timer state\n isPaused: isPaused(ns)(defaultDialogicOptions),\n getRemaining: getRemaining(ns)(defaultDialogicOptions)\n };\n};\nconst dialog = dialogical({ ns: \"dialog\" });\nconst notification = dialogical({\n ns: \"notification\",\n queued: true,\n timeout: 3e3\n});\nconst remaining = (props) => {\n let displayValue;\n let reqId;\n let isCanceled = false;\n const identity = {\n id: props.id,\n spawn: props.spawn\n };\n const update2 = () => {\n const remainingValue = props.instance.getRemaining(identity);\n if (displayValue !== remainingValue) {\n displayValue = remainingValue === void 0 ? remainingValue : props.roundToSeconds ? Math.round(Math.max(remainingValue, 0) / 1e3) : Math.max(remainingValue, 0);\n }\n props.callback(displayValue);\n if (!props.instance.exists(identity)) {\n window.cancelAnimationFrame(reqId);\n isCanceled = true;\n } else if (!isCanceled) {\n reqId = window.requestAnimationFrame(update2);\n }\n };\n reqId = window.requestAnimationFrame(update2);\n};\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n types as Dialogic,\n actions,\n dialog,\n dialogical,\n exists,\n filterCandidates,\n getCount,\n getRemaining,\n hide,\n hideAll,\n hideItem,\n isPaused,\n notification,\n pause,\n remaining,\n resetAll,\n resume,\n selectors,\n setDomElement,\n show,\n showItem,\n states\n};\n//# sourceMappingURL=dialogic.module.js.map\n","import React from 'react';\n\n// eslint-disable-next-line import/no-unresolved\nconst useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debug, }) => {\n // Local storage that connects stream updates to React renders:\n const [streamValues, setStreamValues] = React.useState({});\n // Distinguish update from mount:\n const isInitedRef = React.useRef(false);\n const subsRef = React.useRef([]);\n const subscribe = (memo) => {\n if (debug) {\n debug('Subscribe');\n }\n subsRef.current = Object.keys(memo)\n .map((key) => {\n const stream = memo[key];\n if (stream.map && typeof stream.map === 'function') {\n return stream.map((value) => {\n if (debug) {\n debug('Will update %s', key);\n }\n setStreamValues({\n ...streamValues,\n [key]: value,\n });\n return null;\n });\n }\n return false;\n })\n .filter(Boolean);\n };\n const unsubscribe = () => {\n if (subsRef.current.length) {\n if (debug) {\n debug('Unsubscribe');\n }\n subsRef.current.forEach((s) => s.end(true));\n subsRef.current = [];\n }\n };\n const createMemo = () => {\n if (debug) {\n debug('createMemo');\n }\n unsubscribe();\n const modelFn = typeof model === 'function'\n ? model\n : (() => model);\n const memo = modelFn();\n subscribe(memo);\n return memo;\n };\n const [memo, setMemo] = React.useState(defer\n ? { ...model, isDeferred: true }\n : createMemo);\n // Update\n React.useEffect(() => {\n if (!isInitedRef.current) {\n return;\n }\n if (debug) {\n debug('Updating');\n }\n if (onUpdate) {\n const localMemo = createMemo();\n setMemo(localMemo);\n onUpdate(localMemo);\n }\n }, deps); // eslint-disable-line react-hooks/exhaustive-deps\n // Mount and unmount\n React.useEffect(() => {\n if (debug) {\n debug('Mounting');\n }\n let localMemo = memo;\n if (defer) {\n localMemo = createMemo();\n setMemo(localMemo);\n }\n if (onMount && localMemo) {\n onMount(localMemo);\n }\n isInitedRef.current = true;\n return () => {\n if (debug) {\n debug('Unmounting');\n }\n unsubscribe();\n if (onDestroy) {\n onDestroy(memo);\n }\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n return memo;\n};\n\nexport { useStream };\n","import { Dialogic, states } from 'dialogic';\nimport { useStream } from 'use-stream';\n\ntype TModel = {\n _: Dialogic.States;\n};\n\nexport const useDialogicState = () => {\n // Subscribe to changes\n useStream({\n model: () => ({\n _: states,\n }),\n defer: true,\n });\n};\n","import { Dialogic } from 'dialogic';\nimport React, { FunctionComponent, useCallback, useRef } from 'react';\n\ntype ComponentProps = T & {\n show: () => void;\n hide: () => void;\n};\n\nexport function Instance(props: Dialogic.DialogicalInstanceOptions) {\n const domElementRef = useRef();\n const { className } = props.dialogicOptions;\n const Component = props.dialogicOptions.component as FunctionComponent<\n ComponentProps\n >;\n if (!Component) {\n throw new Error('Component missing in dialogic options.');\n }\n\n const dispatchTransition = (\n dispatchFn: Dialogic.DialogicalInstanceDispatchFn,\n ) => {\n const domElement = domElementRef.current;\n if (domElement === undefined) {\n return;\n }\n dispatchFn({\n detail: {\n identityOptions: props.identityOptions,\n domElement,\n },\n });\n };\n\n const onMount = () => {\n dispatchTransition(props.onMount);\n };\n\n const show = () => {\n dispatchTransition(props.onShow);\n };\n\n const hide = () => {\n dispatchTransition(props.onHide);\n };\n\n const domElementCb = useCallback((node: HTMLDivElement) => {\n if (node !== null) {\n domElementRef.current = node;\n onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const passThroughOptions: T = props.passThroughOptions || ({} as T);\n\n return (\n
\n \n
\n );\n}\n","import {\n Dialogic,\n hideItem,\n selectors,\n setDomElement,\n showItem,\n} from 'dialogic';\n\nexport const handleDispatch =\n (ns: string) =>\n (event: Dialogic.InstanceEvent, fn: Dialogic.InitiateItemTransitionFn) => {\n // Update dispatching item:\n const maybeItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeItem.just) {\n setDomElement(event.detail.domElement, maybeItem.just);\n }\n // Find item to transition:\n const maybeTransitioningItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeTransitioningItem.just) {\n fn(maybeTransitioningItem.just);\n }\n };\n\nexport const onInstanceMounted =\n (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onShowInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onHideInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, hideItem);\n","import { Dialogic, filterCandidates, selectors } from 'dialogic';\nimport React from 'react';\n\nimport { Instance } from './Instance';\nimport {\n onHideInstance,\n onInstanceMounted,\n onShowInstance,\n} from './instanceEvents';\n\nexport function Wrapper(props: Dialogic.DialogicalWrapperOptions) {\n const nsOnInstanceMounted = onInstanceMounted(props.ns);\n const nsOnShowInstance = onShowInstance(props.ns);\n const nsOnHideInstance = onHideInstance(props.ns);\n\n const identityOptions: Dialogic.IdentityOptions =\n props.identityOptions || ({} as Dialogic.IdentityOptions);\n const filtered = filterCandidates(\n props.ns,\n selectors.getStore(),\n identityOptions,\n );\n\n return (\n <>\n {filtered.map(item => (\n \n }\n passThroughOptions={\n item.passThroughOptions as Dialogic.PassThroughOptions\n }\n onMount={nsOnInstanceMounted}\n onShow={nsOnShowInstance}\n onHide={nsOnHideInstance}\n />\n ))}\n \n );\n}\n","import { Dialogic } from 'dialogic';\nimport React, { useEffect } from 'react';\n\nimport { useDialogicState } from './useDialogicState';\nimport { Wrapper } from './Wrapper';\n\ntype Props = {\n instance: Dialogic.DialogicInstance;\n} & Dialogic.ComponentOptions;\n\nexport function Dialogical({ instance, ...props }: Props) {\n useDialogicState();\n\n const identityOptions = {\n id: props.id || instance.defaultId,\n spawn: props.spawn || instance.defaultSpawn,\n };\n\n // Mount\n useEffect(() => {\n if (typeof props.onMount === 'function') {\n props.onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return ;\n}\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport type {\n UseDialogicInstanceProps,\n UseDialogicProps,\n} from 'dialogic-hooks';\nimport React, { PropsWithChildren, useEffect, useState } from 'react';\n\nlet useDialogicCounter = 0;\n\nexport const useDialogic = ({\n isIgnore,\n isShow,\n isHide,\n instance,\n deps = [],\n props = {} as T & Dialogic.Options,\n}: UseDialogicInstanceProps) => {\n // Create an id if not set.\n // This is useful for pages with multiple dialogs, where we can't expect\n // to have the user set an explicit id for each.\n // eslint-disable-next-line no-plusplus\n const [id] = useState(useDialogicCounter++);\n const augProps = {\n ...props,\n ...(props?.dialogic\n ? {\n dialogic: {\n ...props.dialogic,\n id: props.dialogic.id || id,\n },\n }\n : {\n dialogic: {\n id,\n },\n }),\n };\n\n const showInstance = () => {\n instance.show(augProps);\n };\n\n const hideInstance = () => {\n instance.hide(augProps);\n };\n\n // maybe show\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isShow !== undefined) {\n if (isShow) {\n showInstance();\n } else {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isShow]);\n\n // maybe hide\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isHide !== undefined) {\n if (isHide) {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isHide]);\n\n // unmount\n useEffect(() => {\n if (isIgnore) {\n return undefined;\n }\n // eslint-disable-next-line consistent-return\n return () => {\n hideInstance();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n show: showInstance,\n hide: hideInstance,\n };\n};\n\nexport const useDialog = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: dialog,\n });\n\nexport const useNotification = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: notification,\n });\n\n/**\n * Helper component that wraps `useDialogic` to use with JSX syntax.\n */\nexport function UseDialogic(\n props: PropsWithChildren>,\n) {\n useDialogic(props);\n return null;\n}\n\nexport function UseDialog(props: PropsWithChildren>) {\n return ;\n}\n\nexport function UseNotification(\n props: PropsWithChildren>,\n) {\n return ;\n}\n","import { remaining } from 'dialogic';\nimport type { UseRemainingProps } from 'dialogic-hooks';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nfunction useIsMounted(): () => boolean {\n const ref = useRef(false);\n\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return useCallback(() => ref.current, [ref]);\n}\n\nexport const useRemaining = ({\n instance,\n id,\n spawn,\n roundToSeconds,\n}: UseRemainingProps) => {\n const isMounted = useIsMounted();\n const [value, _setValue] = useState(undefined);\n const identity = {\n id,\n spawn,\n };\n const exists = !!instance.exists(identity);\n const setValue = (newValue: number | undefined) => {\n if (isMounted()) {\n _setValue(newValue);\n }\n };\n\n useMemo(() => {\n if (exists) {\n remaining({\n ...identity,\n instance,\n roundToSeconds,\n callback: (newValue: number | undefined) => {\n setValue(newValue);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [exists]);\n\n return [value];\n};\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport React from 'react';\n\nimport { Dialogical } from './Dialogical';\n\nfunction Dialog(props: Dialogic.ComponentOptions) {\n return ;\n}\nfunction Notification(props: Dialogic.ComponentOptions) {\n return ;\n}\n\nexport * from './useDialogic';\nexport * from './useDialogicState';\nexport * from './useRemaining';\nexport { dialog, Dialogic, notification, remaining } from 'dialogic';\nexport { Dialog, Dialogical, Notification };\n"],"names":["Stream","memo","s","show","hide","exists"],"mappings":"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","x_google_ignoreList":[0,2]} \ No newline at end of file +{"version":3,"file":"dialogic-react.module.js","sources":["../../../node_modules/mithril-stream-standalone/dist/mithril-stream-standalone.module.js","../../dialogic/dist/dialogic.module.js","../../../node_modules/use-stream/dist/use-stream.module.js","../src/useDialogicState.tsx","../src/Instance.tsx","../src/instanceEvents.ts","../src/Wrapper.tsx","../src/Dialogical.tsx","../src/useDialogic.tsx","../src/useRemaining.ts","../src/index.tsx"],"sourcesContent":["function g(t) {\n return p(function() {\n return t.map(function(e) {\n return e();\n });\n }, t);\n}\nfunction h(t, e, u) {\n var n = u.map(function(c) {\n var f = t(e, c);\n return f !== i.SKIP && (e = f), f;\n });\n return n(e), n;\n}\nfunction l(t, e) {\n var u = t.map(function(c) {\n return c[0];\n }), n = p(function() {\n var c = arguments[arguments.length - 1];\n return u.forEach(function(f, r) {\n c.indexOf(f) > -1 && (e = t[r][1](e, f()));\n }), e;\n }, u);\n return n(e), n;\n}\nfunction _() {\n var t = arguments[0], e = Array.prototype.slice.call(arguments, 1);\n return g(e).map(function(u) {\n return t.apply(void 0, u);\n });\n}\nfunction s(t) {\n return t._state === \"pending\" || t._state === \"active\" || t._state === \"changing\";\n}\nvar i = function(t) {\n var e = [], u = [];\n function n(r) {\n return arguments.length && r !== i.SKIP && (t = r, s(n) && (n._changing(), n._state = \"active\", e.slice().forEach(function(a, o) {\n s(a) && a(this[o](t));\n }, u.slice()))), t;\n }\n n.constructor = i, n._state = arguments.length && t !== i.SKIP ? \"active\" : \"pending\", n._parents = [], n._changing = function() {\n s(n) && (n._state = \"changing\"), e.forEach(function(r) {\n r._changing();\n });\n }, n._map = function(r, a) {\n var o = a ? i() : i(r(t));\n return o._parents.push(n), e.push(o), u.push(r), o;\n }, n.map = function(r) {\n return n._map(r, n._state !== \"active\");\n };\n var c;\n function f() {\n return c = i(), c.map(function(r) {\n return r === !0 && (n._parents.forEach(function(a) {\n a._unregisterChild(n);\n }), n._state = \"ended\", n._parents.length = e.length = u.length = 0), r;\n }), c;\n }\n return n.toJSON = function() {\n return t != null && typeof t.toJSON == \"function\" ? t.toJSON() : t;\n }, n[\"fantasy-land/map\"] = n.map, n[\"fantasy-land/ap\"] = function(r) {\n return p(\n function(a, o) {\n return a()(o());\n },\n [r, n]\n );\n }, n._unregisterChild = function(r) {\n var a = e.indexOf(r);\n a !== -1 && (e.splice(a, 1), u.splice(a, 1));\n }, Object.defineProperty(n, \"end\", {\n get: function() {\n return c || f();\n }\n }), n;\n};\nfunction p(t, e) {\n var u = e.every(function(a) {\n if (a.constructor !== i)\n throw new Error(\n \"Ensure that each item passed to stream.combine/stream.merge/lift is a stream.\"\n );\n return a._state === \"active\";\n }), n = u ? i(t.apply(null, e.concat([e]))) : i(), c = [], f = e.map(function(a) {\n return a._map(function(o) {\n return c.push(a), (u || e.every(function(m) {\n return m._state !== \"pending\";\n })) && (u = !0, n(t.apply(null, e.concat([c]))), c = []), o;\n }, !0);\n }), r = n.end.map(function(a) {\n a === !0 && (f.forEach(function(o) {\n o.end(!0);\n }), r.end(!0));\n });\n return n;\n}\ni.SKIP = {};\ni.lift = _;\ni.scan = h;\ni.merge = g;\ni.combine = p;\ni.scanMerge = l;\ni[\"fantasy-land/of\"] = i;\nvar d = !1;\nObject.defineProperty(i, \"HALT\", {\n get: function() {\n return d || console.log(\"HALT is deprecated and has been renamed to SKIP\"), d = !0, i.SKIP;\n }\n});\nexport {\n i as default\n};\n//# sourceMappingURL=mithril-stream-standalone.module.js.map\n","import Stream from \"mithril-stream-standalone\";\nconst findItem = (id, items) => items.find((item) => item.id === id);\nconst itemIndex = (id, items) => {\n const item = findItem(id, items);\n return item ? items.indexOf(item) : -1;\n};\nconst removeItem = (id, items) => {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items.splice(index, 1);\n }\n return items;\n};\nconst createId = (identityOptions, ns) => [ns, identityOptions.id, identityOptions.spawn].filter(Boolean).join(\"-\");\nconst store = {\n initialState: {\n store: {}\n },\n actions: (update2) => ({\n /**\n * Add an item to the end of the list.\n */\n add: (ns, item) => {\n update2((state) => {\n const items = state.store[ns] || [];\n state.store[ns] = [...items, item];\n if (item.timer) {\n item.timer.states.map(() => store.actions(update2).refresh());\n }\n return state;\n });\n },\n /**\n * Removes the first item with a match on `id`.\n */\n remove: (ns, id) => {\n update2((state) => {\n const items = state.store[ns] || [];\n const remaining2 = removeItem(id, items);\n state.store[ns] = remaining2;\n return state;\n });\n },\n /**\n * Replaces the first item with a match on `id` with a newItem.\n */\n replace: (ns, id, newItem) => {\n update2((state) => {\n const items = state.store[ns] || [];\n if (items) {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items[index] = newItem;\n state.store[ns] = [...items];\n }\n }\n return state;\n });\n },\n /**\n * Removes all items within a namespace.\n */\n removeAll: (ns) => {\n update2((state) => {\n state.store[ns] = [];\n return state;\n });\n },\n /**\n * Replaces all items within a namespace.\n */\n store: (ns, newItems) => {\n update2((state) => {\n state.store[ns] = [...newItems];\n return state;\n });\n },\n refresh: () => {\n update2((state) => ({\n ...state\n }));\n }\n }),\n selectors: (states2) => {\n const fns = {\n getStore: () => {\n const state = states2();\n return state.store;\n },\n find: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const id = createId(identityOptions, ns);\n const item = items.find((fitem) => fitem.id === id);\n return item ? { just: item } : { nothing: void 0 };\n },\n getAll: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const spawn = identityOptions !== void 0 ? identityOptions.spawn : void 0;\n const id = identityOptions !== void 0 ? identityOptions.id : void 0;\n const itemsBySpawn = spawn !== void 0 ? items.filter((fitem) => fitem.identityOptions.spawn === spawn) : items;\n const itemsById = id !== void 0 ? itemsBySpawn.filter((item) => item.identityOptions.id === id) : itemsBySpawn;\n return itemsById;\n },\n getCount: (ns, identityOptions) => fns.getAll(ns, identityOptions).length\n };\n return fns;\n }\n};\nconst update = Stream();\nconst states = Stream.scan(\n (state, patch) => patch(state),\n {\n ...store.initialState\n },\n update\n);\nconst actions = {\n ...store.actions(update)\n};\nconst selectors = {\n ...store.selectors(states)\n};\nconst initialState = {\n callback: () => {\n },\n isPaused: false,\n onAbort: () => {\n },\n onDone: () => {\n },\n promise: void 0,\n remaining: void 0,\n startTime: void 0,\n timeoutFn: () => {\n },\n timerId: void 0\n};\nconst appendStartTimer = (state, callback, duration, updateState) => {\n const timeoutFn = () => {\n callback();\n state.onDone();\n updateState();\n };\n return {\n timeoutFn,\n promise: new Promise((resolve) => {\n state.onDone = () => resolve();\n state.onAbort = () => resolve();\n }),\n ...state.isPaused ? {} : {\n startTime: new Date().getTime(),\n timerId: window.setTimeout(timeoutFn, duration),\n remaining: duration\n }\n };\n};\nconst appendStopTimeout = (state) => {\n window.clearTimeout(state.timerId);\n return {\n timerId: initialState.timerId\n };\n};\nconst appendStopTimer = (state) => ({\n ...appendStopTimeout(state)\n});\nconst appendPauseTimer = (state) => ({\n ...appendStopTimeout(state),\n isPaused: true,\n remaining: getRemaining$1(state)\n});\nconst appendResumeTimer = (state, minimumDuration) => {\n window.clearTimeout(state.timerId);\n const remaining2 = minimumDuration ? Math.max(state.remaining || 0, minimumDuration) : state.remaining;\n return {\n startTime: new Date().getTime(),\n isPaused: false,\n remaining: remaining2,\n timerId: window.setTimeout(state.timeoutFn, remaining2)\n };\n};\nconst getRemaining$1 = (state) => state.remaining === 0 || state.remaining === void 0 ? state.remaining : state.remaining - (new Date().getTime() - (state.startTime || 0));\nconst TimerStore = () => {\n const timer = {\n initialState,\n actions: (update22) => ({\n /**\n * Starts the timer\n * @param {callback} Function Callback function that is called after completion.\n * @param {duration} Number Timer duration in milliseconds.\n */\n start: (callback, duration) => {\n update22((state) => ({\n ...state,\n ...appendStopTimeout(state),\n ...appendStartTimer(\n state,\n callback,\n duration,\n () => timer.actions(update22).done()\n ),\n ...state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Stops the timer.\n */\n stop: () => {\n update22((state) => ({\n ...state,\n ...appendStopTimer(state),\n ...initialState\n }));\n },\n /**\n * Pauses a running timer.\n */\n pause: () => {\n update22((state) => ({\n ...state,\n ...!state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Resumes a paused timer.\n * @param {minimumDuration} Number Sets the minimum duration.\n */\n resume: (minimumDuration) => {\n update22((state) => ({\n ...state,\n ...state.isPaused && appendResumeTimer(state, minimumDuration)\n }));\n },\n /**\n * Aborts and clears a timer.\n */\n abort: () => {\n update22((state) => {\n state.onAbort();\n return {\n ...state,\n ...appendStopTimeout(state)\n };\n });\n },\n /**\n * Updates the current state. Used to get the state for selectors.getRemaining.\n */\n refresh: () => {\n update22((state) => ({\n ...state\n }));\n },\n /**\n * Brings the timer to its initial state.\n * Used internally.\n */\n done: () => {\n update22(() => initialState);\n }\n }),\n selectors: (states22) => ({\n /**\n * Returns the paused state.\n */\n isPaused: () => {\n const state = states22();\n return state.isPaused;\n },\n /**\n * Returns the remaining duration in milliseconds.\n */\n getRemaining: () => {\n const state = states22();\n return state.isPaused ? state.remaining : getRemaining$1(state);\n },\n /**\n * The promise that is handled when the timer is done or canceled.\n */\n getResultPromise: () => {\n const state = states22();\n return state.promise;\n }\n })\n };\n const update2 = Stream();\n const states2 = Stream.scan(\n (state, patch) => patch(state),\n {\n ...timer.initialState\n },\n update2\n );\n const actions2 = {\n ...timer.actions(update2)\n };\n const selectors2 = {\n ...timer.selectors(states2)\n };\n return {\n states: states2,\n actions: actions2,\n selectors: selectors2\n };\n};\nconst getStyleValue = ({\n domElement,\n prop\n}) => {\n const { defaultView } = document;\n if (defaultView) {\n const style = defaultView.getComputedStyle(domElement);\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n return void 0;\n};\nconst MODE = {\n SHOW: \"show\",\n HIDE: \"hide\"\n};\nconst removeTransitionClassNames = (domElement, transitionClassNames) => domElement.classList.remove(\n ...transitionClassNames.showStart,\n ...transitionClassNames.showEnd,\n ...transitionClassNames.hideStart,\n ...transitionClassNames.hideEnd\n);\nconst applyTransitionStyles = (domElement, step, styles) => {\n const transitionStyle = styles[step];\n if (transitionStyle) {\n Object.keys(transitionStyle).forEach((key) => {\n const value = transitionStyle[key];\n domElement.style[key] = value;\n });\n }\n};\nconst applyNoDurationTransitionStyle = (domElement) => {\n domElement.style.transitionDuration = \"0ms\";\n};\nconst getTransitionStyles = (domElement, styles) => (typeof styles === \"function\" ? styles(domElement) : styles) || {};\nconst createClassList = (className, step) => className.split(/ /).map((n) => `${n}-${step}`);\nconst applyStylesForState = (domElement, props, step, isEnterStep) => {\n if (props.styles) {\n const styles = getTransitionStyles(domElement, props.styles);\n applyTransitionStyles(domElement, \"default\", styles);\n if (isEnterStep) {\n applyNoDurationTransitionStyle(domElement);\n }\n applyTransitionStyles(domElement, step, styles);\n }\n if (props.className) {\n const transitionClassNames = {\n showStart: createClassList(props.className, \"show-start\"),\n showEnd: createClassList(props.className, \"show-end\"),\n hideStart: createClassList(props.className, \"hide-start\"),\n hideEnd: createClassList(props.className, \"hide-end\")\n };\n removeTransitionClassNames(domElement, transitionClassNames);\n if (transitionClassNames) {\n domElement.classList.add(...transitionClassNames[step]);\n }\n }\n domElement.scrollTop;\n};\nconst styleDurationToMs = (durationStr) => {\n const parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1e3 : 1);\n return Number.isNaN(parsed) ? 0 : parsed;\n};\nconst getDuration = (domElement) => {\n const durationStyleValue = getStyleValue({\n domElement,\n prop: \"transition-duration\"\n });\n const durationValue = durationStyleValue !== void 0 ? styleDurationToMs(durationStyleValue) : 0;\n const delayStyleValue = getStyleValue({\n domElement,\n prop: \"transition-delay\"\n });\n const delayValue = delayStyleValue !== void 0 ? styleDurationToMs(delayStyleValue) : 0;\n return durationValue + delayValue;\n};\nconst steps = {\n showStart: {\n nextStep: \"showEnd\"\n },\n showEnd: {\n nextStep: void 0\n },\n hideStart: {\n nextStep: \"hideEnd\"\n },\n hideEnd: {\n nextStep: void 0\n }\n};\nconst transition = (props, mode) => {\n const { domElement } = props;\n if (!domElement) {\n return Promise.resolve(\"no domElement\");\n }\n clearTimeout(props.__transitionTimeoutId__);\n let currentStep = mode === MODE.SHOW ? \"showStart\" : \"hideStart\";\n return new Promise((resolve) => {\n applyStylesForState(\n domElement,\n props,\n currentStep,\n currentStep === \"showStart\"\n );\n setTimeout(() => {\n const { nextStep } = steps[currentStep];\n if (nextStep) {\n currentStep = nextStep;\n applyStylesForState(domElement, props, currentStep);\n const duration = getDuration(domElement);\n props.__transitionTimeoutId__ = window.setTimeout(resolve, duration);\n }\n }, 0);\n });\n};\nconst localState = {\n uid: 0\n};\nconst getUid = () => {\n if (localState.uid === Number.MAX_VALUE) {\n localState.uid = 0;\n } else {\n localState.uid += 1;\n }\n return localState.uid;\n};\nconst getMaybeItem = (ns) => (defaultDialogicOptions) => (identityOptions) => selectors.find(\n ns,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getMergedIdentityOptions(defaultDialogicOptions, identityOptions)\n);\nconst filterBySpawn = (identityOptions) => (items) => identityOptions.spawn !== void 0 ? items.filter(\n (item) => item.identityOptions.spawn === identityOptions.spawn\n) : items;\nconst filterById = (identityOptions) => (items) => identityOptions.id !== void 0 ? items.filter((item) => item.identityOptions.id === identityOptions.id) : items;\nconst filterFirstInQueue = (nsItems) => {\n let queuedCount = 0;\n return nsItems.map((item) => ({\n item,\n queueCount: item.dialogicOptions.queued ? queuedCount++ : 0\n })).filter(({ queueCount }) => queueCount === 0).map(({ item }) => item);\n};\nconst filterCandidates = (ns, items, identityOptions) => {\n const nsItems = items[ns] || [];\n if (nsItems.length === 0) {\n return [];\n }\n const filteredBySpawn = filterBySpawn(identityOptions)(nsItems);\n return filterFirstInQueue(filteredBySpawn);\n};\nconst getPassThroughOptions = (options) => {\n const copy = {\n ...options\n };\n delete copy.dialogic;\n return copy;\n};\nconst getMergedIdentityOptions = (defaultDialogicOptions, identityOptions = {}) => ({\n id: identityOptions.id || defaultDialogicOptions.id,\n spawn: identityOptions.spawn || defaultDialogicOptions.spawn\n});\nconst handleOptions = (defaultDialogicOptions, options) => {\n const identityOptions = {\n id: (options == null ? void 0 : options.dialogic) ? options.dialogic.id : void 0,\n spawn: (options == null ? void 0 : options.dialogic) ? options.dialogic.spawn : void 0\n };\n const mergedIdentityOptions = getMergedIdentityOptions(\n defaultDialogicOptions || {},\n identityOptions\n );\n const dialogicOptions = {\n ...defaultDialogicOptions,\n ...options == null ? void 0 : options.dialogic,\n __transitionTimeoutId__: 0\n };\n const passThroughOptions = options ? getPassThroughOptions(options) : {};\n return {\n identityOptions: mergedIdentityOptions,\n dialogicOptions,\n passThroughOptions\n };\n};\nconst createInstance = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n return new Promise((resolve) => {\n const callbacks = {\n willShow: (item2) => {\n if (dialogicOptions.willShow) {\n dialogicOptions.willShow(item2);\n }\n return resolve(item2);\n },\n willHide: (item2) => {\n if (dialogicOptions.willHide) {\n dialogicOptions.willHide(item2);\n }\n return resolve(item2);\n },\n didShow: (item2) => {\n if (dialogicOptions.didShow) {\n dialogicOptions.didShow(item2);\n }\n return resolve(item2);\n },\n didHide: (item2) => {\n if (dialogicOptions.didHide) {\n dialogicOptions.didHide(item2);\n }\n return resolve(item2);\n }\n };\n const item = {\n ns,\n identityOptions,\n dialogicOptions,\n callbacks,\n passThroughOptions,\n id: createId(identityOptions, ns),\n timer: dialogicOptions.timeout ? TimerStore() : void 0,\n // when timeout is undefined or 0\n key: getUid().toString(),\n // Uniquely identify each item for keyed display\n transitionState: 0\n /* Default */\n };\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem && dialogicOptions.toggle) {\n hide(ns)(defaultDialogicOptions)(options);\n resolve(existingItem);\n return;\n }\n if (existingItem && !dialogicOptions.queued) {\n const replacingItem = {\n ...item,\n key: existingItem.key,\n transitionState: existingItem.transitionState,\n dialogicOptions: existingItem.dialogicOptions\n // Preserve dialogicOptions\n };\n actions.replace(ns, existingItem.id, replacingItem);\n } else {\n actions.add(ns, item);\n }\n resolve(item);\n });\n};\nconst show = createInstance;\nconst hide = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem) {\n const item = {\n ...existingItem,\n dialogicOptions: {\n ...existingItem.dialogicOptions,\n ...dialogicOptions\n },\n passThroughOptions: {\n ...existingItem.passThroughOptions,\n passThroughOptions\n }\n };\n actions.replace(ns, existingItem.id, item);\n if (item.transitionState !== 2) {\n return hideItem(item);\n }\n return Promise.resolve(item);\n }\n return Promise.resolve({\n ns,\n id: identityOptions.id\n });\n};\nconst pause = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.pause();\n }\n });\n return Promise.all(validItems);\n};\nconst resume = (ns) => (_defaultDialogicOptions) => (commandOptions) => {\n const options = commandOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.resume(options.minimumDuration);\n }\n });\n return Promise.all(validItems);\n};\nconst getTimerSelectors = (ns, defaultDialogicOptions, identityOptions) => {\n var _a, _b;\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n return (_b = (_a = maybeItem == null ? void 0 : maybeItem.just) == null ? void 0 : _a.timer) == null ? void 0 : _b.selectors;\n};\nconst isPaused = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.isPaused()) || false;\n};\nconst getRemaining = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.getRemaining()) || void 0;\n};\nconst exists = (ns) => (_defaultDialogicOptions) => (identityOptions) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n !!getValidItems(ns, identityOptions).length\n);\nconst getValidItems = (ns, identityOptions) => {\n const allItems = selectors.getAll(ns);\n let validItems;\n if (identityOptions) {\n const filteredBySpawn = filterBySpawn(identityOptions)(allItems);\n validItems = filterById(identityOptions)(filteredBySpawn);\n } else {\n validItems = allItems;\n }\n return validItems;\n};\nconst resetAll = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions);\n const items = [];\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.abort();\n }\n items.push(item);\n });\n if (identityOptions) {\n items.forEach((item) => {\n actions.remove(ns, item.id);\n });\n } else {\n actions.removeAll(ns);\n }\n return Promise.resolve(items);\n};\nconst getOverridingTransitionOptions = (item, dialogicOptions) => ({\n ...item,\n dialogicOptions: {\n ...item.dialogicOptions,\n ...dialogicOptions\n }\n});\nconst hideAll = (ns) => (_defaultDialogicOptions) => (dialogicOptions) => {\n const options = dialogicOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions);\n const regularItems = validItems.filter(\n (item) => !options.queued && !item.dialogicOptions.queued\n );\n const queuedItems = validItems.filter(\n (item) => options.queued || item.dialogicOptions.queued\n );\n const items = [];\n regularItems.forEach(\n (item) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n items.push(hideItem(getOverridingTransitionOptions(item, options)))\n )\n );\n if (queuedItems.length > 0) {\n const [current] = queuedItems;\n actions.store(ns, [current]);\n items.push(hideItem(getOverridingTransitionOptions(current, options)));\n }\n return Promise.all(items);\n};\nconst getCount = (ns) => (identityOptions) => selectors.getCount(ns, identityOptions);\nconst transitionItem = (item, mode) => transition(item.dialogicOptions, mode);\nconst getResultPromise = () => (ns) => (defaultDialogicOptions) => (identityOptions) => {\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n if (maybeItem.just) {\n if (maybeItem.just && maybeItem.just.timer) {\n return maybeItem.just.timer.selectors.getResultPromise();\n }\n return void 0;\n }\n return void 0;\n};\nconst deferredHideItem = async (item, timer, timeout) => {\n timer.actions.start(() => hideItem(item), timeout);\n return getResultPromise();\n};\nconst showItem = async (item) => {\n if (item.callbacks.willShow) {\n item.callbacks.willShow(item);\n }\n if (item.transitionState !== 1) {\n item.transitionState = 1;\n await transitionItem(item, MODE.SHOW);\n }\n if (item.callbacks.didShow) {\n item.callbacks.didShow(item);\n }\n if (item.dialogicOptions.timeout && item.timer) {\n await deferredHideItem(item, item.timer, item.dialogicOptions.timeout);\n }\n return Promise.resolve(item);\n};\nconst hideItem = async (item) => {\n item.transitionState = 2;\n if (item.timer) {\n item.timer.actions.stop();\n }\n if (item.callbacks.willHide) {\n item.callbacks.willHide(item);\n }\n await transitionItem(item, MODE.HIDE);\n if (item.callbacks.didHide) {\n item.callbacks.didHide(item);\n }\n const copy = {\n ...item\n };\n actions.remove(item.ns, item.id);\n return Promise.resolve(copy);\n};\nconst setDomElement = (domElement, item) => {\n item.dialogicOptions.domElement = domElement;\n};\nconst dialogical = ({\n ns,\n queued,\n timeout\n}) => {\n const defaultId = `default_${ns}`;\n const defaultSpawn = `default_${ns}`;\n const defaultDialogicOptions = {\n id: defaultId,\n spawn: defaultSpawn,\n ...queued && { queued },\n ...timeout !== void 0 && { timeout }\n };\n return {\n // Identification\n ns,\n defaultId,\n defaultSpawn,\n // Configuration\n defaultDialogicOptions,\n // Commands\n show: show(ns)(defaultDialogicOptions),\n hide: hide(ns)(defaultDialogicOptions),\n hideAll: hideAll(ns)(defaultDialogicOptions),\n resetAll: resetAll(ns)(defaultDialogicOptions),\n // Timer commands\n pause: pause(ns)(defaultDialogicOptions),\n resume: resume(ns)(defaultDialogicOptions),\n // State\n exists: exists(ns)(defaultDialogicOptions),\n getCount: getCount(ns),\n // Timer state\n isPaused: isPaused(ns)(defaultDialogicOptions),\n getRemaining: getRemaining(ns)(defaultDialogicOptions)\n };\n};\nconst dialog = dialogical({ ns: \"dialog\" });\nconst notification = dialogical({\n ns: \"notification\",\n queued: true,\n timeout: 3e3\n});\nconst remaining = (props) => {\n let displayValue;\n let reqId;\n let isCanceled = false;\n const identity = {\n id: props.id,\n spawn: props.spawn\n };\n const update2 = () => {\n const remainingValue = props.instance.getRemaining(identity);\n if (displayValue !== remainingValue) {\n displayValue = remainingValue === void 0 ? remainingValue : props.roundToSeconds ? Math.round(Math.max(remainingValue, 0) / 1e3) : Math.max(remainingValue, 0);\n }\n props.callback(displayValue);\n if (!props.instance.exists(identity)) {\n window.cancelAnimationFrame(reqId);\n isCanceled = true;\n } else if (!isCanceled) {\n reqId = window.requestAnimationFrame(update2);\n }\n };\n reqId = window.requestAnimationFrame(update2);\n};\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n types as Dialogic,\n actions,\n dialog,\n dialogical,\n exists,\n filterCandidates,\n getCount,\n getRemaining,\n hide,\n hideAll,\n hideItem,\n isPaused,\n notification,\n pause,\n remaining,\n resetAll,\n resume,\n selectors,\n setDomElement,\n show,\n showItem,\n states\n};\n//# sourceMappingURL=dialogic.module.js.map\n","import React from \"react\";\nconst useStream = ({\n model,\n onMount,\n onDestroy,\n onUpdate,\n deps = [],\n defer,\n debug\n}) => {\n const [streamValues, setStreamValues] = React.useState({});\n const isInitedRef = React.useRef(false);\n const subsRef = React.useRef([]);\n const subscribe = (memo2) => {\n if (debug) {\n debug(\"Subscribe\");\n }\n subsRef.current = Object.keys(memo2).map((key) => {\n const stream = memo2[key];\n if (stream.map && typeof stream.map === \"function\") {\n return stream.map((value) => {\n if (debug) {\n debug(\"Will update %s\", key);\n }\n setStreamValues({\n ...streamValues,\n [key]: value\n });\n return null;\n });\n }\n return false;\n }).filter(Boolean);\n };\n const unsubscribe = () => {\n if (subsRef.current.length) {\n if (debug) {\n debug(\"Unsubscribe\");\n }\n subsRef.current.forEach((s) => s.end(true));\n subsRef.current = [];\n }\n };\n const createMemo = () => {\n if (debug) {\n debug(\"createMemo\");\n }\n unsubscribe();\n const modelFn = typeof model === \"function\" ? model : () => model;\n const memo2 = modelFn();\n subscribe(memo2);\n return memo2;\n };\n const [memo, setMemo] = React.useState(\n defer ? { ...model, isDeferred: true } : createMemo\n );\n React.useEffect(() => {\n if (!isInitedRef.current) {\n return;\n }\n if (debug) {\n debug(\"Updating\");\n }\n if (onUpdate) {\n const localMemo = createMemo();\n setMemo(localMemo);\n onUpdate(localMemo);\n }\n }, deps);\n React.useEffect(() => {\n if (debug) {\n debug(\"Mounting\");\n }\n let localMemo = memo;\n if (defer) {\n localMemo = createMemo();\n setMemo(localMemo);\n }\n if (onMount && localMemo) {\n onMount(localMemo);\n }\n isInitedRef.current = true;\n return () => {\n if (debug) {\n debug(\"Unmounting\");\n }\n unsubscribe();\n if (onDestroy) {\n onDestroy(memo);\n }\n };\n }, []);\n return memo;\n};\nexport {\n useStream\n};\n//# sourceMappingURL=use-stream.module.js.map\n","import { Dialogic, states } from 'dialogic';\nimport { useStream } from 'use-stream';\n\ntype TModel = {\n _: Dialogic.States;\n};\n\nexport const useDialogicState = () => {\n // Subscribe to changes\n useStream({\n model: () => ({\n _: states,\n }),\n defer: true,\n });\n};\n","import { Dialogic } from 'dialogic';\nimport React, { FunctionComponent, useCallback, useRef } from 'react';\n\ntype ComponentProps = T & {\n show: () => void;\n hide: () => void;\n};\n\nexport function Instance(props: Dialogic.DialogicalInstanceOptions) {\n const domElementRef = useRef();\n const { className } = props.dialogicOptions;\n const Component = props.dialogicOptions.component as FunctionComponent<\n ComponentProps\n >;\n if (!Component) {\n throw new Error('Component missing in dialogic options.');\n }\n\n const dispatchTransition = (\n dispatchFn: Dialogic.DialogicalInstanceDispatchFn,\n ) => {\n const domElement = domElementRef.current;\n if (domElement === undefined) {\n return;\n }\n dispatchFn({\n detail: {\n identityOptions: props.identityOptions,\n domElement,\n },\n });\n };\n\n const onMount = () => {\n dispatchTransition(props.onMount);\n };\n\n const show = () => {\n dispatchTransition(props.onShow);\n };\n\n const hide = () => {\n dispatchTransition(props.onHide);\n };\n\n const domElementCb = useCallback((node: HTMLDivElement) => {\n if (node !== null) {\n domElementRef.current = node;\n onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const passThroughOptions: T = props.passThroughOptions || ({} as T);\n\n return (\n
\n \n
\n );\n}\n","import {\n Dialogic,\n hideItem,\n selectors,\n setDomElement,\n showItem,\n} from 'dialogic';\n\nexport const handleDispatch =\n (ns: string) =>\n (event: Dialogic.InstanceEvent, fn: Dialogic.InitiateItemTransitionFn) => {\n // Update dispatching item:\n const maybeItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeItem.just) {\n setDomElement(event.detail.domElement, maybeItem.just);\n }\n // Find item to transition:\n const maybeTransitioningItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeTransitioningItem.just) {\n fn(maybeTransitioningItem.just);\n }\n };\n\nexport const onInstanceMounted =\n (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onShowInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onHideInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, hideItem);\n","import { Dialogic, filterCandidates, selectors } from 'dialogic';\nimport React from 'react';\n\nimport { Instance } from './Instance';\nimport {\n onHideInstance,\n onInstanceMounted,\n onShowInstance,\n} from './instanceEvents';\n\nexport function Wrapper(props: Dialogic.DialogicalWrapperOptions) {\n const nsOnInstanceMounted = onInstanceMounted(props.ns);\n const nsOnShowInstance = onShowInstance(props.ns);\n const nsOnHideInstance = onHideInstance(props.ns);\n\n const identityOptions: Dialogic.IdentityOptions =\n props.identityOptions || ({} as Dialogic.IdentityOptions);\n const filtered = filterCandidates(\n props.ns,\n selectors.getStore(),\n identityOptions,\n );\n\n return (\n <>\n {filtered.map(item => (\n \n }\n passThroughOptions={\n item.passThroughOptions as Dialogic.PassThroughOptions\n }\n onMount={nsOnInstanceMounted}\n onShow={nsOnShowInstance}\n onHide={nsOnHideInstance}\n />\n ))}\n \n );\n}\n","import { Dialogic } from 'dialogic';\nimport React, { useEffect } from 'react';\n\nimport { useDialogicState } from './useDialogicState';\nimport { Wrapper } from './Wrapper';\n\ntype Props = {\n instance: Dialogic.DialogicInstance;\n} & Dialogic.ComponentOptions;\n\nexport function Dialogical({ instance, ...props }: Props) {\n useDialogicState();\n\n const identityOptions = {\n id: props.id || instance.defaultId,\n spawn: props.spawn || instance.defaultSpawn,\n };\n\n // Mount\n useEffect(() => {\n if (typeof props.onMount === 'function') {\n props.onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return ;\n}\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport type {\n UseDialogicInstanceProps,\n UseDialogicProps,\n} from 'dialogic-hooks';\nimport React, { PropsWithChildren, useEffect, useState } from 'react';\n\nlet useDialogicCounter = 0;\n\nexport const useDialogic = ({\n isIgnore,\n isShow,\n isHide,\n instance,\n deps = [],\n props = {} as T & Dialogic.Options,\n}: UseDialogicInstanceProps) => {\n // Create an id if not set.\n // This is useful for pages with multiple dialogs, where we can't expect\n // to have the user set an explicit id for each.\n // eslint-disable-next-line no-plusplus\n const [id] = useState(useDialogicCounter++);\n const augProps = {\n ...props,\n ...(props?.dialogic\n ? {\n dialogic: {\n ...props.dialogic,\n id: props.dialogic.id || id,\n },\n }\n : {\n dialogic: {\n id,\n },\n }),\n };\n\n const showInstance = () => {\n instance.show(augProps);\n };\n\n const hideInstance = () => {\n instance.hide(augProps);\n };\n\n // maybe show\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isShow !== undefined) {\n if (isShow) {\n showInstance();\n } else {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isShow]);\n\n // maybe hide\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isHide !== undefined) {\n if (isHide) {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isHide]);\n\n // unmount\n useEffect(() => {\n if (isIgnore) {\n return undefined;\n }\n // eslint-disable-next-line consistent-return\n return () => {\n hideInstance();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n show: showInstance,\n hide: hideInstance,\n };\n};\n\nexport const useDialog = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: dialog,\n });\n\nexport const useNotification = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: notification,\n });\n\n/**\n * Helper component that wraps `useDialogic` to use with JSX syntax.\n */\nexport function UseDialogic(\n props: PropsWithChildren>,\n) {\n useDialogic(props);\n return null;\n}\n\nexport function UseDialog(props: PropsWithChildren>) {\n return ;\n}\n\nexport function UseNotification(\n props: PropsWithChildren>,\n) {\n return ;\n}\n","import { remaining } from 'dialogic';\nimport type { UseRemainingProps } from 'dialogic-hooks';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nfunction useIsMounted(): () => boolean {\n const ref = useRef(false);\n\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return useCallback(() => ref.current, [ref]);\n}\n\nexport const useRemaining = ({\n instance,\n id,\n spawn,\n roundToSeconds,\n}: UseRemainingProps) => {\n const isMounted = useIsMounted();\n const [value, _setValue] = useState(undefined);\n const identity = {\n id,\n spawn,\n };\n const exists = !!instance.exists(identity);\n const setValue = (newValue: number | undefined) => {\n if (isMounted()) {\n _setValue(newValue);\n }\n };\n\n useMemo(() => {\n if (exists) {\n remaining({\n ...identity,\n instance,\n roundToSeconds,\n callback: (newValue: number | undefined) => {\n setValue(newValue);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [exists]);\n\n return [value];\n};\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport React from 'react';\n\nimport { Dialogical } from './Dialogical';\n\nfunction Dialog(props: Dialogic.ComponentOptions) {\n return ;\n}\nfunction Notification(props: Dialogic.ComponentOptions) {\n return ;\n}\n\nexport * from './useDialogic';\nexport * from './useDialogicState';\nexport * from './useRemaining';\nexport { dialog, Dialogic, notification, remaining } from 'dialogic';\nexport { Dialog, Dialogical, Notification };\n"],"names":["Stream","s","show","hide","exists"],"mappings":"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","x_google_ignoreList":[0,2]} \ No newline at end of file diff --git a/packages/dialogic-react/dist/dialogic-react.umd.js b/packages/dialogic-react/dist/dialogic-react.umd.js index af118024..b253e6fd 100644 --- a/packages/dialogic-react/dist/dialogic-react.umd.js +++ b/packages/dialogic-react/dist/dialogic-react.umd.js @@ -939,7 +939,15 @@ const types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({ __proto__: null }, Symbol.toStringTag, { value: "Module" })); - const useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debug }) => { + const useStream = ({ + model, + onMount, + onDestroy, + onUpdate, + deps = [], + defer, + debug + }) => { const [streamValues, setStreamValues] = React.useState({}); const isInitedRef = React.useRef(false); const subsRef = React.useRef([]); @@ -983,7 +991,9 @@ subscribe(memo2); return memo2; }; - const [memo, setMemo] = React.useState(defer ? { ...model, isDeferred: true } : createMemo); + const [memo, setMemo] = React.useState( + defer ? { ...model, isDeferred: true } : createMemo + ); React.useEffect(() => { if (!isInitedRef.current) { return; diff --git a/packages/dialogic-react/dist/dialogic-react.umd.js.map b/packages/dialogic-react/dist/dialogic-react.umd.js.map index 58978e36..e210f5dc 100644 --- a/packages/dialogic-react/dist/dialogic-react.umd.js.map +++ b/packages/dialogic-react/dist/dialogic-react.umd.js.map @@ -1 +1 @@ -{"version":3,"file":"dialogic-react.umd.js","sources":["../../../node_modules/mithril-stream-standalone/dist/mithril-stream-standalone.module.js","../../dialogic/dist/dialogic.module.js","../../../node_modules/use-stream/dist/use-stream.module.js","../src/useDialogicState.tsx","../src/Instance.tsx","../src/instanceEvents.ts","../src/Wrapper.tsx","../src/Dialogical.tsx","../src/useDialogic.tsx","../src/useRemaining.ts","../src/index.tsx"],"sourcesContent":["function g(t) {\n return p(function() {\n return t.map(function(e) {\n return e();\n });\n }, t);\n}\nfunction h(t, e, u) {\n var n = u.map(function(c) {\n var f = t(e, c);\n return f !== i.SKIP && (e = f), f;\n });\n return n(e), n;\n}\nfunction l(t, e) {\n var u = t.map(function(c) {\n return c[0];\n }), n = p(function() {\n var c = arguments[arguments.length - 1];\n return u.forEach(function(f, r) {\n c.indexOf(f) > -1 && (e = t[r][1](e, f()));\n }), e;\n }, u);\n return n(e), n;\n}\nfunction _() {\n var t = arguments[0], e = Array.prototype.slice.call(arguments, 1);\n return g(e).map(function(u) {\n return t.apply(void 0, u);\n });\n}\nfunction s(t) {\n return t._state === \"pending\" || t._state === \"active\" || t._state === \"changing\";\n}\nvar i = function(t) {\n var e = [], u = [];\n function n(r) {\n return arguments.length && r !== i.SKIP && (t = r, s(n) && (n._changing(), n._state = \"active\", e.slice().forEach(function(a, o) {\n s(a) && a(this[o](t));\n }, u.slice()))), t;\n }\n n.constructor = i, n._state = arguments.length && t !== i.SKIP ? \"active\" : \"pending\", n._parents = [], n._changing = function() {\n s(n) && (n._state = \"changing\"), e.forEach(function(r) {\n r._changing();\n });\n }, n._map = function(r, a) {\n var o = a ? i() : i(r(t));\n return o._parents.push(n), e.push(o), u.push(r), o;\n }, n.map = function(r) {\n return n._map(r, n._state !== \"active\");\n };\n var c;\n function f() {\n return c = i(), c.map(function(r) {\n return r === !0 && (n._parents.forEach(function(a) {\n a._unregisterChild(n);\n }), n._state = \"ended\", n._parents.length = e.length = u.length = 0), r;\n }), c;\n }\n return n.toJSON = function() {\n return t != null && typeof t.toJSON == \"function\" ? t.toJSON() : t;\n }, n[\"fantasy-land/map\"] = n.map, n[\"fantasy-land/ap\"] = function(r) {\n return p(\n function(a, o) {\n return a()(o());\n },\n [r, n]\n );\n }, n._unregisterChild = function(r) {\n var a = e.indexOf(r);\n a !== -1 && (e.splice(a, 1), u.splice(a, 1));\n }, Object.defineProperty(n, \"end\", {\n get: function() {\n return c || f();\n }\n }), n;\n};\nfunction p(t, e) {\n var u = e.every(function(a) {\n if (a.constructor !== i)\n throw new Error(\n \"Ensure that each item passed to stream.combine/stream.merge/lift is a stream.\"\n );\n return a._state === \"active\";\n }), n = u ? i(t.apply(null, e.concat([e]))) : i(), c = [], f = e.map(function(a) {\n return a._map(function(o) {\n return c.push(a), (u || e.every(function(m) {\n return m._state !== \"pending\";\n })) && (u = !0, n(t.apply(null, e.concat([c]))), c = []), o;\n }, !0);\n }), r = n.end.map(function(a) {\n a === !0 && (f.forEach(function(o) {\n o.end(!0);\n }), r.end(!0));\n });\n return n;\n}\ni.SKIP = {};\ni.lift = _;\ni.scan = h;\ni.merge = g;\ni.combine = p;\ni.scanMerge = l;\ni[\"fantasy-land/of\"] = i;\nvar d = !1;\nObject.defineProperty(i, \"HALT\", {\n get: function() {\n return d || console.log(\"HALT is deprecated and has been renamed to SKIP\"), d = !0, i.SKIP;\n }\n});\nexport {\n i as default\n};\n//# sourceMappingURL=mithril-stream-standalone.module.js.map\n","import Stream from \"mithril-stream-standalone\";\nconst findItem = (id, items) => items.find((item) => item.id === id);\nconst itemIndex = (id, items) => {\n const item = findItem(id, items);\n return item ? items.indexOf(item) : -1;\n};\nconst removeItem = (id, items) => {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items.splice(index, 1);\n }\n return items;\n};\nconst createId = (identityOptions, ns) => [ns, identityOptions.id, identityOptions.spawn].filter(Boolean).join(\"-\");\nconst store = {\n initialState: {\n store: {}\n },\n actions: (update2) => ({\n /**\n * Add an item to the end of the list.\n */\n add: (ns, item) => {\n update2((state) => {\n const items = state.store[ns] || [];\n state.store[ns] = [...items, item];\n if (item.timer) {\n item.timer.states.map(() => store.actions(update2).refresh());\n }\n return state;\n });\n },\n /**\n * Removes the first item with a match on `id`.\n */\n remove: (ns, id) => {\n update2((state) => {\n const items = state.store[ns] || [];\n const remaining2 = removeItem(id, items);\n state.store[ns] = remaining2;\n return state;\n });\n },\n /**\n * Replaces the first item with a match on `id` with a newItem.\n */\n replace: (ns, id, newItem) => {\n update2((state) => {\n const items = state.store[ns] || [];\n if (items) {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items[index] = newItem;\n state.store[ns] = [...items];\n }\n }\n return state;\n });\n },\n /**\n * Removes all items within a namespace.\n */\n removeAll: (ns) => {\n update2((state) => {\n state.store[ns] = [];\n return state;\n });\n },\n /**\n * Replaces all items within a namespace.\n */\n store: (ns, newItems) => {\n update2((state) => {\n state.store[ns] = [...newItems];\n return state;\n });\n },\n refresh: () => {\n update2((state) => ({\n ...state\n }));\n }\n }),\n selectors: (states2) => {\n const fns = {\n getStore: () => {\n const state = states2();\n return state.store;\n },\n find: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const id = createId(identityOptions, ns);\n const item = items.find((fitem) => fitem.id === id);\n return item ? { just: item } : { nothing: void 0 };\n },\n getAll: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const spawn = identityOptions !== void 0 ? identityOptions.spawn : void 0;\n const id = identityOptions !== void 0 ? identityOptions.id : void 0;\n const itemsBySpawn = spawn !== void 0 ? items.filter((fitem) => fitem.identityOptions.spawn === spawn) : items;\n const itemsById = id !== void 0 ? itemsBySpawn.filter((item) => item.identityOptions.id === id) : itemsBySpawn;\n return itemsById;\n },\n getCount: (ns, identityOptions) => fns.getAll(ns, identityOptions).length\n };\n return fns;\n }\n};\nconst update = Stream();\nconst states = Stream.scan(\n (state, patch) => patch(state),\n {\n ...store.initialState\n },\n update\n);\nconst actions = {\n ...store.actions(update)\n};\nconst selectors = {\n ...store.selectors(states)\n};\nconst initialState = {\n callback: () => {\n },\n isPaused: false,\n onAbort: () => {\n },\n onDone: () => {\n },\n promise: void 0,\n remaining: void 0,\n startTime: void 0,\n timeoutFn: () => {\n },\n timerId: void 0\n};\nconst appendStartTimer = (state, callback, duration, updateState) => {\n const timeoutFn = () => {\n callback();\n state.onDone();\n updateState();\n };\n return {\n timeoutFn,\n promise: new Promise((resolve) => {\n state.onDone = () => resolve();\n state.onAbort = () => resolve();\n }),\n ...state.isPaused ? {} : {\n startTime: new Date().getTime(),\n timerId: window.setTimeout(timeoutFn, duration),\n remaining: duration\n }\n };\n};\nconst appendStopTimeout = (state) => {\n window.clearTimeout(state.timerId);\n return {\n timerId: initialState.timerId\n };\n};\nconst appendStopTimer = (state) => ({\n ...appendStopTimeout(state)\n});\nconst appendPauseTimer = (state) => ({\n ...appendStopTimeout(state),\n isPaused: true,\n remaining: getRemaining$1(state)\n});\nconst appendResumeTimer = (state, minimumDuration) => {\n window.clearTimeout(state.timerId);\n const remaining2 = minimumDuration ? Math.max(state.remaining || 0, minimumDuration) : state.remaining;\n return {\n startTime: new Date().getTime(),\n isPaused: false,\n remaining: remaining2,\n timerId: window.setTimeout(state.timeoutFn, remaining2)\n };\n};\nconst getRemaining$1 = (state) => state.remaining === 0 || state.remaining === void 0 ? state.remaining : state.remaining - (new Date().getTime() - (state.startTime || 0));\nconst TimerStore = () => {\n const timer = {\n initialState,\n actions: (update22) => ({\n /**\n * Starts the timer\n * @param {callback} Function Callback function that is called after completion.\n * @param {duration} Number Timer duration in milliseconds.\n */\n start: (callback, duration) => {\n update22((state) => ({\n ...state,\n ...appendStopTimeout(state),\n ...appendStartTimer(\n state,\n callback,\n duration,\n () => timer.actions(update22).done()\n ),\n ...state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Stops the timer.\n */\n stop: () => {\n update22((state) => ({\n ...state,\n ...appendStopTimer(state),\n ...initialState\n }));\n },\n /**\n * Pauses a running timer.\n */\n pause: () => {\n update22((state) => ({\n ...state,\n ...!state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Resumes a paused timer.\n * @param {minimumDuration} Number Sets the minimum duration.\n */\n resume: (minimumDuration) => {\n update22((state) => ({\n ...state,\n ...state.isPaused && appendResumeTimer(state, minimumDuration)\n }));\n },\n /**\n * Aborts and clears a timer.\n */\n abort: () => {\n update22((state) => {\n state.onAbort();\n return {\n ...state,\n ...appendStopTimeout(state)\n };\n });\n },\n /**\n * Updates the current state. Used to get the state for selectors.getRemaining.\n */\n refresh: () => {\n update22((state) => ({\n ...state\n }));\n },\n /**\n * Brings the timer to its initial state.\n * Used internally.\n */\n done: () => {\n update22(() => initialState);\n }\n }),\n selectors: (states22) => ({\n /**\n * Returns the paused state.\n */\n isPaused: () => {\n const state = states22();\n return state.isPaused;\n },\n /**\n * Returns the remaining duration in milliseconds.\n */\n getRemaining: () => {\n const state = states22();\n return state.isPaused ? state.remaining : getRemaining$1(state);\n },\n /**\n * The promise that is handled when the timer is done or canceled.\n */\n getResultPromise: () => {\n const state = states22();\n return state.promise;\n }\n })\n };\n const update2 = Stream();\n const states2 = Stream.scan(\n (state, patch) => patch(state),\n {\n ...timer.initialState\n },\n update2\n );\n const actions2 = {\n ...timer.actions(update2)\n };\n const selectors2 = {\n ...timer.selectors(states2)\n };\n return {\n states: states2,\n actions: actions2,\n selectors: selectors2\n };\n};\nconst getStyleValue = ({\n domElement,\n prop\n}) => {\n const { defaultView } = document;\n if (defaultView) {\n const style = defaultView.getComputedStyle(domElement);\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n return void 0;\n};\nconst MODE = {\n SHOW: \"show\",\n HIDE: \"hide\"\n};\nconst removeTransitionClassNames = (domElement, transitionClassNames) => domElement.classList.remove(\n ...transitionClassNames.showStart,\n ...transitionClassNames.showEnd,\n ...transitionClassNames.hideStart,\n ...transitionClassNames.hideEnd\n);\nconst applyTransitionStyles = (domElement, step, styles) => {\n const transitionStyle = styles[step];\n if (transitionStyle) {\n Object.keys(transitionStyle).forEach((key) => {\n const value = transitionStyle[key];\n domElement.style[key] = value;\n });\n }\n};\nconst applyNoDurationTransitionStyle = (domElement) => {\n domElement.style.transitionDuration = \"0ms\";\n};\nconst getTransitionStyles = (domElement, styles) => (typeof styles === \"function\" ? styles(domElement) : styles) || {};\nconst createClassList = (className, step) => className.split(/ /).map((n) => `${n}-${step}`);\nconst applyStylesForState = (domElement, props, step, isEnterStep) => {\n if (props.styles) {\n const styles = getTransitionStyles(domElement, props.styles);\n applyTransitionStyles(domElement, \"default\", styles);\n if (isEnterStep) {\n applyNoDurationTransitionStyle(domElement);\n }\n applyTransitionStyles(domElement, step, styles);\n }\n if (props.className) {\n const transitionClassNames = {\n showStart: createClassList(props.className, \"show-start\"),\n showEnd: createClassList(props.className, \"show-end\"),\n hideStart: createClassList(props.className, \"hide-start\"),\n hideEnd: createClassList(props.className, \"hide-end\")\n };\n removeTransitionClassNames(domElement, transitionClassNames);\n if (transitionClassNames) {\n domElement.classList.add(...transitionClassNames[step]);\n }\n }\n domElement.scrollTop;\n};\nconst styleDurationToMs = (durationStr) => {\n const parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1e3 : 1);\n return Number.isNaN(parsed) ? 0 : parsed;\n};\nconst getDuration = (domElement) => {\n const durationStyleValue = getStyleValue({\n domElement,\n prop: \"transition-duration\"\n });\n const durationValue = durationStyleValue !== void 0 ? styleDurationToMs(durationStyleValue) : 0;\n const delayStyleValue = getStyleValue({\n domElement,\n prop: \"transition-delay\"\n });\n const delayValue = delayStyleValue !== void 0 ? styleDurationToMs(delayStyleValue) : 0;\n return durationValue + delayValue;\n};\nconst steps = {\n showStart: {\n nextStep: \"showEnd\"\n },\n showEnd: {\n nextStep: void 0\n },\n hideStart: {\n nextStep: \"hideEnd\"\n },\n hideEnd: {\n nextStep: void 0\n }\n};\nconst transition = (props, mode) => {\n const { domElement } = props;\n if (!domElement) {\n return Promise.resolve(\"no domElement\");\n }\n clearTimeout(props.__transitionTimeoutId__);\n let currentStep = mode === MODE.SHOW ? \"showStart\" : \"hideStart\";\n return new Promise((resolve) => {\n applyStylesForState(\n domElement,\n props,\n currentStep,\n currentStep === \"showStart\"\n );\n setTimeout(() => {\n const { nextStep } = steps[currentStep];\n if (nextStep) {\n currentStep = nextStep;\n applyStylesForState(domElement, props, currentStep);\n const duration = getDuration(domElement);\n props.__transitionTimeoutId__ = window.setTimeout(resolve, duration);\n }\n }, 0);\n });\n};\nconst localState = {\n uid: 0\n};\nconst getUid = () => {\n if (localState.uid === Number.MAX_VALUE) {\n localState.uid = 0;\n } else {\n localState.uid += 1;\n }\n return localState.uid;\n};\nconst getMaybeItem = (ns) => (defaultDialogicOptions) => (identityOptions) => selectors.find(\n ns,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getMergedIdentityOptions(defaultDialogicOptions, identityOptions)\n);\nconst filterBySpawn = (identityOptions) => (items) => identityOptions.spawn !== void 0 ? items.filter(\n (item) => item.identityOptions.spawn === identityOptions.spawn\n) : items;\nconst filterById = (identityOptions) => (items) => identityOptions.id !== void 0 ? items.filter((item) => item.identityOptions.id === identityOptions.id) : items;\nconst filterFirstInQueue = (nsItems) => {\n let queuedCount = 0;\n return nsItems.map((item) => ({\n item,\n queueCount: item.dialogicOptions.queued ? queuedCount++ : 0\n })).filter(({ queueCount }) => queueCount === 0).map(({ item }) => item);\n};\nconst filterCandidates = (ns, items, identityOptions) => {\n const nsItems = items[ns] || [];\n if (nsItems.length === 0) {\n return [];\n }\n const filteredBySpawn = filterBySpawn(identityOptions)(nsItems);\n return filterFirstInQueue(filteredBySpawn);\n};\nconst getPassThroughOptions = (options) => {\n const copy = {\n ...options\n };\n delete copy.dialogic;\n return copy;\n};\nconst getMergedIdentityOptions = (defaultDialogicOptions, identityOptions = {}) => ({\n id: identityOptions.id || defaultDialogicOptions.id,\n spawn: identityOptions.spawn || defaultDialogicOptions.spawn\n});\nconst handleOptions = (defaultDialogicOptions, options) => {\n const identityOptions = {\n id: (options == null ? void 0 : options.dialogic) ? options.dialogic.id : void 0,\n spawn: (options == null ? void 0 : options.dialogic) ? options.dialogic.spawn : void 0\n };\n const mergedIdentityOptions = getMergedIdentityOptions(\n defaultDialogicOptions || {},\n identityOptions\n );\n const dialogicOptions = {\n ...defaultDialogicOptions,\n ...options == null ? void 0 : options.dialogic,\n __transitionTimeoutId__: 0\n };\n const passThroughOptions = options ? getPassThroughOptions(options) : {};\n return {\n identityOptions: mergedIdentityOptions,\n dialogicOptions,\n passThroughOptions\n };\n};\nconst createInstance = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n return new Promise((resolve) => {\n const callbacks = {\n willShow: (item2) => {\n if (dialogicOptions.willShow) {\n dialogicOptions.willShow(item2);\n }\n return resolve(item2);\n },\n willHide: (item2) => {\n if (dialogicOptions.willHide) {\n dialogicOptions.willHide(item2);\n }\n return resolve(item2);\n },\n didShow: (item2) => {\n if (dialogicOptions.didShow) {\n dialogicOptions.didShow(item2);\n }\n return resolve(item2);\n },\n didHide: (item2) => {\n if (dialogicOptions.didHide) {\n dialogicOptions.didHide(item2);\n }\n return resolve(item2);\n }\n };\n const item = {\n ns,\n identityOptions,\n dialogicOptions,\n callbacks,\n passThroughOptions,\n id: createId(identityOptions, ns),\n timer: dialogicOptions.timeout ? TimerStore() : void 0,\n // when timeout is undefined or 0\n key: getUid().toString(),\n // Uniquely identify each item for keyed display\n transitionState: 0\n /* Default */\n };\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem && dialogicOptions.toggle) {\n hide(ns)(defaultDialogicOptions)(options);\n resolve(existingItem);\n return;\n }\n if (existingItem && !dialogicOptions.queued) {\n const replacingItem = {\n ...item,\n key: existingItem.key,\n transitionState: existingItem.transitionState,\n dialogicOptions: existingItem.dialogicOptions\n // Preserve dialogicOptions\n };\n actions.replace(ns, existingItem.id, replacingItem);\n } else {\n actions.add(ns, item);\n }\n resolve(item);\n });\n};\nconst show = createInstance;\nconst hide = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem) {\n const item = {\n ...existingItem,\n dialogicOptions: {\n ...existingItem.dialogicOptions,\n ...dialogicOptions\n },\n passThroughOptions: {\n ...existingItem.passThroughOptions,\n passThroughOptions\n }\n };\n actions.replace(ns, existingItem.id, item);\n if (item.transitionState !== 2) {\n return hideItem(item);\n }\n return Promise.resolve(item);\n }\n return Promise.resolve({\n ns,\n id: identityOptions.id\n });\n};\nconst pause = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.pause();\n }\n });\n return Promise.all(validItems);\n};\nconst resume = (ns) => (_defaultDialogicOptions) => (commandOptions) => {\n const options = commandOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.resume(options.minimumDuration);\n }\n });\n return Promise.all(validItems);\n};\nconst getTimerSelectors = (ns, defaultDialogicOptions, identityOptions) => {\n var _a, _b;\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n return (_b = (_a = maybeItem == null ? void 0 : maybeItem.just) == null ? void 0 : _a.timer) == null ? void 0 : _b.selectors;\n};\nconst isPaused = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.isPaused()) || false;\n};\nconst getRemaining = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.getRemaining()) || void 0;\n};\nconst exists = (ns) => (_defaultDialogicOptions) => (identityOptions) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n !!getValidItems(ns, identityOptions).length\n);\nconst getValidItems = (ns, identityOptions) => {\n const allItems = selectors.getAll(ns);\n let validItems;\n if (identityOptions) {\n const filteredBySpawn = filterBySpawn(identityOptions)(allItems);\n validItems = filterById(identityOptions)(filteredBySpawn);\n } else {\n validItems = allItems;\n }\n return validItems;\n};\nconst resetAll = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions);\n const items = [];\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.abort();\n }\n items.push(item);\n });\n if (identityOptions) {\n items.forEach((item) => {\n actions.remove(ns, item.id);\n });\n } else {\n actions.removeAll(ns);\n }\n return Promise.resolve(items);\n};\nconst getOverridingTransitionOptions = (item, dialogicOptions) => ({\n ...item,\n dialogicOptions: {\n ...item.dialogicOptions,\n ...dialogicOptions\n }\n});\nconst hideAll = (ns) => (_defaultDialogicOptions) => (dialogicOptions) => {\n const options = dialogicOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions);\n const regularItems = validItems.filter(\n (item) => !options.queued && !item.dialogicOptions.queued\n );\n const queuedItems = validItems.filter(\n (item) => options.queued || item.dialogicOptions.queued\n );\n const items = [];\n regularItems.forEach(\n (item) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n items.push(hideItem(getOverridingTransitionOptions(item, options)))\n )\n );\n if (queuedItems.length > 0) {\n const [current] = queuedItems;\n actions.store(ns, [current]);\n items.push(hideItem(getOverridingTransitionOptions(current, options)));\n }\n return Promise.all(items);\n};\nconst getCount = (ns) => (identityOptions) => selectors.getCount(ns, identityOptions);\nconst transitionItem = (item, mode) => transition(item.dialogicOptions, mode);\nconst getResultPromise = () => (ns) => (defaultDialogicOptions) => (identityOptions) => {\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n if (maybeItem.just) {\n if (maybeItem.just && maybeItem.just.timer) {\n return maybeItem.just.timer.selectors.getResultPromise();\n }\n return void 0;\n }\n return void 0;\n};\nconst deferredHideItem = async (item, timer, timeout) => {\n timer.actions.start(() => hideItem(item), timeout);\n return getResultPromise();\n};\nconst showItem = async (item) => {\n if (item.callbacks.willShow) {\n item.callbacks.willShow(item);\n }\n if (item.transitionState !== 1) {\n item.transitionState = 1;\n await transitionItem(item, MODE.SHOW);\n }\n if (item.callbacks.didShow) {\n item.callbacks.didShow(item);\n }\n if (item.dialogicOptions.timeout && item.timer) {\n await deferredHideItem(item, item.timer, item.dialogicOptions.timeout);\n }\n return Promise.resolve(item);\n};\nconst hideItem = async (item) => {\n item.transitionState = 2;\n if (item.timer) {\n item.timer.actions.stop();\n }\n if (item.callbacks.willHide) {\n item.callbacks.willHide(item);\n }\n await transitionItem(item, MODE.HIDE);\n if (item.callbacks.didHide) {\n item.callbacks.didHide(item);\n }\n const copy = {\n ...item\n };\n actions.remove(item.ns, item.id);\n return Promise.resolve(copy);\n};\nconst setDomElement = (domElement, item) => {\n item.dialogicOptions.domElement = domElement;\n};\nconst dialogical = ({\n ns,\n queued,\n timeout\n}) => {\n const defaultId = `default_${ns}`;\n const defaultSpawn = `default_${ns}`;\n const defaultDialogicOptions = {\n id: defaultId,\n spawn: defaultSpawn,\n ...queued && { queued },\n ...timeout !== void 0 && { timeout }\n };\n return {\n // Identification\n ns,\n defaultId,\n defaultSpawn,\n // Configuration\n defaultDialogicOptions,\n // Commands\n show: show(ns)(defaultDialogicOptions),\n hide: hide(ns)(defaultDialogicOptions),\n hideAll: hideAll(ns)(defaultDialogicOptions),\n resetAll: resetAll(ns)(defaultDialogicOptions),\n // Timer commands\n pause: pause(ns)(defaultDialogicOptions),\n resume: resume(ns)(defaultDialogicOptions),\n // State\n exists: exists(ns)(defaultDialogicOptions),\n getCount: getCount(ns),\n // Timer state\n isPaused: isPaused(ns)(defaultDialogicOptions),\n getRemaining: getRemaining(ns)(defaultDialogicOptions)\n };\n};\nconst dialog = dialogical({ ns: \"dialog\" });\nconst notification = dialogical({\n ns: \"notification\",\n queued: true,\n timeout: 3e3\n});\nconst remaining = (props) => {\n let displayValue;\n let reqId;\n let isCanceled = false;\n const identity = {\n id: props.id,\n spawn: props.spawn\n };\n const update2 = () => {\n const remainingValue = props.instance.getRemaining(identity);\n if (displayValue !== remainingValue) {\n displayValue = remainingValue === void 0 ? remainingValue : props.roundToSeconds ? Math.round(Math.max(remainingValue, 0) / 1e3) : Math.max(remainingValue, 0);\n }\n props.callback(displayValue);\n if (!props.instance.exists(identity)) {\n window.cancelAnimationFrame(reqId);\n isCanceled = true;\n } else if (!isCanceled) {\n reqId = window.requestAnimationFrame(update2);\n }\n };\n reqId = window.requestAnimationFrame(update2);\n};\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n types as Dialogic,\n actions,\n dialog,\n dialogical,\n exists,\n filterCandidates,\n getCount,\n getRemaining,\n hide,\n hideAll,\n hideItem,\n isPaused,\n notification,\n pause,\n remaining,\n resetAll,\n resume,\n selectors,\n setDomElement,\n show,\n showItem,\n states\n};\n//# sourceMappingURL=dialogic.module.js.map\n","import React from 'react';\n\n// eslint-disable-next-line import/no-unresolved\nconst useStream = ({ model, onMount, onDestroy, onUpdate, deps = [], defer, debug, }) => {\n // Local storage that connects stream updates to React renders:\n const [streamValues, setStreamValues] = React.useState({});\n // Distinguish update from mount:\n const isInitedRef = React.useRef(false);\n const subsRef = React.useRef([]);\n const subscribe = (memo) => {\n if (debug) {\n debug('Subscribe');\n }\n subsRef.current = Object.keys(memo)\n .map((key) => {\n const stream = memo[key];\n if (stream.map && typeof stream.map === 'function') {\n return stream.map((value) => {\n if (debug) {\n debug('Will update %s', key);\n }\n setStreamValues({\n ...streamValues,\n [key]: value,\n });\n return null;\n });\n }\n return false;\n })\n .filter(Boolean);\n };\n const unsubscribe = () => {\n if (subsRef.current.length) {\n if (debug) {\n debug('Unsubscribe');\n }\n subsRef.current.forEach((s) => s.end(true));\n subsRef.current = [];\n }\n };\n const createMemo = () => {\n if (debug) {\n debug('createMemo');\n }\n unsubscribe();\n const modelFn = typeof model === 'function'\n ? model\n : (() => model);\n const memo = modelFn();\n subscribe(memo);\n return memo;\n };\n const [memo, setMemo] = React.useState(defer\n ? { ...model, isDeferred: true }\n : createMemo);\n // Update\n React.useEffect(() => {\n if (!isInitedRef.current) {\n return;\n }\n if (debug) {\n debug('Updating');\n }\n if (onUpdate) {\n const localMemo = createMemo();\n setMemo(localMemo);\n onUpdate(localMemo);\n }\n }, deps); // eslint-disable-line react-hooks/exhaustive-deps\n // Mount and unmount\n React.useEffect(() => {\n if (debug) {\n debug('Mounting');\n }\n let localMemo = memo;\n if (defer) {\n localMemo = createMemo();\n setMemo(localMemo);\n }\n if (onMount && localMemo) {\n onMount(localMemo);\n }\n isInitedRef.current = true;\n return () => {\n if (debug) {\n debug('Unmounting');\n }\n unsubscribe();\n if (onDestroy) {\n onDestroy(memo);\n }\n };\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n return memo;\n};\n\nexport { useStream };\n","import { Dialogic, states } from 'dialogic';\nimport { useStream } from 'use-stream';\n\ntype TModel = {\n _: Dialogic.States;\n};\n\nexport const useDialogicState = () => {\n // Subscribe to changes\n useStream({\n model: () => ({\n _: states,\n }),\n defer: true,\n });\n};\n","import { Dialogic } from 'dialogic';\nimport React, { FunctionComponent, useCallback, useRef } from 'react';\n\ntype ComponentProps = T & {\n show: () => void;\n hide: () => void;\n};\n\nexport function Instance(props: Dialogic.DialogicalInstanceOptions) {\n const domElementRef = useRef();\n const { className } = props.dialogicOptions;\n const Component = props.dialogicOptions.component as FunctionComponent<\n ComponentProps\n >;\n if (!Component) {\n throw new Error('Component missing in dialogic options.');\n }\n\n const dispatchTransition = (\n dispatchFn: Dialogic.DialogicalInstanceDispatchFn,\n ) => {\n const domElement = domElementRef.current;\n if (domElement === undefined) {\n return;\n }\n dispatchFn({\n detail: {\n identityOptions: props.identityOptions,\n domElement,\n },\n });\n };\n\n const onMount = () => {\n dispatchTransition(props.onMount);\n };\n\n const show = () => {\n dispatchTransition(props.onShow);\n };\n\n const hide = () => {\n dispatchTransition(props.onHide);\n };\n\n const domElementCb = useCallback((node: HTMLDivElement) => {\n if (node !== null) {\n domElementRef.current = node;\n onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const passThroughOptions: T = props.passThroughOptions || ({} as T);\n\n return (\n
\n \n
\n );\n}\n","import {\n Dialogic,\n hideItem,\n selectors,\n setDomElement,\n showItem,\n} from 'dialogic';\n\nexport const handleDispatch =\n (ns: string) =>\n (event: Dialogic.InstanceEvent, fn: Dialogic.InitiateItemTransitionFn) => {\n // Update dispatching item:\n const maybeItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeItem.just) {\n setDomElement(event.detail.domElement, maybeItem.just);\n }\n // Find item to transition:\n const maybeTransitioningItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeTransitioningItem.just) {\n fn(maybeTransitioningItem.just);\n }\n };\n\nexport const onInstanceMounted =\n (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onShowInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onHideInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, hideItem);\n","import { Dialogic, filterCandidates, selectors } from 'dialogic';\nimport React from 'react';\n\nimport { Instance } from './Instance';\nimport {\n onHideInstance,\n onInstanceMounted,\n onShowInstance,\n} from './instanceEvents';\n\nexport function Wrapper(props: Dialogic.DialogicalWrapperOptions) {\n const nsOnInstanceMounted = onInstanceMounted(props.ns);\n const nsOnShowInstance = onShowInstance(props.ns);\n const nsOnHideInstance = onHideInstance(props.ns);\n\n const identityOptions: Dialogic.IdentityOptions =\n props.identityOptions || ({} as Dialogic.IdentityOptions);\n const filtered = filterCandidates(\n props.ns,\n selectors.getStore(),\n identityOptions,\n );\n\n return (\n <>\n {filtered.map(item => (\n \n }\n passThroughOptions={\n item.passThroughOptions as Dialogic.PassThroughOptions\n }\n onMount={nsOnInstanceMounted}\n onShow={nsOnShowInstance}\n onHide={nsOnHideInstance}\n />\n ))}\n \n );\n}\n","import { Dialogic } from 'dialogic';\nimport React, { useEffect } from 'react';\n\nimport { useDialogicState } from './useDialogicState';\nimport { Wrapper } from './Wrapper';\n\ntype Props = {\n instance: Dialogic.DialogicInstance;\n} & Dialogic.ComponentOptions;\n\nexport function Dialogical({ instance, ...props }: Props) {\n useDialogicState();\n\n const identityOptions = {\n id: props.id || instance.defaultId,\n spawn: props.spawn || instance.defaultSpawn,\n };\n\n // Mount\n useEffect(() => {\n if (typeof props.onMount === 'function') {\n props.onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return ;\n}\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport type {\n UseDialogicInstanceProps,\n UseDialogicProps,\n} from 'dialogic-hooks';\nimport React, { PropsWithChildren, useEffect, useState } from 'react';\n\nlet useDialogicCounter = 0;\n\nexport const useDialogic = ({\n isIgnore,\n isShow,\n isHide,\n instance,\n deps = [],\n props = {} as T & Dialogic.Options,\n}: UseDialogicInstanceProps) => {\n // Create an id if not set.\n // This is useful for pages with multiple dialogs, where we can't expect\n // to have the user set an explicit id for each.\n // eslint-disable-next-line no-plusplus\n const [id] = useState(useDialogicCounter++);\n const augProps = {\n ...props,\n ...(props?.dialogic\n ? {\n dialogic: {\n ...props.dialogic,\n id: props.dialogic.id || id,\n },\n }\n : {\n dialogic: {\n id,\n },\n }),\n };\n\n const showInstance = () => {\n instance.show(augProps);\n };\n\n const hideInstance = () => {\n instance.hide(augProps);\n };\n\n // maybe show\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isShow !== undefined) {\n if (isShow) {\n showInstance();\n } else {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isShow]);\n\n // maybe hide\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isHide !== undefined) {\n if (isHide) {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isHide]);\n\n // unmount\n useEffect(() => {\n if (isIgnore) {\n return undefined;\n }\n // eslint-disable-next-line consistent-return\n return () => {\n hideInstance();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n show: showInstance,\n hide: hideInstance,\n };\n};\n\nexport const useDialog = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: dialog,\n });\n\nexport const useNotification = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: notification,\n });\n\n/**\n * Helper component that wraps `useDialogic` to use with JSX syntax.\n */\nexport function UseDialogic(\n props: PropsWithChildren>,\n) {\n useDialogic(props);\n return null;\n}\n\nexport function UseDialog(props: PropsWithChildren>) {\n return ;\n}\n\nexport function UseNotification(\n props: PropsWithChildren>,\n) {\n return ;\n}\n","import { remaining } from 'dialogic';\nimport type { UseRemainingProps } from 'dialogic-hooks';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nfunction useIsMounted(): () => boolean {\n const ref = useRef(false);\n\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return useCallback(() => ref.current, [ref]);\n}\n\nexport const useRemaining = ({\n instance,\n id,\n spawn,\n roundToSeconds,\n}: UseRemainingProps) => {\n const isMounted = useIsMounted();\n const [value, _setValue] = useState(undefined);\n const identity = {\n id,\n spawn,\n };\n const exists = !!instance.exists(identity);\n const setValue = (newValue: number | undefined) => {\n if (isMounted()) {\n _setValue(newValue);\n }\n };\n\n useMemo(() => {\n if (exists) {\n remaining({\n ...identity,\n instance,\n roundToSeconds,\n callback: (newValue: number | undefined) => {\n setValue(newValue);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [exists]);\n\n return [value];\n};\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport React from 'react';\n\nimport { Dialogical } from './Dialogical';\n\nfunction Dialog(props: Dialogic.ComponentOptions) {\n return ;\n}\nfunction Notification(props: Dialogic.ComponentOptions) {\n return ;\n}\n\nexport * from './useDialogic';\nexport * from './useDialogicState';\nexport * from './useRemaining';\nexport { dialog, Dialogic, notification, remaining } from 'dialogic';\nexport { Dialog, Dialogical, Notification };\n"],"names":["Stream","memo","s","useRef","show","hide","useCallback","useEffect","useState","exists","useMemo"],"mappings":"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","x_google_ignoreList":[0,2]} \ No newline at end of file +{"version":3,"file":"dialogic-react.umd.js","sources":["../../../node_modules/mithril-stream-standalone/dist/mithril-stream-standalone.module.js","../../dialogic/dist/dialogic.module.js","../../../node_modules/use-stream/dist/use-stream.module.js","../src/useDialogicState.tsx","../src/Instance.tsx","../src/instanceEvents.ts","../src/Wrapper.tsx","../src/Dialogical.tsx","../src/useDialogic.tsx","../src/useRemaining.ts","../src/index.tsx"],"sourcesContent":["function g(t) {\n return p(function() {\n return t.map(function(e) {\n return e();\n });\n }, t);\n}\nfunction h(t, e, u) {\n var n = u.map(function(c) {\n var f = t(e, c);\n return f !== i.SKIP && (e = f), f;\n });\n return n(e), n;\n}\nfunction l(t, e) {\n var u = t.map(function(c) {\n return c[0];\n }), n = p(function() {\n var c = arguments[arguments.length - 1];\n return u.forEach(function(f, r) {\n c.indexOf(f) > -1 && (e = t[r][1](e, f()));\n }), e;\n }, u);\n return n(e), n;\n}\nfunction _() {\n var t = arguments[0], e = Array.prototype.slice.call(arguments, 1);\n return g(e).map(function(u) {\n return t.apply(void 0, u);\n });\n}\nfunction s(t) {\n return t._state === \"pending\" || t._state === \"active\" || t._state === \"changing\";\n}\nvar i = function(t) {\n var e = [], u = [];\n function n(r) {\n return arguments.length && r !== i.SKIP && (t = r, s(n) && (n._changing(), n._state = \"active\", e.slice().forEach(function(a, o) {\n s(a) && a(this[o](t));\n }, u.slice()))), t;\n }\n n.constructor = i, n._state = arguments.length && t !== i.SKIP ? \"active\" : \"pending\", n._parents = [], n._changing = function() {\n s(n) && (n._state = \"changing\"), e.forEach(function(r) {\n r._changing();\n });\n }, n._map = function(r, a) {\n var o = a ? i() : i(r(t));\n return o._parents.push(n), e.push(o), u.push(r), o;\n }, n.map = function(r) {\n return n._map(r, n._state !== \"active\");\n };\n var c;\n function f() {\n return c = i(), c.map(function(r) {\n return r === !0 && (n._parents.forEach(function(a) {\n a._unregisterChild(n);\n }), n._state = \"ended\", n._parents.length = e.length = u.length = 0), r;\n }), c;\n }\n return n.toJSON = function() {\n return t != null && typeof t.toJSON == \"function\" ? t.toJSON() : t;\n }, n[\"fantasy-land/map\"] = n.map, n[\"fantasy-land/ap\"] = function(r) {\n return p(\n function(a, o) {\n return a()(o());\n },\n [r, n]\n );\n }, n._unregisterChild = function(r) {\n var a = e.indexOf(r);\n a !== -1 && (e.splice(a, 1), u.splice(a, 1));\n }, Object.defineProperty(n, \"end\", {\n get: function() {\n return c || f();\n }\n }), n;\n};\nfunction p(t, e) {\n var u = e.every(function(a) {\n if (a.constructor !== i)\n throw new Error(\n \"Ensure that each item passed to stream.combine/stream.merge/lift is a stream.\"\n );\n return a._state === \"active\";\n }), n = u ? i(t.apply(null, e.concat([e]))) : i(), c = [], f = e.map(function(a) {\n return a._map(function(o) {\n return c.push(a), (u || e.every(function(m) {\n return m._state !== \"pending\";\n })) && (u = !0, n(t.apply(null, e.concat([c]))), c = []), o;\n }, !0);\n }), r = n.end.map(function(a) {\n a === !0 && (f.forEach(function(o) {\n o.end(!0);\n }), r.end(!0));\n });\n return n;\n}\ni.SKIP = {};\ni.lift = _;\ni.scan = h;\ni.merge = g;\ni.combine = p;\ni.scanMerge = l;\ni[\"fantasy-land/of\"] = i;\nvar d = !1;\nObject.defineProperty(i, \"HALT\", {\n get: function() {\n return d || console.log(\"HALT is deprecated and has been renamed to SKIP\"), d = !0, i.SKIP;\n }\n});\nexport {\n i as default\n};\n//# sourceMappingURL=mithril-stream-standalone.module.js.map\n","import Stream from \"mithril-stream-standalone\";\nconst findItem = (id, items) => items.find((item) => item.id === id);\nconst itemIndex = (id, items) => {\n const item = findItem(id, items);\n return item ? items.indexOf(item) : -1;\n};\nconst removeItem = (id, items) => {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items.splice(index, 1);\n }\n return items;\n};\nconst createId = (identityOptions, ns) => [ns, identityOptions.id, identityOptions.spawn].filter(Boolean).join(\"-\");\nconst store = {\n initialState: {\n store: {}\n },\n actions: (update2) => ({\n /**\n * Add an item to the end of the list.\n */\n add: (ns, item) => {\n update2((state) => {\n const items = state.store[ns] || [];\n state.store[ns] = [...items, item];\n if (item.timer) {\n item.timer.states.map(() => store.actions(update2).refresh());\n }\n return state;\n });\n },\n /**\n * Removes the first item with a match on `id`.\n */\n remove: (ns, id) => {\n update2((state) => {\n const items = state.store[ns] || [];\n const remaining2 = removeItem(id, items);\n state.store[ns] = remaining2;\n return state;\n });\n },\n /**\n * Replaces the first item with a match on `id` with a newItem.\n */\n replace: (ns, id, newItem) => {\n update2((state) => {\n const items = state.store[ns] || [];\n if (items) {\n const index = itemIndex(id, items);\n if (index !== -1) {\n items[index] = newItem;\n state.store[ns] = [...items];\n }\n }\n return state;\n });\n },\n /**\n * Removes all items within a namespace.\n */\n removeAll: (ns) => {\n update2((state) => {\n state.store[ns] = [];\n return state;\n });\n },\n /**\n * Replaces all items within a namespace.\n */\n store: (ns, newItems) => {\n update2((state) => {\n state.store[ns] = [...newItems];\n return state;\n });\n },\n refresh: () => {\n update2((state) => ({\n ...state\n }));\n }\n }),\n selectors: (states2) => {\n const fns = {\n getStore: () => {\n const state = states2();\n return state.store;\n },\n find: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const id = createId(identityOptions, ns);\n const item = items.find((fitem) => fitem.id === id);\n return item ? { just: item } : { nothing: void 0 };\n },\n getAll: (ns, identityOptions) => {\n const state = states2();\n const items = state.store[ns] || [];\n const spawn = identityOptions !== void 0 ? identityOptions.spawn : void 0;\n const id = identityOptions !== void 0 ? identityOptions.id : void 0;\n const itemsBySpawn = spawn !== void 0 ? items.filter((fitem) => fitem.identityOptions.spawn === spawn) : items;\n const itemsById = id !== void 0 ? itemsBySpawn.filter((item) => item.identityOptions.id === id) : itemsBySpawn;\n return itemsById;\n },\n getCount: (ns, identityOptions) => fns.getAll(ns, identityOptions).length\n };\n return fns;\n }\n};\nconst update = Stream();\nconst states = Stream.scan(\n (state, patch) => patch(state),\n {\n ...store.initialState\n },\n update\n);\nconst actions = {\n ...store.actions(update)\n};\nconst selectors = {\n ...store.selectors(states)\n};\nconst initialState = {\n callback: () => {\n },\n isPaused: false,\n onAbort: () => {\n },\n onDone: () => {\n },\n promise: void 0,\n remaining: void 0,\n startTime: void 0,\n timeoutFn: () => {\n },\n timerId: void 0\n};\nconst appendStartTimer = (state, callback, duration, updateState) => {\n const timeoutFn = () => {\n callback();\n state.onDone();\n updateState();\n };\n return {\n timeoutFn,\n promise: new Promise((resolve) => {\n state.onDone = () => resolve();\n state.onAbort = () => resolve();\n }),\n ...state.isPaused ? {} : {\n startTime: new Date().getTime(),\n timerId: window.setTimeout(timeoutFn, duration),\n remaining: duration\n }\n };\n};\nconst appendStopTimeout = (state) => {\n window.clearTimeout(state.timerId);\n return {\n timerId: initialState.timerId\n };\n};\nconst appendStopTimer = (state) => ({\n ...appendStopTimeout(state)\n});\nconst appendPauseTimer = (state) => ({\n ...appendStopTimeout(state),\n isPaused: true,\n remaining: getRemaining$1(state)\n});\nconst appendResumeTimer = (state, minimumDuration) => {\n window.clearTimeout(state.timerId);\n const remaining2 = minimumDuration ? Math.max(state.remaining || 0, minimumDuration) : state.remaining;\n return {\n startTime: new Date().getTime(),\n isPaused: false,\n remaining: remaining2,\n timerId: window.setTimeout(state.timeoutFn, remaining2)\n };\n};\nconst getRemaining$1 = (state) => state.remaining === 0 || state.remaining === void 0 ? state.remaining : state.remaining - (new Date().getTime() - (state.startTime || 0));\nconst TimerStore = () => {\n const timer = {\n initialState,\n actions: (update22) => ({\n /**\n * Starts the timer\n * @param {callback} Function Callback function that is called after completion.\n * @param {duration} Number Timer duration in milliseconds.\n */\n start: (callback, duration) => {\n update22((state) => ({\n ...state,\n ...appendStopTimeout(state),\n ...appendStartTimer(\n state,\n callback,\n duration,\n () => timer.actions(update22).done()\n ),\n ...state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Stops the timer.\n */\n stop: () => {\n update22((state) => ({\n ...state,\n ...appendStopTimer(state),\n ...initialState\n }));\n },\n /**\n * Pauses a running timer.\n */\n pause: () => {\n update22((state) => ({\n ...state,\n ...!state.isPaused && appendPauseTimer(state)\n }));\n },\n /**\n * Resumes a paused timer.\n * @param {minimumDuration} Number Sets the minimum duration.\n */\n resume: (minimumDuration) => {\n update22((state) => ({\n ...state,\n ...state.isPaused && appendResumeTimer(state, minimumDuration)\n }));\n },\n /**\n * Aborts and clears a timer.\n */\n abort: () => {\n update22((state) => {\n state.onAbort();\n return {\n ...state,\n ...appendStopTimeout(state)\n };\n });\n },\n /**\n * Updates the current state. Used to get the state for selectors.getRemaining.\n */\n refresh: () => {\n update22((state) => ({\n ...state\n }));\n },\n /**\n * Brings the timer to its initial state.\n * Used internally.\n */\n done: () => {\n update22(() => initialState);\n }\n }),\n selectors: (states22) => ({\n /**\n * Returns the paused state.\n */\n isPaused: () => {\n const state = states22();\n return state.isPaused;\n },\n /**\n * Returns the remaining duration in milliseconds.\n */\n getRemaining: () => {\n const state = states22();\n return state.isPaused ? state.remaining : getRemaining$1(state);\n },\n /**\n * The promise that is handled when the timer is done or canceled.\n */\n getResultPromise: () => {\n const state = states22();\n return state.promise;\n }\n })\n };\n const update2 = Stream();\n const states2 = Stream.scan(\n (state, patch) => patch(state),\n {\n ...timer.initialState\n },\n update2\n );\n const actions2 = {\n ...timer.actions(update2)\n };\n const selectors2 = {\n ...timer.selectors(states2)\n };\n return {\n states: states2,\n actions: actions2,\n selectors: selectors2\n };\n};\nconst getStyleValue = ({\n domElement,\n prop\n}) => {\n const { defaultView } = document;\n if (defaultView) {\n const style = defaultView.getComputedStyle(domElement);\n if (style) {\n return style.getPropertyValue(prop);\n }\n }\n return void 0;\n};\nconst MODE = {\n SHOW: \"show\",\n HIDE: \"hide\"\n};\nconst removeTransitionClassNames = (domElement, transitionClassNames) => domElement.classList.remove(\n ...transitionClassNames.showStart,\n ...transitionClassNames.showEnd,\n ...transitionClassNames.hideStart,\n ...transitionClassNames.hideEnd\n);\nconst applyTransitionStyles = (domElement, step, styles) => {\n const transitionStyle = styles[step];\n if (transitionStyle) {\n Object.keys(transitionStyle).forEach((key) => {\n const value = transitionStyle[key];\n domElement.style[key] = value;\n });\n }\n};\nconst applyNoDurationTransitionStyle = (domElement) => {\n domElement.style.transitionDuration = \"0ms\";\n};\nconst getTransitionStyles = (domElement, styles) => (typeof styles === \"function\" ? styles(domElement) : styles) || {};\nconst createClassList = (className, step) => className.split(/ /).map((n) => `${n}-${step}`);\nconst applyStylesForState = (domElement, props, step, isEnterStep) => {\n if (props.styles) {\n const styles = getTransitionStyles(domElement, props.styles);\n applyTransitionStyles(domElement, \"default\", styles);\n if (isEnterStep) {\n applyNoDurationTransitionStyle(domElement);\n }\n applyTransitionStyles(domElement, step, styles);\n }\n if (props.className) {\n const transitionClassNames = {\n showStart: createClassList(props.className, \"show-start\"),\n showEnd: createClassList(props.className, \"show-end\"),\n hideStart: createClassList(props.className, \"hide-start\"),\n hideEnd: createClassList(props.className, \"hide-end\")\n };\n removeTransitionClassNames(domElement, transitionClassNames);\n if (transitionClassNames) {\n domElement.classList.add(...transitionClassNames[step]);\n }\n }\n domElement.scrollTop;\n};\nconst styleDurationToMs = (durationStr) => {\n const parsed = parseFloat(durationStr) * (durationStr.indexOf(\"ms\") === -1 ? 1e3 : 1);\n return Number.isNaN(parsed) ? 0 : parsed;\n};\nconst getDuration = (domElement) => {\n const durationStyleValue = getStyleValue({\n domElement,\n prop: \"transition-duration\"\n });\n const durationValue = durationStyleValue !== void 0 ? styleDurationToMs(durationStyleValue) : 0;\n const delayStyleValue = getStyleValue({\n domElement,\n prop: \"transition-delay\"\n });\n const delayValue = delayStyleValue !== void 0 ? styleDurationToMs(delayStyleValue) : 0;\n return durationValue + delayValue;\n};\nconst steps = {\n showStart: {\n nextStep: \"showEnd\"\n },\n showEnd: {\n nextStep: void 0\n },\n hideStart: {\n nextStep: \"hideEnd\"\n },\n hideEnd: {\n nextStep: void 0\n }\n};\nconst transition = (props, mode) => {\n const { domElement } = props;\n if (!domElement) {\n return Promise.resolve(\"no domElement\");\n }\n clearTimeout(props.__transitionTimeoutId__);\n let currentStep = mode === MODE.SHOW ? \"showStart\" : \"hideStart\";\n return new Promise((resolve) => {\n applyStylesForState(\n domElement,\n props,\n currentStep,\n currentStep === \"showStart\"\n );\n setTimeout(() => {\n const { nextStep } = steps[currentStep];\n if (nextStep) {\n currentStep = nextStep;\n applyStylesForState(domElement, props, currentStep);\n const duration = getDuration(domElement);\n props.__transitionTimeoutId__ = window.setTimeout(resolve, duration);\n }\n }, 0);\n });\n};\nconst localState = {\n uid: 0\n};\nconst getUid = () => {\n if (localState.uid === Number.MAX_VALUE) {\n localState.uid = 0;\n } else {\n localState.uid += 1;\n }\n return localState.uid;\n};\nconst getMaybeItem = (ns) => (defaultDialogicOptions) => (identityOptions) => selectors.find(\n ns,\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n getMergedIdentityOptions(defaultDialogicOptions, identityOptions)\n);\nconst filterBySpawn = (identityOptions) => (items) => identityOptions.spawn !== void 0 ? items.filter(\n (item) => item.identityOptions.spawn === identityOptions.spawn\n) : items;\nconst filterById = (identityOptions) => (items) => identityOptions.id !== void 0 ? items.filter((item) => item.identityOptions.id === identityOptions.id) : items;\nconst filterFirstInQueue = (nsItems) => {\n let queuedCount = 0;\n return nsItems.map((item) => ({\n item,\n queueCount: item.dialogicOptions.queued ? queuedCount++ : 0\n })).filter(({ queueCount }) => queueCount === 0).map(({ item }) => item);\n};\nconst filterCandidates = (ns, items, identityOptions) => {\n const nsItems = items[ns] || [];\n if (nsItems.length === 0) {\n return [];\n }\n const filteredBySpawn = filterBySpawn(identityOptions)(nsItems);\n return filterFirstInQueue(filteredBySpawn);\n};\nconst getPassThroughOptions = (options) => {\n const copy = {\n ...options\n };\n delete copy.dialogic;\n return copy;\n};\nconst getMergedIdentityOptions = (defaultDialogicOptions, identityOptions = {}) => ({\n id: identityOptions.id || defaultDialogicOptions.id,\n spawn: identityOptions.spawn || defaultDialogicOptions.spawn\n});\nconst handleOptions = (defaultDialogicOptions, options) => {\n const identityOptions = {\n id: (options == null ? void 0 : options.dialogic) ? options.dialogic.id : void 0,\n spawn: (options == null ? void 0 : options.dialogic) ? options.dialogic.spawn : void 0\n };\n const mergedIdentityOptions = getMergedIdentityOptions(\n defaultDialogicOptions || {},\n identityOptions\n );\n const dialogicOptions = {\n ...defaultDialogicOptions,\n ...options == null ? void 0 : options.dialogic,\n __transitionTimeoutId__: 0\n };\n const passThroughOptions = options ? getPassThroughOptions(options) : {};\n return {\n identityOptions: mergedIdentityOptions,\n dialogicOptions,\n passThroughOptions\n };\n};\nconst createInstance = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n return new Promise((resolve) => {\n const callbacks = {\n willShow: (item2) => {\n if (dialogicOptions.willShow) {\n dialogicOptions.willShow(item2);\n }\n return resolve(item2);\n },\n willHide: (item2) => {\n if (dialogicOptions.willHide) {\n dialogicOptions.willHide(item2);\n }\n return resolve(item2);\n },\n didShow: (item2) => {\n if (dialogicOptions.didShow) {\n dialogicOptions.didShow(item2);\n }\n return resolve(item2);\n },\n didHide: (item2) => {\n if (dialogicOptions.didHide) {\n dialogicOptions.didHide(item2);\n }\n return resolve(item2);\n }\n };\n const item = {\n ns,\n identityOptions,\n dialogicOptions,\n callbacks,\n passThroughOptions,\n id: createId(identityOptions, ns),\n timer: dialogicOptions.timeout ? TimerStore() : void 0,\n // when timeout is undefined or 0\n key: getUid().toString(),\n // Uniquely identify each item for keyed display\n transitionState: 0\n /* Default */\n };\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem && dialogicOptions.toggle) {\n hide(ns)(defaultDialogicOptions)(options);\n resolve(existingItem);\n return;\n }\n if (existingItem && !dialogicOptions.queued) {\n const replacingItem = {\n ...item,\n key: existingItem.key,\n transitionState: existingItem.transitionState,\n dialogicOptions: existingItem.dialogicOptions\n // Preserve dialogicOptions\n };\n actions.replace(ns, existingItem.id, replacingItem);\n } else {\n actions.add(ns, item);\n }\n resolve(item);\n });\n};\nconst show = createInstance;\nconst hide = (ns) => (defaultDialogicOptions) => (options) => {\n const { identityOptions, dialogicOptions, passThroughOptions } = handleOptions(defaultDialogicOptions, options);\n const maybeExistingItem = selectors.find(\n ns,\n identityOptions\n );\n const existingItem = maybeExistingItem.just;\n if (existingItem) {\n const item = {\n ...existingItem,\n dialogicOptions: {\n ...existingItem.dialogicOptions,\n ...dialogicOptions\n },\n passThroughOptions: {\n ...existingItem.passThroughOptions,\n passThroughOptions\n }\n };\n actions.replace(ns, existingItem.id, item);\n if (item.transitionState !== 2) {\n return hideItem(item);\n }\n return Promise.resolve(item);\n }\n return Promise.resolve({\n ns,\n id: identityOptions.id\n });\n};\nconst pause = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.pause();\n }\n });\n return Promise.all(validItems);\n};\nconst resume = (ns) => (_defaultDialogicOptions) => (commandOptions) => {\n const options = commandOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions).filter(\n (item) => !!item.timer\n );\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.resume(options.minimumDuration);\n }\n });\n return Promise.all(validItems);\n};\nconst getTimerSelectors = (ns, defaultDialogicOptions, identityOptions) => {\n var _a, _b;\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n return (_b = (_a = maybeItem == null ? void 0 : maybeItem.just) == null ? void 0 : _a.timer) == null ? void 0 : _b.selectors;\n};\nconst isPaused = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.isPaused()) || false;\n};\nconst getRemaining = (ns) => (defaultDialogicOptions) => (identityOptions) => {\n var _a;\n return ((_a = getTimerSelectors(\n ns,\n defaultDialogicOptions,\n identityOptions\n )) == null ? void 0 : _a.getRemaining()) || void 0;\n};\nconst exists = (ns) => (_defaultDialogicOptions) => (identityOptions) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n !!getValidItems(ns, identityOptions).length\n);\nconst getValidItems = (ns, identityOptions) => {\n const allItems = selectors.getAll(ns);\n let validItems;\n if (identityOptions) {\n const filteredBySpawn = filterBySpawn(identityOptions)(allItems);\n validItems = filterById(identityOptions)(filteredBySpawn);\n } else {\n validItems = allItems;\n }\n return validItems;\n};\nconst resetAll = (ns) => (_defaultDialogicOptions) => (identityOptions) => {\n const validItems = getValidItems(ns, identityOptions);\n const items = [];\n validItems.forEach((item) => {\n if (item.timer) {\n item.timer.actions.abort();\n }\n items.push(item);\n });\n if (identityOptions) {\n items.forEach((item) => {\n actions.remove(ns, item.id);\n });\n } else {\n actions.removeAll(ns);\n }\n return Promise.resolve(items);\n};\nconst getOverridingTransitionOptions = (item, dialogicOptions) => ({\n ...item,\n dialogicOptions: {\n ...item.dialogicOptions,\n ...dialogicOptions\n }\n});\nconst hideAll = (ns) => (_defaultDialogicOptions) => (dialogicOptions) => {\n const options = dialogicOptions || {};\n const identityOptions = {\n id: options.id,\n spawn: options.spawn\n };\n const validItems = getValidItems(ns, identityOptions);\n const regularItems = validItems.filter(\n (item) => !options.queued && !item.dialogicOptions.queued\n );\n const queuedItems = validItems.filter(\n (item) => options.queued || item.dialogicOptions.queued\n );\n const items = [];\n regularItems.forEach(\n (item) => (\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n items.push(hideItem(getOverridingTransitionOptions(item, options)))\n )\n );\n if (queuedItems.length > 0) {\n const [current] = queuedItems;\n actions.store(ns, [current]);\n items.push(hideItem(getOverridingTransitionOptions(current, options)));\n }\n return Promise.all(items);\n};\nconst getCount = (ns) => (identityOptions) => selectors.getCount(ns, identityOptions);\nconst transitionItem = (item, mode) => transition(item.dialogicOptions, mode);\nconst getResultPromise = () => (ns) => (defaultDialogicOptions) => (identityOptions) => {\n const maybeItem = getMaybeItem(ns)(\n defaultDialogicOptions\n )(identityOptions);\n if (maybeItem.just) {\n if (maybeItem.just && maybeItem.just.timer) {\n return maybeItem.just.timer.selectors.getResultPromise();\n }\n return void 0;\n }\n return void 0;\n};\nconst deferredHideItem = async (item, timer, timeout) => {\n timer.actions.start(() => hideItem(item), timeout);\n return getResultPromise();\n};\nconst showItem = async (item) => {\n if (item.callbacks.willShow) {\n item.callbacks.willShow(item);\n }\n if (item.transitionState !== 1) {\n item.transitionState = 1;\n await transitionItem(item, MODE.SHOW);\n }\n if (item.callbacks.didShow) {\n item.callbacks.didShow(item);\n }\n if (item.dialogicOptions.timeout && item.timer) {\n await deferredHideItem(item, item.timer, item.dialogicOptions.timeout);\n }\n return Promise.resolve(item);\n};\nconst hideItem = async (item) => {\n item.transitionState = 2;\n if (item.timer) {\n item.timer.actions.stop();\n }\n if (item.callbacks.willHide) {\n item.callbacks.willHide(item);\n }\n await transitionItem(item, MODE.HIDE);\n if (item.callbacks.didHide) {\n item.callbacks.didHide(item);\n }\n const copy = {\n ...item\n };\n actions.remove(item.ns, item.id);\n return Promise.resolve(copy);\n};\nconst setDomElement = (domElement, item) => {\n item.dialogicOptions.domElement = domElement;\n};\nconst dialogical = ({\n ns,\n queued,\n timeout\n}) => {\n const defaultId = `default_${ns}`;\n const defaultSpawn = `default_${ns}`;\n const defaultDialogicOptions = {\n id: defaultId,\n spawn: defaultSpawn,\n ...queued && { queued },\n ...timeout !== void 0 && { timeout }\n };\n return {\n // Identification\n ns,\n defaultId,\n defaultSpawn,\n // Configuration\n defaultDialogicOptions,\n // Commands\n show: show(ns)(defaultDialogicOptions),\n hide: hide(ns)(defaultDialogicOptions),\n hideAll: hideAll(ns)(defaultDialogicOptions),\n resetAll: resetAll(ns)(defaultDialogicOptions),\n // Timer commands\n pause: pause(ns)(defaultDialogicOptions),\n resume: resume(ns)(defaultDialogicOptions),\n // State\n exists: exists(ns)(defaultDialogicOptions),\n getCount: getCount(ns),\n // Timer state\n isPaused: isPaused(ns)(defaultDialogicOptions),\n getRemaining: getRemaining(ns)(defaultDialogicOptions)\n };\n};\nconst dialog = dialogical({ ns: \"dialog\" });\nconst notification = dialogical({\n ns: \"notification\",\n queued: true,\n timeout: 3e3\n});\nconst remaining = (props) => {\n let displayValue;\n let reqId;\n let isCanceled = false;\n const identity = {\n id: props.id,\n spawn: props.spawn\n };\n const update2 = () => {\n const remainingValue = props.instance.getRemaining(identity);\n if (displayValue !== remainingValue) {\n displayValue = remainingValue === void 0 ? remainingValue : props.roundToSeconds ? Math.round(Math.max(remainingValue, 0) / 1e3) : Math.max(remainingValue, 0);\n }\n props.callback(displayValue);\n if (!props.instance.exists(identity)) {\n window.cancelAnimationFrame(reqId);\n isCanceled = true;\n } else if (!isCanceled) {\n reqId = window.requestAnimationFrame(update2);\n }\n };\n reqId = window.requestAnimationFrame(update2);\n};\nconst types = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n __proto__: null\n}, Symbol.toStringTag, { value: \"Module\" }));\nexport {\n types as Dialogic,\n actions,\n dialog,\n dialogical,\n exists,\n filterCandidates,\n getCount,\n getRemaining,\n hide,\n hideAll,\n hideItem,\n isPaused,\n notification,\n pause,\n remaining,\n resetAll,\n resume,\n selectors,\n setDomElement,\n show,\n showItem,\n states\n};\n//# sourceMappingURL=dialogic.module.js.map\n","import React from \"react\";\nconst useStream = ({\n model,\n onMount,\n onDestroy,\n onUpdate,\n deps = [],\n defer,\n debug\n}) => {\n const [streamValues, setStreamValues] = React.useState({});\n const isInitedRef = React.useRef(false);\n const subsRef = React.useRef([]);\n const subscribe = (memo2) => {\n if (debug) {\n debug(\"Subscribe\");\n }\n subsRef.current = Object.keys(memo2).map((key) => {\n const stream = memo2[key];\n if (stream.map && typeof stream.map === \"function\") {\n return stream.map((value) => {\n if (debug) {\n debug(\"Will update %s\", key);\n }\n setStreamValues({\n ...streamValues,\n [key]: value\n });\n return null;\n });\n }\n return false;\n }).filter(Boolean);\n };\n const unsubscribe = () => {\n if (subsRef.current.length) {\n if (debug) {\n debug(\"Unsubscribe\");\n }\n subsRef.current.forEach((s) => s.end(true));\n subsRef.current = [];\n }\n };\n const createMemo = () => {\n if (debug) {\n debug(\"createMemo\");\n }\n unsubscribe();\n const modelFn = typeof model === \"function\" ? model : () => model;\n const memo2 = modelFn();\n subscribe(memo2);\n return memo2;\n };\n const [memo, setMemo] = React.useState(\n defer ? { ...model, isDeferred: true } : createMemo\n );\n React.useEffect(() => {\n if (!isInitedRef.current) {\n return;\n }\n if (debug) {\n debug(\"Updating\");\n }\n if (onUpdate) {\n const localMemo = createMemo();\n setMemo(localMemo);\n onUpdate(localMemo);\n }\n }, deps);\n React.useEffect(() => {\n if (debug) {\n debug(\"Mounting\");\n }\n let localMemo = memo;\n if (defer) {\n localMemo = createMemo();\n setMemo(localMemo);\n }\n if (onMount && localMemo) {\n onMount(localMemo);\n }\n isInitedRef.current = true;\n return () => {\n if (debug) {\n debug(\"Unmounting\");\n }\n unsubscribe();\n if (onDestroy) {\n onDestroy(memo);\n }\n };\n }, []);\n return memo;\n};\nexport {\n useStream\n};\n//# sourceMappingURL=use-stream.module.js.map\n","import { Dialogic, states } from 'dialogic';\nimport { useStream } from 'use-stream';\n\ntype TModel = {\n _: Dialogic.States;\n};\n\nexport const useDialogicState = () => {\n // Subscribe to changes\n useStream({\n model: () => ({\n _: states,\n }),\n defer: true,\n });\n};\n","import { Dialogic } from 'dialogic';\nimport React, { FunctionComponent, useCallback, useRef } from 'react';\n\ntype ComponentProps = T & {\n show: () => void;\n hide: () => void;\n};\n\nexport function Instance(props: Dialogic.DialogicalInstanceOptions) {\n const domElementRef = useRef();\n const { className } = props.dialogicOptions;\n const Component = props.dialogicOptions.component as FunctionComponent<\n ComponentProps\n >;\n if (!Component) {\n throw new Error('Component missing in dialogic options.');\n }\n\n const dispatchTransition = (\n dispatchFn: Dialogic.DialogicalInstanceDispatchFn,\n ) => {\n const domElement = domElementRef.current;\n if (domElement === undefined) {\n return;\n }\n dispatchFn({\n detail: {\n identityOptions: props.identityOptions,\n domElement,\n },\n });\n };\n\n const onMount = () => {\n dispatchTransition(props.onMount);\n };\n\n const show = () => {\n dispatchTransition(props.onShow);\n };\n\n const hide = () => {\n dispatchTransition(props.onHide);\n };\n\n const domElementCb = useCallback((node: HTMLDivElement) => {\n if (node !== null) {\n domElementRef.current = node;\n onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const passThroughOptions: T = props.passThroughOptions || ({} as T);\n\n return (\n
\n \n
\n );\n}\n","import {\n Dialogic,\n hideItem,\n selectors,\n setDomElement,\n showItem,\n} from 'dialogic';\n\nexport const handleDispatch =\n (ns: string) =>\n (event: Dialogic.InstanceEvent, fn: Dialogic.InitiateItemTransitionFn) => {\n // Update dispatching item:\n const maybeItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeItem.just) {\n setDomElement(event.detail.domElement, maybeItem.just);\n }\n // Find item to transition:\n const maybeTransitioningItem: Dialogic.MaybeItem = selectors.find(\n ns,\n event.detail.identityOptions,\n );\n if (maybeTransitioningItem.just) {\n fn(maybeTransitioningItem.just);\n }\n };\n\nexport const onInstanceMounted =\n (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onShowInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, showItem);\n\nexport const onHideInstance = (ns: string) => (event: Dialogic.InstanceEvent) =>\n handleDispatch(ns)(event, hideItem);\n","import { Dialogic, filterCandidates, selectors } from 'dialogic';\nimport React from 'react';\n\nimport { Instance } from './Instance';\nimport {\n onHideInstance,\n onInstanceMounted,\n onShowInstance,\n} from './instanceEvents';\n\nexport function Wrapper(props: Dialogic.DialogicalWrapperOptions) {\n const nsOnInstanceMounted = onInstanceMounted(props.ns);\n const nsOnShowInstance = onShowInstance(props.ns);\n const nsOnHideInstance = onHideInstance(props.ns);\n\n const identityOptions: Dialogic.IdentityOptions =\n props.identityOptions || ({} as Dialogic.IdentityOptions);\n const filtered = filterCandidates(\n props.ns,\n selectors.getStore(),\n identityOptions,\n );\n\n return (\n <>\n {filtered.map(item => (\n \n }\n passThroughOptions={\n item.passThroughOptions as Dialogic.PassThroughOptions\n }\n onMount={nsOnInstanceMounted}\n onShow={nsOnShowInstance}\n onHide={nsOnHideInstance}\n />\n ))}\n \n );\n}\n","import { Dialogic } from 'dialogic';\nimport React, { useEffect } from 'react';\n\nimport { useDialogicState } from './useDialogicState';\nimport { Wrapper } from './Wrapper';\n\ntype Props = {\n instance: Dialogic.DialogicInstance;\n} & Dialogic.ComponentOptions;\n\nexport function Dialogical({ instance, ...props }: Props) {\n useDialogicState();\n\n const identityOptions = {\n id: props.id || instance.defaultId,\n spawn: props.spawn || instance.defaultSpawn,\n };\n\n // Mount\n useEffect(() => {\n if (typeof props.onMount === 'function') {\n props.onMount();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return ;\n}\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport type {\n UseDialogicInstanceProps,\n UseDialogicProps,\n} from 'dialogic-hooks';\nimport React, { PropsWithChildren, useEffect, useState } from 'react';\n\nlet useDialogicCounter = 0;\n\nexport const useDialogic = ({\n isIgnore,\n isShow,\n isHide,\n instance,\n deps = [],\n props = {} as T & Dialogic.Options,\n}: UseDialogicInstanceProps) => {\n // Create an id if not set.\n // This is useful for pages with multiple dialogs, where we can't expect\n // to have the user set an explicit id for each.\n // eslint-disable-next-line no-plusplus\n const [id] = useState(useDialogicCounter++);\n const augProps = {\n ...props,\n ...(props?.dialogic\n ? {\n dialogic: {\n ...props.dialogic,\n id: props.dialogic.id || id,\n },\n }\n : {\n dialogic: {\n id,\n },\n }),\n };\n\n const showInstance = () => {\n instance.show(augProps);\n };\n\n const hideInstance = () => {\n instance.hide(augProps);\n };\n\n // maybe show\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isShow !== undefined) {\n if (isShow) {\n showInstance();\n } else {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isShow]);\n\n // maybe hide\n useEffect(() => {\n if (isIgnore) {\n return;\n }\n if (isHide !== undefined) {\n if (isHide) {\n hideInstance();\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [...deps, isHide]);\n\n // unmount\n useEffect(() => {\n if (isIgnore) {\n return undefined;\n }\n // eslint-disable-next-line consistent-return\n return () => {\n hideInstance();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n return {\n show: showInstance,\n hide: hideInstance,\n };\n};\n\nexport const useDialog = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: dialog,\n });\n\nexport const useNotification = (\n props: Omit, 'instance'>,\n) =>\n useDialogic({\n ...props,\n instance: notification,\n });\n\n/**\n * Helper component that wraps `useDialogic` to use with JSX syntax.\n */\nexport function UseDialogic(\n props: PropsWithChildren>,\n) {\n useDialogic(props);\n return null;\n}\n\nexport function UseDialog(props: PropsWithChildren>) {\n return ;\n}\n\nexport function UseNotification(\n props: PropsWithChildren>,\n) {\n return ;\n}\n","import { remaining } from 'dialogic';\nimport type { UseRemainingProps } from 'dialogic-hooks';\nimport { useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nfunction useIsMounted(): () => boolean {\n const ref = useRef(false);\n\n useEffect(() => {\n ref.current = true;\n return () => {\n ref.current = false;\n };\n }, []);\n\n return useCallback(() => ref.current, [ref]);\n}\n\nexport const useRemaining = ({\n instance,\n id,\n spawn,\n roundToSeconds,\n}: UseRemainingProps) => {\n const isMounted = useIsMounted();\n const [value, _setValue] = useState(undefined);\n const identity = {\n id,\n spawn,\n };\n const exists = !!instance.exists(identity);\n const setValue = (newValue: number | undefined) => {\n if (isMounted()) {\n _setValue(newValue);\n }\n };\n\n useMemo(() => {\n if (exists) {\n remaining({\n ...identity,\n instance,\n roundToSeconds,\n callback: (newValue: number | undefined) => {\n setValue(newValue);\n },\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [exists]);\n\n return [value];\n};\n","import { dialog, Dialogic, notification } from 'dialogic';\nimport React from 'react';\n\nimport { Dialogical } from './Dialogical';\n\nfunction Dialog(props: Dialogic.ComponentOptions) {\n return ;\n}\nfunction Notification(props: Dialogic.ComponentOptions) {\n return ;\n}\n\nexport * from './useDialogic';\nexport * from './useDialogicState';\nexport * from './useRemaining';\nexport { dialog, Dialogic, notification, remaining } from 'dialogic';\nexport { Dialog, Dialogical, Notification };\n"],"names":["Stream","s","useRef","show","hide","useCallback","useEffect","useState","exists","useMemo"],"mappings":"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","x_google_ignoreList":[0,2]} \ No newline at end of file diff --git a/packages/dialogic-react/package.json b/packages/dialogic-react/package.json index 407b6f1f..3adcbb2e 100644 --- a/packages/dialogic-react/package.json +++ b/packages/dialogic-react/package.json @@ -1,6 +1,6 @@ { "name": "dialogic-react", - "version": ""0.13.10"", + "version": "0.13.10", "description": "Logic for dialogs and notifications", "files": [ "dist", @@ -24,8 +24,8 @@ "build:types": "../../node_modules/typescript/bin/tsc --p tsconfig.gen.json" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-hooks": ""0.13.10"", + "dialogic": "0.13.10", + "dialogic-hooks": "0.13.10", "use-stream": "^0.4.3" }, "devDependencies": { diff --git a/packages/dialogic-svelte-ts/package.json b/packages/dialogic-svelte-ts/package.json index 344fc98e..3e686635 100644 --- a/packages/dialogic-svelte-ts/package.json +++ b/packages/dialogic-svelte-ts/package.json @@ -1,6 +1,6 @@ { "name": "dialogic-svelte-ts", - "version": ""0.13.10"", + "version": "0.13.10", "description": "Logic for dialogs and notifications", "type": "module", "files": [ @@ -17,7 +17,7 @@ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch" }, "dependencies": { - "dialogic": ""0.13.10"" + "dialogic": "0.13.10" }, "devDependencies": { "@rollup/plugin-typescript": "^11.0.0", diff --git a/packages/dialogic-svelte/package.json b/packages/dialogic-svelte/package.json index 52308b49..5da746b4 100644 --- a/packages/dialogic-svelte/package.json +++ b/packages/dialogic-svelte/package.json @@ -1,6 +1,6 @@ { "name": "dialogic-svelte", - "version": ""0.13.10"", + "version": "0.13.10", "description": "Logic for dialogs and notifications", "type": "module", "files": [ @@ -14,7 +14,7 @@ "build": "true" }, "dependencies": { - "dialogic": ""0.13.10"" + "dialogic": "0.13.10" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^2.0.3", diff --git a/packages/dialogic/package.json b/packages/dialogic/package.json index 224f65d5..b92c5338 100644 --- a/packages/dialogic/package.json +++ b/packages/dialogic/package.json @@ -1,6 +1,6 @@ { "name": "dialogic", - "version": ""0.13.10"", + "version": "0.13.10", "description": "Logic for dialogs and notifications", "type": "module", "files": [ diff --git a/packages/test-dialogic-mithril/package.json b/packages/test-dialogic-mithril/package.json index 89606409..e9d2fb7b 100644 --- a/packages/test-dialogic-mithril/package.json +++ b/packages/test-dialogic-mithril/package.json @@ -2,7 +2,7 @@ "name": "tests-dialogic-mithril", "private": true, "description": "Test Dialogic with Mithril", - "version": ""0.13.10"", + "version": "0.13.10", "license": "MIT", "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", @@ -15,8 +15,8 @@ "cypress:open": "cypress open --e2e" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-mithril": ""0.13.10"", + "dialogic": "0.13.10", + "dialogic-mithril": "0.13.10", "mithril": "^2.2.2", "mithril-hooks": "^0.7.1" }, diff --git a/packages/test-dialogic-react/package.json b/packages/test-dialogic-react/package.json index c7fdb51f..a69dd134 100644 --- a/packages/test-dialogic-react/package.json +++ b/packages/test-dialogic-react/package.json @@ -2,7 +2,7 @@ "name": "tests-dialogic-react", "private": true, "description": "Test Dialogic with React", - "version": ""0.13.10"", + "version": "0.13.10", "license": "MIT", "scripts": { "deps": "../../node_modules/npm-check-updates/build/src/bin/cli.js -u", @@ -15,8 +15,8 @@ "cypress:open": "cypress open --e2e" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-react": ""0.13.10"", + "dialogic": "0.13.10", + "dialogic-react": "0.13.10", "react": "18.2.0", "react-dom": "18.2.0", "react-router-dom": "6.8.2" diff --git a/packages/test-dialogic-svelte/package.json b/packages/test-dialogic-svelte/package.json index 08436552..4910ad5e 100644 --- a/packages/test-dialogic-svelte/package.json +++ b/packages/test-dialogic-svelte/package.json @@ -2,7 +2,7 @@ "name": "tests-dialogic-svelte", "private": true, "description": "Test Dialogic with Svelte", - "version": ""0.13.10"", + "version": "0.13.10", "license": "MIT", "type": "module", "scripts": { @@ -16,8 +16,8 @@ "cypress:open": "cypress open --e2e" }, "dependencies": { - "dialogic": ""0.13.10"", - "dialogic-svelte": ""0.13.10"", + "dialogic": "0.13.10", + "dialogic-svelte": "0.13.10", "mithril-stream-standalone": "^0.1.6", "svelte": "^3.55.1", "svelte-spa-router": "^3.3.0" diff --git a/packages/test-dialogic/package.json b/packages/test-dialogic/package.json index acfa8e99..d68844f5 100644 --- a/packages/test-dialogic/package.json +++ b/packages/test-dialogic/package.json @@ -2,7 +2,7 @@ "name": "test-dialogic", "private": true, "description": "Test Dialogic", - "version": ""0.13.10"", + "version": "0.13.10", "type": "module", "license": "MIT", "scripts": { @@ -12,7 +12,7 @@ }, "dependencies": { "assert": "^2.0.0", - "dialogic": ""0.13.10"" + "dialogic": "0.13.10" }, "devDependencies": { "@types/chai": "^4.3.4",