@ecopages/radiant-ui 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/components/ui/autocomplete/autocomplete.d.ts +1 -1
- package/dist/components/ui/autocomplete/autocomplete.script.d.ts +1 -1
- package/dist/components/ui/button/button.d.ts +1 -1
- package/dist/components/ui/calendar/calendar.d.ts +3 -1
- package/dist/components/ui/calendar/calendar.script.d.ts +1 -1
- package/dist/components/ui/calendar/index.js +1 -1
- package/dist/components/ui/calendar/index.js.map +3 -3
- package/dist/components/ui/carousel/carousel.d.ts +1 -1
- package/dist/components/ui/combobox/combobox.d.ts +1 -1
- package/dist/components/ui/cycle-toggle/cycle-toggle.d.ts +1 -1
- package/dist/components/ui/cycle-toggle/index.d.ts +1 -1
- package/dist/components/ui/date-field/date-field.d.ts +4 -3
- package/dist/components/ui/date-field/index.js +1 -1
- package/dist/components/ui/date-field/index.js.map +3 -3
- package/dist/components/ui/date-input/date-input-segment-dom.d.ts +1 -1
- package/dist/components/ui/date-input/date-input.d.ts +3 -2
- package/dist/components/ui/date-input/date-input.script.d.ts +1 -1
- package/dist/components/ui/date-input/index.js +1 -1
- package/dist/components/ui/date-input/index.js.map +3 -3
- package/dist/components/ui/date-range-picker/date-range-picker.d.ts +5 -4
- package/dist/components/ui/date-range-picker/index.js +1 -1
- package/dist/components/ui/date-range-picker/index.js.map +3 -3
- package/dist/components/ui/dialog/dialog.d.ts +1 -1
- package/dist/components/ui/disclosure/disclosure.d.ts +1 -1
- package/dist/components/ui/heading/heading.d.ts +1 -1
- package/dist/components/ui/headline/headline.d.ts +1 -1
- package/dist/components/ui/input/input.d.ts +1 -1
- package/dist/components/ui/menu-button/menu-button.d.ts +1 -1
- package/dist/components/ui/menubar/menubar.d.ts +1 -1
- package/dist/components/ui/meter/meter.d.ts +4 -2
- package/dist/components/ui/number-field/number-field.d.ts +1 -1
- package/dist/components/ui/select/select.d.ts +1 -1
- package/dist/components/ui/separator/separator.d.ts +2 -1
- package/dist/components/ui/sidebar/sidebar.d.ts +1 -1
- package/dist/components/ui/tabs/tabs.d.ts +1 -1
- package/dist/components/ui/tag-group/tag-group.d.ts +1 -1
- package/dist/components/ui/textarea/textarea.d.ts +1 -1
- package/dist/components/ui/toast/index.js +1 -1
- package/dist/components/ui/toast/index.js.map +3 -3
- package/dist/components/ui/toast/toast.d.ts +6 -3
- package/dist/components/ui/toc/toc.d.ts +3 -1
- package/dist/components/ui/tooltip/index.js +1 -1
- package/dist/components/ui/tooltip/index.js.map +3 -3
- package/dist/components/ui/tooltip/tooltip.script.d.ts +7 -14
- package/dist/index.js +1 -1
- package/dist/index.js.map +3 -3
- package/dist/lib/mask/date-mask.d.ts +1 -1
- package/dist/lib/without-children.d.ts +10 -0
- package/package.json +13 -12
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../src/components/ui/toast/toast.script.tsx", "../../../../src/lib/cx.ts", "../../../../src/lib/icons/check.tsx", "../../../../src/lib/icons/x.tsx", "../../../../src/components/ui/toast/toast-context.ts", "../../../../src/components/ui/toast/toast-state.ts", "../../../../src/components/ui/toast/toaster.script.tsx", "../../../../src/components/ui/toast/stack-layout.ts", "../../../../src/components/ui/toast/toast.tsx", "../../../../src/components/ui/toast/toast-api.ts"],
|
|
4
|
-
"sourcesContent": ["let _initProto, _initClass, _init_toastId, _init_extra_toastId, _init_title, _init_extra_title, _init_description, _init_extra_description, _init_variant, _init_extra_variant, _init_duration, _init_extra_duration, _init_dismissible, _init_extra_dismissible, _init_closeButton, _init_extra_closeButton, _init_actionLabel, _init_extra_actionLabel, _init_position, _init_extra_position, _init_markedDelete, _init_extra_markedDelete, _init_toastTarget, _init_extra_toastTarget;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bindTo, bound, customElement, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { RuiIconCheck, RuiIconX } from \"@/lib/icons\";\nimport { DEFAULT_TOAST_POSITION, TOAST_EXIT_MS, TOAST_LIFETIME, TOAST_SWIPE_THRESHOLD, splitToastPosition } from \"./toast-context\";\nimport { toastState } from \"./toast-state\";\nconst toastDeadlines = /* @__PURE__ */new Map();\nconst toastRemainingMs = /* @__PURE__ */new Map();\nfunction deadlineKey(id) {\n return String(id);\n}\nfunction clearToastDeadline(id) {\n if (id === \"\") return;\n const key = deadlineKey(id);\n toastDeadlines.delete(key);\n toastRemainingMs.delete(key);\n}\nexport function resetToastDeadlines() {\n toastDeadlines.clear();\n toastRemainingMs.clear();\n}\nfunction freezeToastDeadline(id) {\n if (id === \"\") return;\n const key = deadlineKey(id);\n const deadline = toastDeadlines.get(key);\n if (deadline == null) return;\n toastRemainingMs.set(key, Math.max(0, deadline - Date.now()));\n toastDeadlines.delete(key);\n}\nlet _RuiToast;\nclass RuiToast extends RadiantElement {\n static {\n ({\n e: [_init_toastId, _init_extra_toastId, _init_title, _init_extra_title, _init_description, _init_extra_description, _init_variant, _init_extra_variant, _init_duration, _init_extra_duration, _init_dismissible, _init_extra_dismissible, _init_closeButton, _init_extra_closeButton, _init_actionLabel, _init_extra_actionLabel, _init_position, _init_extra_position, _init_markedDelete, _init_extra_markedDelete, _init_toastTarget, _init_extra_toastTarget, _initProto],\n c: [_RuiToast, _initClass]\n } = _applyDecs(this, [customElement(\"rui-toast\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"toastId\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"title\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"description\"], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"default\"\n }), bindTo({\n attr: \"data-variant\",\n map: variant => variant ?? \"default\"\n })], 0, \"variant\"], [prop({\n type: Number,\n defaultValue: TOAST_LIFETIME\n }), 0, \"duration\"], [[prop({\n type: Boolean,\n defaultValue: true\n }), bindTo({\n attr: \"data-dismissible\"\n })], 0, \"dismissible\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"closeButton\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"actionLabel\"], [[prop({\n type: String,\n defaultValue: DEFAULT_TOAST_POSITION\n }), bindTo([{\n attr: \"data-y-position\",\n map: position => splitToastPosition(position).y\n }, {\n attr: \"data-x-position\",\n map: position => splitToastPosition(position).x\n }])], 0, \"position\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"markedDelete\"], [query({\n ref: \"toast\"\n }), 0, \"toastTarget\"], [onUpdated(\"position\"), 2, \"onPositionUpdated\"], [onUpdated(\"duration\"), 2, \"onDurationUpdated\"], [onUpdated(\"markedDelete\"), 2, \"onMarkedDeleteUpdated\"], [bound, 2, \"onPointerDown\"], [bound, 2, \"onPointerMove\"], [bound, 2, \"onPointerUp\"], [onEvent({\n selector: \"[data-toast-close]\",\n type: \"click\"\n }), 2, \"onCloseClick\"], [onEvent({\n selector: \"[data-toast-action]\",\n type: \"click\"\n }), 2, \"onActionClick\"]], 0, void 0, RadiantElement));\n }\n toastId = (_initProto(this), _init_toastId(this));\n title = (_init_extra_toastId(this), _init_title(this));\n description = (_init_extra_title(this), _init_description(this));\n variant = (_init_extra_description(this), _init_variant(this));\n duration = (_init_extra_variant(this), _init_duration(this));\n dismissible = (_init_extra_duration(this), _init_dismissible(this));\n closeButton = (_init_extra_dismissible(this), _init_closeButton(this));\n actionLabel = (_init_extra_closeButton(this), _init_actionLabel(this));\n position = (_init_extra_actionLabel(this), _init_position(this));\n markedDelete = (_init_extra_position(this), _init_markedDelete(this));\n toastTarget = (_init_extra_markedDelete(this), _init_toastTarget(this));\n mounted = (_init_extra_toastTarget(this), false);\n removed = false;\n swiping = false;\n swipeOut = false;\n swipeAxis = null;\n swipeOutDirection = null;\n held = false;\n timerReady = false;\n timeoutId = null;\n pointerStart = null;\n dragStartTime = null;\n exitTimer = null;\n /**\n * Wire pointer listeners, then announce mount after paint so enter CSS can run.\n *\n * @remarks\n * `mounted` stays true across disconnect so list remounts skip the enter\n * animation (avoids an opacity flicker when siblings update). Timer state is\n * still reset on disconnect and restarted on reconnect / first paint.\n */\n connectedCallback() {\n super.connectedCallback();\n const isReconnect = this.mounted;\n this.addEventListener(\"pointerdown\", this.onPointerDown);\n this.addEventListener(\"pointermove\", this.onPointerMove);\n this.addEventListener(\"pointerup\", this.onPointerUp);\n this.addEventListener(\"pointercancel\", this.onPointerUp);\n if (isReconnect) {\n this.timerReady = true;\n this.syncDomState();\n this.dispatchEvent(new CustomEvent(\"rui-toast-mounted\", {\n bubbles: true\n }));\n if (!this.held && !this.removed) {\n this.startTimer();\n }\n return;\n }\n this.timerReady = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!this.isConnected) return;\n this.mounted = true;\n this.timerReady = true;\n this.syncDomState();\n this.dispatchEvent(new CustomEvent(\"rui-toast-mounted\", {\n bubbles: true\n }));\n if (!this.held && !this.removed) {\n this.startTimer();\n }\n });\n });\n this.syncDomState();\n }\n /**\n * Clear timers on unmount. Only purge shared state when this instance was exiting \u2014\n * overflow toasts are intentionally unmounted while still queued.\n */\n disconnectedCallback() {\n this.clearTimer();\n if (this.exitTimer) {\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n const id = this.resolvedId;\n if (id !== \"\" && this.removed) {\n toastState.remove(id);\n }\n this.held = false;\n this.timerReady = false;\n this.removeEventListener(\"pointerdown\", this.onPointerDown);\n this.removeEventListener(\"pointermove\", this.onPointerMove);\n this.removeEventListener(\"pointerup\", this.onPointerUp);\n this.removeEventListener(\"pointercancel\", this.onPointerUp);\n super.disconnectedCallback();\n }\n onPositionUpdated() {\n this.syncDomState();\n }\n /**\n * Hold or release auto-dismiss (toaster-controlled on stack hover).\n *\n * @remarks\n * Pause freezes leftover ms so wall-clock time during hover does not consume\n * the lifetime. Resume rebuilds the deadline from that remainder.\n */\n setPaused(paused) {\n if (this.held === paused) {\n if (!paused && this.timerReady && this.mounted && !this.removed && !this.timeoutId) {\n this.startTimer();\n }\n return;\n }\n this.held = paused;\n if (!this.timerReady || !this.mounted || this.removed) return;\n if (paused || document.hidden) {\n freezeToastDeadline(this.resolvedId);\n this.clearTimer();\n } else {\n this.startTimer();\n }\n }\n onDurationUpdated() {\n if (!this.timerReady || !this.mounted || this.removed || this.held) return;\n clearToastDeadline(this.resolvedId);\n this.startTimer();\n }\n onMarkedDeleteUpdated() {\n if (this.markedDelete && !this.removed) {\n this.beginRemove();\n }\n }\n get resolvedId() {\n const raw = this.toastId;\n if (raw == null || raw === \"\") return \"\";\n const asNumber = Number(raw);\n return Number.isFinite(asNumber) && String(asNumber) === raw ? asNumber : raw;\n }\n clearTimer() {\n if (this.timeoutId) clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n /**\n * Countdown to the toast's dismiss deadline.\n *\n * @remarks\n * Deadlines live in a module map keyed by toast id so list remounts (sibling\n * dismiss / re-render) resume leftover time instead of restarting `duration`.\n * Hover pause stores remaining ms separately and rebuilds the deadline on resume.\n */\n startTimer() {\n if (this.held || this.removed || document.hidden) return;\n if (this.duration === Number.POSITIVE_INFINITY || this.variant === \"loading\") return;\n if (this.duration <= 0) {\n this.beginRemove();\n return;\n }\n const id = this.resolvedId;\n const key = deadlineKey(id);\n const now = Date.now();\n let remaining = toastRemainingMs.get(key);\n toastRemainingMs.delete(key);\n if (remaining == null) {\n const deadline = toastDeadlines.get(key);\n remaining = deadline != null ? deadline - now : this.duration;\n }\n if (remaining <= 0) {\n clearToastDeadline(id);\n this.beginRemove();\n return;\n }\n toastDeadlines.set(key, now + remaining);\n this.clearTimer();\n this.timeoutId = setTimeout(() => {\n clearToastDeadline(id);\n this.beginRemove();\n }, remaining);\n }\n beginRemove() {\n if (this.removed) return;\n this.removed = true;\n this.clearTimer();\n clearToastDeadline(this.resolvedId);\n this.syncDomState();\n if (!this.markedDelete) {\n toastState.dismiss(this.resolvedId);\n }\n this.exitTimer = setTimeout(() => {\n this.exitTimer = null;\n toastState.remove(this.resolvedId);\n }, TOAST_EXIT_MS);\n }\n onPointerDown(event) {\n if (!this.dismissible || this.variant === \"loading\") return;\n if (event.button !== 0) return;\n const target = event.target;\n if (target?.closest(\"[data-toast-close], [data-toast-action], button, a\")) return;\n this.dragStartTime = Date.now();\n this.pointerStart = {\n x: event.clientX,\n y: event.clientY\n };\n this.swipeAxis = null;\n this.setPointerCapture(event.pointerId);\n }\n onPointerMove(event) {\n if (!this.pointerStart) return;\n const delta = {\n x: event.clientX - this.pointerStart.x,\n y: event.clientY - this.pointerStart.y\n };\n if (!this.startSwipe(delta)) return;\n this.swipeAxis ??= Math.abs(delta.x) > Math.abs(delta.y) ? \"x\" : \"y\";\n const amount = this.swipeAxis === \"x\" ? {\n x: delta.x,\n y: 0\n } : {\n x: 0,\n y: delta.y\n };\n if (this.isSwipeReversing(amount)) this.resetSwipeTranslation();else this.setSwipeTranslation(amount);\n }\n startSwipe(delta) {\n if (this.swiping) return true;\n if (Math.abs(delta.x) < 8 && Math.abs(delta.y) < 8) return false;\n this.swiping = true;\n this.syncDomState();\n return true;\n }\n isSwipeReversing(amount) {\n const {\n x,\n y\n } = splitToastPosition(this.position);\n if (this.swipeAxis === \"y\") return (y === \"bottom\" ? amount.y < 0 : amount.y > 0) && Math.abs(amount.y) < TOAST_SWIPE_THRESHOLD;\n return x !== \"center\" && (x === \"start\" ? amount.x > 0 : amount.x < 0) && Math.abs(amount.x) < TOAST_SWIPE_THRESHOLD;\n }\n setSwipeTranslation(amount) {\n this.style.setProperty(\"--rui-toast-swipe-x\", `${amount.x}px`);\n this.style.setProperty(\"--rui-toast-swipe-y\", `${amount.y}px`);\n }\n resetSwipeTranslation() {\n this.setSwipeTranslation({\n x: 0,\n y: 0\n });\n }\n onPointerUp(event) {\n if (!this.pointerStart) return;\n this.releaseToastPointer(event.pointerId);\n const swipe = this.readSwipe();\n this.swiping = false;\n if (swipe && this.dismissible && this.shouldDismissSwipe(swipe)) this.dismissFromSwipe(swipe);else this.cancelSwipe();\n this.clearPointerState();\n }\n releaseToastPointer(pointerId) {\n try {\n this.releasePointerCapture(pointerId);\n } catch {}\n }\n readSwipe() {\n if (!this.swiping) return void 0;\n return {\n x: Number.parseFloat(this.style.getPropertyValue(\"--rui-toast-swipe-x\") || \"0\"),\n y: Number.parseFloat(this.style.getPropertyValue(\"--rui-toast-swipe-y\") || \"0\")\n };\n }\n shouldDismissSwipe(swipe) {\n const amount = this.swipeAxis === \"x\" ? swipe.x : swipe.y;\n const duration = this.dragStartTime ? Date.now() - this.dragStartTime : 0;\n return Math.abs(amount) >= TOAST_SWIPE_THRESHOLD || Math.abs(amount) / Math.max(duration, 1) > 0.11;\n }\n dismissFromSwipe(swipe) {\n const {\n x,\n y\n } = splitToastPosition(this.position);\n this.swipeOutDirection = this.swipeAxis === \"y\" ? y === \"bottom\" ? \"down\" : \"up\" : x === \"start\" ? \"left\" : x === \"end\" ? \"right\" : swipe.x < 0 ? \"left\" : \"right\";\n this.swipeOut = true;\n this.syncDomState();\n this.beginRemove();\n }\n cancelSwipe() {\n this.resetSwipeTranslation();\n this.swipeAxis = null;\n this.syncDomState();\n }\n clearPointerState() {\n this.pointerStart = null;\n this.dragStartTime = null;\n }\n onCloseClick(event) {\n event.stopPropagation();\n if (!this.dismissible) return;\n this.beginRemove();\n }\n onActionClick(event) {\n event.stopPropagation();\n const record = toastState.getSnapshot().find(toast => toast.id === this.resolvedId);\n record?.action?.onClick(event);\n if (this.dismissible) this.beginRemove();\n }\n syncDomState() {\n this.setAttribute(\"role\", \"listitem\");\n this.dataset.mounted = String(this.mounted);\n this.dataset.removed = String(this.removed);\n this.dataset.swiping = String(this.swiping);\n this.dataset.swipeOut = String(this.swipeOut);\n if (this.swipeOutDirection) this.dataset.swipeDirection = this.swipeOutDirection;else delete this.dataset.swipeDirection;\n }\n iconForVariant() {\n switch (this.variant) {\n case \"success\":\n return /* @__PURE__ */jsx(RuiIconCheck, {});\n case \"error\":\n return /* @__PURE__ */jsx(RuiIconX, {});\n case \"warning\":\n return \"!\";\n case \"info\":\n return \"i\";\n default:\n return \"\";\n }\n }\n render() {\n const variant = this.variant ?? \"default\";\n const icon = this.iconForVariant();\n const showIcon = variant !== \"default\";\n return /* @__PURE__ */jsxs(\"div\", {\n ref: \"toast\",\n class: `rui-toast rui-toast--${variant}`,\n role: \"status\",\n \"aria-live\": \"off\",\n \"data-ref\": \"toast\",\n children: [this.closeButton && variant !== \"loading\" ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-toast__close\",\n \"data-toast-close\": true,\n \"aria-label\": \"Close toast\",\n children: /* @__PURE__ */jsx(RuiIconX, {})\n }) : null, showIcon ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-toast__icon\",\n \"data-icon\": true,\n \"aria-hidden\": \"true\",\n children: variant === \"loading\" ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-toast__loader\"\n }) : icon\n }) : null, /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-toast__content\",\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-toast__title\",\n \"data-title\": true,\n children: this.$.title\n }), this.description ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-toast__description\",\n \"data-description\": true,\n children: this.$.description\n }) : null]\n }), this.actionLabel ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-toast__action rui-button rui-button--outline rui-button--sm\",\n \"data-toast-action\": true,\n children: this.$.actionLabel\n }) : null]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiToast as RuiToast };", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconCheck({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"m5 12 4 4L19 6\"\n })\n });\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nexport function RuiIconX({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"m18 6-12 12\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6 6 12 12\"\n })]\n });\n}\nexport function createRuiIconX() {\n const icon = document.createElementNS(SVG_NAMESPACE, \"svg\");\n icon.setAttribute(\"class\", \"rui-icon\");\n icon.setAttribute(\"viewBox\", \"0 0 24 24\");\n icon.setAttribute(\"fill\", \"none\");\n icon.setAttribute(\"stroke\", \"currentColor\");\n icon.setAttribute(\"stroke-width\", \"2\");\n icon.setAttribute(\"stroke-linecap\", \"round\");\n icon.setAttribute(\"stroke-linejoin\", \"round\");\n icon.setAttribute(\"aria-hidden\", \"true\");\n for (const d of [\"m18 6-12 12\", \"m6 6 12 12\"]) {\n const path = document.createElementNS(SVG_NAMESPACE, \"path\");\n path.setAttribute(\"d\", d);\n icon.append(path);\n }\n return icon;\n}", "export const RUI_TOAST_SHOW_EVENT = \"rui-toast-show\";\nexport const RUI_TOAST_DISMISS_EVENT = \"rui-toast-dismiss\";\nexport const TOAST_POSITIONS = [\"top-start\", \"top-center\", \"top-end\", \"bottom-start\", \"bottom-center\", \"bottom-end\"];\nexport const TOAST_LIFETIME = 4e3;\nexport const TOAST_WIDTH = 356;\nexport const TOAST_GAP = 14;\nexport const TOAST_VIEWPORT_OFFSET = 24;\nexport const TOAST_VISIBLE_AMOUNT = 3;\nexport const TOAST_COLLAPSED_PEEK = 3;\nexport const TOAST_SWIPE_THRESHOLD = 45;\nexport const TOAST_EXIT_MS = 200;\nexport const DEFAULT_TOAST_POSITION = \"bottom-end\";\nexport function splitToastPosition(position) {\n const [y, x] = position.split(\"-\");\n return {\n y,\n x\n };\n}", "let toastCounter = 1;\nfunction nextId() {\n return toastCounter++;\n}\nfunction resolveMessage(message, value) {\n return typeof message === \"function\" ? message(value) : message;\n}\nclass ToastState {\n subscribers = [];\n toasts = [];\n subscribe = subscriber => {\n this.subscribers.push(subscriber);\n subscriber(this.toasts);\n return () => {\n const index = this.subscribers.indexOf(subscriber);\n if (index >= 0) this.subscribers.splice(index, 1);\n };\n };\n getSnapshot = () => this.toasts;\n publish() {\n const snapshot = this.toasts;\n for (const subscriber of this.subscribers) {\n subscriber(snapshot);\n }\n }\n create = (title, options = {}) => {\n const id = options.id ?? nextId();\n const dismissible = options.dismissible ?? true;\n const existingIndex = this.toasts.findIndex(toast => toast.id === id);\n const next = {\n id,\n title,\n description: options.description,\n variant: options.variant ?? \"default\",\n duration: options.duration,\n action: options.action,\n dismissible,\n closeButton: options.closeButton,\n position: options.position,\n delete: false\n };\n if (existingIndex >= 0) {\n this.toasts = this.toasts.map(toast => toast.id === id ? {\n ...toast,\n ...next,\n delete: false\n } : toast);\n } else {\n this.toasts = [next, ...this.toasts];\n }\n this.publish();\n return id;\n };\n dismiss = id => {\n if (id == null) {\n if (this.toasts.length === 0) return;\n this.toasts = this.toasts.map(toast => ({\n ...toast,\n delete: true\n }));\n } else {\n const target = this.toasts.find(toast => toast.id === id);\n if (!target || target.delete) return;\n this.toasts = this.toasts.map(toast => toast.id === id ? {\n ...toast,\n delete: true\n } : toast);\n }\n this.publish();\n };\n remove = id => {\n this.toasts = this.toasts.filter(toast => toast.id !== id);\n this.publish();\n };\n /** Drop every toast from the store (tests, Storybook resets). */\n clear = () => {\n if (this.toasts.length === 0) return;\n this.toasts = [];\n this.publish();\n };\n message = (title, options) => this.create(title, options);\n success = (title, options) => this.create(title, {\n ...options,\n variant: \"success\"\n });\n error = (title, options) => this.create(title, {\n ...options,\n variant: \"error\"\n });\n info = (title, options) => this.create(title, {\n ...options,\n variant: \"info\"\n });\n warning = (title, options) => this.create(title, {\n ...options,\n variant: \"warning\"\n });\n loading = (title, options) => this.create(title, {\n ...options,\n variant: \"loading\",\n duration: options?.duration ?? Number.POSITIVE_INFINITY\n });\n promise = (promise, messages) => {\n const id = this.loading(messages.loading, {\n duration: Number.POSITIVE_INFINITY,\n action: messages.action,\n closeButton: messages.closeButton,\n position: messages.position,\n description: typeof messages.description === \"string\" ? messages.description : void 0\n });\n const pending = typeof promise === \"function\" ? promise() : promise;\n pending.then(data => {\n const description = typeof messages.description === \"function\" ? messages.description(data) : messages.description;\n this.create(resolveMessage(messages.success, data), {\n id,\n variant: \"success\",\n description,\n duration: messages.duration,\n action: messages.action,\n closeButton: messages.closeButton,\n position: messages.position\n });\n }).catch(error => {\n const description = typeof messages.description === \"function\" ? messages.description(error) : messages.description;\n this.create(resolveMessage(messages.error, error), {\n id,\n variant: \"error\",\n description,\n duration: messages.duration,\n action: messages.action,\n closeButton: messages.closeButton,\n position: messages.position\n });\n });\n return id;\n };\n}\nexport const toastState = new ToastState();", "let _initProto, _initClass, _init_position, _init_extra_position, _init_duration, _init_extra_duration, _init_visibleToasts, _init_extra_visibleToasts, _init_closeButton, _init_extra_closeButton, _init_expand, _init_extra_expand, _init_gap, _init_extra_gap, _init_offset, _init_extra_offset, _init_container, _init_extra_container, _init_listTarget, _init_extra_listTarget, _init_toasts, _init_extra_toasts;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bindTo, bound, customElement, onEvent, onUpdated, prop, query, state } from \"@ecopages/radiant\";\nimport { DEFAULT_TOAST_POSITION, RUI_TOAST_DISMISS_EVENT, RUI_TOAST_SHOW_EVENT, TOAST_COLLAPSED_PEEK, TOAST_GAP, TOAST_LIFETIME, TOAST_VIEWPORT_OFFSET, TOAST_VISIBLE_AMOUNT, splitToastPosition } from \"./toast-context\";\nimport { collapsedStackHeight, expandedStackHeight, expandedToastOffset } from \"./stack-layout\";\nimport { toastState } from \"./toast-state\";\nimport \"./toast.script\";\nfunction isInsideToaster(node, root) {\n return node instanceof Node && root.contains(node);\n}\nlet _RuiToaster;\nclass RuiToaster extends RadiantElement {\n static {\n ({\n e: [_init_position, _init_extra_position, _init_duration, _init_extra_duration, _init_visibleToasts, _init_extra_visibleToasts, _init_closeButton, _init_extra_closeButton, _init_expand, _init_extra_expand, _init_gap, _init_extra_gap, _init_offset, _init_extra_offset, _init_container, _init_extra_container, _init_listTarget, _init_extra_listTarget, _init_toasts, _init_extra_toasts, _initProto],\n c: [_RuiToaster, _initClass]\n } = _applyDecs(this, [customElement(\"rui-toaster\")], [[[prop({\n type: String,\n reflect: true,\n defaultValue: DEFAULT_TOAST_POSITION\n }), bindTo([{\n attr: \"data-y-position\",\n map: position => splitToastPosition(position).y\n }, {\n attr: \"data-x-position\",\n map: position => splitToastPosition(position).x\n }])], 0, \"position\"], [prop({\n type: Number,\n defaultValue: TOAST_LIFETIME\n }), 0, \"duration\"], [prop({\n type: Number,\n defaultValue: TOAST_VISIBLE_AMOUNT\n }), 0, \"visibleToasts\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"closeButton\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"expand\"], [prop({\n type: Number,\n defaultValue: TOAST_GAP\n }), 0, \"gap\"], [prop({\n type: Number,\n defaultValue: TOAST_VIEWPORT_OFFSET\n }), 0, \"offset\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"container\"], [query({\n ref: \"list\"\n }), 0, \"listTarget\"], [state, 0, \"toasts\"], [onUpdated([\"position\", \"duration\", \"visibleToasts\", \"closeButton\", \"expand\", \"gap\", \"offset\", \"container\"]), 2, \"onConfigUpdated\"], [onEvent({\n document: true,\n type: RUI_TOAST_SHOW_EVENT\n }), 2, \"onDocumentShow\"], [onEvent({\n document: true,\n type: RUI_TOAST_DISMISS_EVENT\n }), 2, \"onDocumentDismiss\"], [onEvent({\n selector: \"rui-toast\",\n type: \"rui-toast-mounted\"\n }), 2, \"onToastMounted\"], [bound, 2, \"onPointerOver\"], [bound, 2, \"onPointerOut\"], [bound, 2, \"onPointerDown\"], [bound, 2, \"onPointerUp\"]], 0, void 0, RadiantElement));\n }\n position = (_initProto(this), _init_position(this));\n duration = (_init_extra_position(this), _init_duration(this));\n visibleToasts = (_init_extra_duration(this), _init_visibleToasts(this));\n closeButton = (_init_extra_visibleToasts(this), _init_closeButton(this));\n expand = (_init_extra_closeButton(this), _init_expand(this));\n gap = (_init_extra_expand(this), _init_gap(this));\n offset = (_init_extra_gap(this), _init_offset(this));\n container = (_init_extra_offset(this), _init_container(this));\n listTarget = (_init_extra_container(this), _init_listTarget(this));\n toasts = (_init_extra_listTarget(this), _init_toasts(this, []));\n expanded = (_init_extra_toasts(this), false);\n interacting = false;\n unsubscribe = null;\n visibilityHandler = null;\n heights = /* @__PURE__ */new Map();\n observers = /* @__PURE__ */new Map();\n layoutFrame = null;\n /** Prevents ResizeObserver re-entry while temporarily unclipping hosts to measure. */\n measuring = false;\n connectedCallback() {\n super.connectedCallback();\n this.syncHostPosition();\n this.syncContainer();\n this.unsubscribe = toastState.subscribe(toasts => {\n this.toasts = toasts;\n if (toasts.length === 0) {\n this.resetLayoutState();\n }\n this.scheduleLayoutSync();\n });\n this.visibilityHandler = () => this.syncPauseState();\n document.addEventListener(\"visibilitychange\", this.visibilityHandler);\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n this.unsubscribe = null;\n if (this.visibilityHandler) {\n document.removeEventListener(\"visibilitychange\", this.visibilityHandler);\n this.visibilityHandler = null;\n }\n document.removeEventListener(\"pointerup\", this.onPointerUp);\n document.removeEventListener(\"pointercancel\", this.onPointerUp);\n if (this.layoutFrame != null) cancelAnimationFrame(this.layoutFrame);\n this.resetLayoutState();\n super.disconnectedCallback();\n }\n onConfigUpdated() {\n this.syncHostPosition();\n this.syncContainer();\n this.scheduleLayoutSync();\n }\n onDocumentShow(event) {\n const detail = event.detail;\n if (!detail?.title) return;\n toastState.create(detail.title, {\n id: detail.id,\n description: detail.description,\n variant: detail.variant,\n duration: detail.duration,\n action: detail.action,\n dismissible: detail.dismissible,\n closeButton: detail.closeButton,\n position: detail.position\n });\n }\n onDocumentDismiss(event) {\n const detail = event.detail;\n toastState.dismiss(detail?.id);\n }\n onToastMounted() {\n this.scheduleLayoutSync();\n }\n filteredToasts() {\n const forPosition = this.toasts.filter(toast => (toast.position ?? this.position) === this.position);\n const active = [];\n const exiting = [];\n for (const toast of forPosition) {\n if (toast.delete) exiting.push(toast);else active.push(toast);\n }\n return [...active.slice(0, this.visibleToasts), ...exiting];\n }\n syncHostPosition() {\n this.style.setProperty(\"--rui-toaster-gap\", `${this.gap}px`);\n this.style.setProperty(\"--rui-toaster-offset\", `${this.offset}px`);\n }\n /**\n * Bind the toaster to a positioning root when `container` is set.\n *\n * @remarks\n * Prefers an ancestor match so nested demos do not reparent. Only appends\n * into a query-selected root when the toaster is not already inside it.\n * Contained mode uses absolute positioning; default mode restores viewport fixed.\n */\n syncContainer() {\n const selector = this.container.trim();\n if (!selector) {\n this.removeAttribute(\"data-contained\");\n this.style.position = \"\";\n return;\n }\n const target = this.closest(selector) ?? document.querySelector(selector);\n if (!target) {\n this.removeAttribute(\"data-contained\");\n this.style.position = \"\";\n return;\n }\n if (getComputedStyle(target).position === \"static\") {\n target.style.position = \"relative\";\n }\n if (!target.contains(this)) {\n target.appendChild(this);\n }\n this.dataset.contained = \"true\";\n this.style.position = \"absolute\";\n }\n isStackExpanded() {\n return this.expanded || this.expand;\n }\n /**\n * @remarks\n * Pause only while the pointer is interacting / hovering, or the tab is\n * hidden. The `expand` prop is visual-only \u2014 it must not freeze lifetimes.\n */\n isPaused() {\n return this.expanded || this.interacting || document.hidden;\n }\n resetLayoutState() {\n for (const observer of this.observers.values()) observer.disconnect();\n this.observers.clear();\n this.heights.clear();\n this.expanded = false;\n this.interacting = false;\n const list = this.listTarget;\n if (list) {\n list.style.height = \"0px\";\n list.dataset.expanded = \"false\";\n }\n this.dataset.expanded = \"false\";\n }\n syncPauseState() {\n const paused = this.isPaused();\n for (const el of this.querySelectorAll(\"rui-toast\")) {\n el.setPaused(paused);\n }\n this.patchStackLayout();\n }\n /**\n * Measure + layout on the next frame. Re-reads `:hover` because emptying the\n * stack under the cursor can skip `pointerout`, leaving hold/expand stale.\n */\n scheduleLayoutSync() {\n if (this.layoutFrame != null) cancelAnimationFrame(this.layoutFrame);\n this.layoutFrame = requestAnimationFrame(() => {\n this.layoutFrame = null;\n if (this.toasts.length > 0 && !this.interacting) {\n const list = this.listTarget;\n const hovered = Boolean(list?.matches(\":hover\") || this.matches(\":hover\"));\n this.expanded = hovered;\n }\n this.observeToasts();\n this.syncPauseState();\n });\n }\n /**\n * Natural content height for stack math.\n *\n * @remarks\n * Uses the inner `[data-ref=\"toast\"]` `offsetHeight` (layout size, transform-independent).\n * Host height/overflow are temporarily cleared because collapsed behind toasts are\n * clipped to the front height \u2014 leaving that in place can under-measure in some engines.\n */\n measureToast(el) {\n this.measuring = true;\n const prevHeight = el.style.height;\n const prevOverflow = el.style.overflow;\n el.style.height = \"auto\";\n el.style.overflow = \"visible\";\n const inner = el.getRef(\"toast\");\n const height = Math.round(inner instanceof HTMLElement ? inner.offsetHeight : el.offsetHeight) || 64;\n el.style.height = prevHeight;\n el.style.overflow = prevOverflow;\n this.measuring = false;\n return height;\n }\n observeToasts() {\n const list = this.listTarget;\n if (!list) return;\n const els = [...list.querySelectorAll(\"rui-toast\")];\n const seen = /* @__PURE__ */new Set();\n for (const el of els) {\n const id = el.toastId;\n if (!id) continue;\n seen.add(id);\n const target = el.getRef(\"toast\") ?? el;\n if (!this.observers.has(id)) {\n const observer = new ResizeObserver(() => {\n if (this.measuring) return;\n const height = this.measureToast(el);\n if (this.heights.get(id) === height) return;\n this.heights.set(id, height);\n this.patchStackLayout();\n });\n observer.observe(target);\n this.observers.set(id, observer);\n }\n this.heights.set(id, this.measureToast(el));\n }\n for (const [id, observer] of [...this.observers]) {\n if (seen.has(id)) continue;\n observer.disconnect();\n this.observers.delete(id);\n this.heights.delete(id);\n }\n }\n /**\n * @remarks\n * Expanded offsets use each toast's natural height (Sonner formula):\n * `sum(heights before) + index * gap`. Collapsed mode peeks at most\n * {@link TOAST_COLLAPSED_PEEK} toasts with scale; overflow stays\n * mounted but hidden until hover expands the stack.\n * Heights are always remeasured \u2014 clipped collapsed hosts make caches stale.\n */\n patchStackLayout() {\n const list = this.listTarget;\n if (!list) return;\n const expanded = this.isStackExpanded();\n const {\n y\n } = splitToastPosition(this.position);\n const lift = y === \"bottom\" ? -1 : 1;\n const peekLimit = Math.min(TOAST_COLLAPSED_PEEK, Math.max(1, this.visibleToasts));\n this.dataset.expanded = String(expanded);\n list.dataset.expanded = String(expanded);\n this.style.setProperty(\"--rui-toaster-lift\", String(lift));\n list.style.setProperty(\"--rui-toaster-gap\", `${this.gap}px`);\n const els = [...list.querySelectorAll(\"rui-toast\")].filter(el => el.dataset.mounted === \"true\" && el.dataset.removed !== \"true\");\n if (els.length === 0) {\n list.style.height = \"0px\";\n return;\n }\n const heights = els.map(el => {\n const measured = this.measureToast(el);\n this.heights.set(el.toastId, measured);\n return measured;\n });\n const frontHeight = heights[0] ?? 64;\n this.style.setProperty(\"--rui-toaster-front-height\", `${frontHeight}px`);\n for (let index = 0; index < els.length; index += 1) {\n const el = els[index];\n if (!el) continue;\n const height = heights[index] ?? 64;\n const isFront = index === 0;\n const offset = expandedToastOffset(index, heights, this.gap);\n const inCollapsedPeek = index < peekLimit;\n el.dataset.index = String(index);\n el.dataset.front = String(isFront);\n el.dataset.expanded = String(expanded);\n el.dataset.visible = String(expanded || inCollapsedPeek);\n el.style.setProperty(\"--rui-toast-z\", String(els.length - index));\n el.style.setProperty(\"--rui-toast-index\", String(index));\n el.style.setProperty(\"--rui-toast-offset\", `${offset}px`);\n el.style.setProperty(\"--rui-toast-initial-height\", `${height}px`);\n el.style.setProperty(\"--rui-toaster-gap\", `${this.gap}px`);\n if (expanded) {\n el.style.setProperty(\"--rui-toast-y\", `translateY(${lift * offset}px)`);\n el.style.height = `${height}px`;\n el.style.overflow = \"visible\";\n } else if (!inCollapsedPeek) {\n el.style.setProperty(\"--rui-toast-y\", `translateY(${lift * (peekLimit - 1) * this.gap}px) scale(0.7)`);\n el.style.height = `${frontHeight}px`;\n el.style.overflow = \"hidden\";\n } else if (isFront) {\n el.style.setProperty(\"--rui-toast-y\", \"translateY(0px)\");\n el.style.height = `${height}px`;\n el.style.overflow = \"visible\";\n } else {\n const scale = Math.max(0.7, 1 - index * 0.05);\n el.style.setProperty(\"--rui-toast-y\", `translateY(${lift * index * this.gap}px) scale(${scale})`);\n el.style.height = `${frontHeight}px`;\n el.style.overflow = \"hidden\";\n }\n }\n const collapsedPeekCount = Math.min(peekLimit, els.length);\n list.style.height = `${expanded ? expandedStackHeight(heights, this.gap) : collapsedStackHeight(frontHeight, collapsedPeekCount, this.gap)}px`;\n }\n onPointerOver(event) {\n if (isInsideToaster(event.relatedTarget, this)) return;\n this.expanded = true;\n this.syncPauseState();\n }\n onPointerOut(event) {\n if (isInsideToaster(event.relatedTarget, this)) return;\n if (this.interacting) return;\n this.expanded = false;\n this.syncPauseState();\n }\n onPointerDown() {\n this.interacting = true;\n this.expanded = true;\n this.syncPauseState();\n document.addEventListener(\"pointerup\", this.onPointerUp, {\n once: true\n });\n document.addEventListener(\"pointercancel\", this.onPointerUp, {\n once: true\n });\n }\n onPointerUp() {\n if (!this.interacting) return;\n this.interacting = false;\n const list = this.listTarget;\n const hovered = Boolean(list?.matches(\":hover\") || this.querySelector(\"rui-toast:hover\"));\n if (!hovered) this.expanded = false;\n this.syncPauseState();\n }\n render() {\n const filtered = this.filteredToasts();\n return /* @__PURE__ */jsx(\"section\", {\n class: \"rui-toaster-region\",\n \"aria-label\": \"Notifications\",\n \"aria-live\": \"polite\",\n \"aria-relevant\": \"additions text\",\n \"aria-atomic\": \"false\",\n tabIndex: -1,\n children: /* @__PURE__ */jsx(\"ol\", {\n class: \"rui-toaster\",\n \"data-ref\": \"list\",\n \"data-rui-toaster\": true,\n \"on:pointerover\": this.onPointerOver,\n \"on:pointerout\": this.onPointerOut,\n \"on:pointerdown\": this.onPointerDown,\n children: filtered.map(toast => {\n const duration = toast.duration ?? (toast.variant === \"loading\" ? Number.POSITIVE_INFINITY : this.duration);\n return /* @__PURE__ */jsx(\"rui-toast\", {\n \"prop:toastId\": String(toast.id),\n \"prop:title\": toast.title,\n \"prop:description\": toast.description ?? \"\",\n \"prop:variant\": toast.variant,\n \"prop:duration\": duration,\n \"prop:dismissible\": toast.dismissible,\n \"prop:closeButton\": toast.closeButton ?? this.closeButton,\n \"prop:actionLabel\": toast.action?.label ?? \"\",\n \"prop:position\": toast.position ?? this.position,\n \"prop:markedDelete\": Boolean(toast.delete)\n }, String(toast.id));\n })\n })\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiToaster as RuiToaster };", "export function expandedToastOffset(index, heights, gap) {\n let heightBefore = 0;\n for (let i = 0; i < index; i += 1) {\n heightBefore += heights[i] ?? 0;\n }\n return heightBefore + index * gap;\n}\nexport function expandedStackHeight(heights, gap) {\n if (heights.length === 0) return 0;\n const totalHeights = heights.reduce((sum, height) => sum + height, 0);\n return totalHeights + Math.max(0, heights.length - 1) * gap;\n}\nexport function collapsedStackHeight(frontHeight, peekCount, gap) {\n if (peekCount <= 0) return 0;\n return frontHeight + Math.max(0, peekCount - 1) * gap;\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport \"./toast.script\";\nimport \"./toaster.script\";\nexport function RuiToast({\n toastId,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-toast\", {\n ...props,\n toastId: toastId != null ? String(toastId) : void 0\n });\n}\nexport function RuiToaster({\n children,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-toaster\", {\n ...props,\n children\n });\n}", "import { RUI_TOAST_DISMISS_EVENT, RUI_TOAST_SHOW_EVENT } from \"./toast-context\";\nimport { toastState } from \"./toast-state\";\nexport const toast = Object.assign((title, options) => toastState.create(title, options), {\n message: (title, options) => toastState.message(title, options),\n success: (title, options) => toastState.success(title, options),\n error: (title, options) => toastState.error(title, options),\n info: (title, options) => toastState.info(title, options),\n warning: (title, options) => toastState.warning(title, options),\n loading: (title, options) => toastState.loading(title, options),\n promise: (promise, messages) => toastState.promise(promise, messages),\n dismiss: id => toastState.dismiss(id),\n clear: () => toastState.clear()\n});\nexport function showToast(detail) {\n document.dispatchEvent(new CustomEvent(RUI_TOAST_SHOW_EVENT, {\n detail,\n bubbles: true,\n composed: true\n }));\n}\nexport function dismissToast(id) {\n const detail = id == null ? {} : {\n id\n };\n document.dispatchEvent(new CustomEvent(RUI_TOAST_DISMISS_EVENT, {\n detail,\n bubbles: true,\n composed: true\n }));\n}"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["jsx", "jsxs", "RadiantElement", "bindTo", "bound", "customElement", "onEvent", "onUpdated", "prop", "query", "cx", "parts", "jsx", "RuiIconCheck", "className", "size", "props", "jsx", "cx", "jsx", "jsxs", "RuiIconX", "className", "size", "props", "jsxs", "cx", "jsx", "RUI_TOAST_SHOW_EVENT", "RUI_TOAST_DISMISS_EVENT", "TOAST_POSITIONS", "TOAST_LIFETIME", "TOAST_WIDTH", "TOAST_GAP", "TOAST_VIEWPORT_OFFSET", "TOAST_VISIBLE_AMOUNT", "TOAST_COLLAPSED_PEEK", "TOAST_SWIPE_THRESHOLD", "TOAST_EXIT_MS", "DEFAULT_TOAST_POSITION", "splitToastPosition", "position", "y", "x", "toastCounter", "nextId", "resolveMessage", "message", "value", "ToastState", "subscriber", "index", "snapshot", "title", "options", "id", "dismissible", "existingIndex", "toast", "next", "target", "promise", "messages", "data", "description", "error", "toastState", "_initProto", "_initClass", "_init_toastId", "_init_extra_toastId", "_init_title", "_init_extra_title", "_init_description", "_init_extra_description", "_init_variant", "_init_extra_variant", "_init_duration", "_init_extra_duration", "_init_dismissible", "_init_extra_dismissible", "_init_closeButton", "_init_extra_closeButton", "_init_actionLabel", "_init_extra_actionLabel", "_init_position", "_init_extra_position", "_init_markedDelete", "_init_extra_markedDelete", "_init_toastTarget", "_init_extra_toastTarget", "_applyDecs", "e", "n", "r", "o", "i", "a", "c", "u", "s", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "applyDec", "f", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "toastDeadlines", "toastRemainingMs", "deadlineKey", "id", "clearToastDeadline", "key", "freezeToastDeadline", "id", "key", "deadlineKey", "deadline", "toastDeadlines", "toastRemainingMs", "_RuiToast", "RuiToast", "RadiantElement", "_init_toastId", "_init_extra_toastId", "_init_title", "_init_extra_title", "_init_description", "_init_extra_description", "_init_variant", "_init_extra_variant", "_init_duration", "_init_extra_duration", "_init_dismissible", "_init_extra_dismissible", "_init_closeButton", "_init_extra_closeButton", "_init_actionLabel", "_init_extra_actionLabel", "_init_position", "_init_extra_position", "_init_markedDelete", "_init_extra_markedDelete", "_init_toastTarget", "_init_extra_toastTarget", "_initProto", "_initClass", "_applyDecs", "customElement", "prop", "bindTo", "variant", "DEFAULT_TOAST_POSITION", "position", "splitToastPosition", "query", "onUpdated", "bound", "onEvent", "isReconnect", "toastState", "paused", "clearToastDeadline", "raw", "asNumber", "now", "remaining", "event", "delta", "amount", "x", "y", "swipe", "pointerId", "duration", "toast", "jsx", "RuiIconCheck", "RuiIconX", "icon", "showIcon", "jsxs", "jsx", "RadiantElement", "bindTo", "bound", "customElement", "onEvent", "onUpdated", "prop", "query", "state", "expandedToastOffset", "index", "heights", "gap", "heightBefore", "i", "expandedStackHeight", "sum", "height", "collapsedStackHeight", "frontHeight", "peekCount", "_initProto", "_initClass", "_init_position", "_init_extra_position", "_init_duration", "_init_extra_duration", "_init_visibleToasts", "_init_extra_visibleToasts", "_init_closeButton", "_init_extra_closeButton", "_init_expand", "_init_extra_expand", "_init_gap", "_init_extra_gap", "_init_offset", "_init_extra_offset", "_init_container", "_init_extra_container", "_init_listTarget", "_init_extra_listTarget", "_init_toasts", "_init_extra_toasts", "_applyDecs", "e", "n", "r", "o", "i", "a", "c", "u", "s", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "applyDec", "f", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "isInsideToaster", "node", "root", "_RuiToaster", "RuiToaster", "RadiantElement", "customElement", "prop", "DEFAULT_TOAST_POSITION", "bindTo", "position", "splitToastPosition", "query", "state", "onUpdated", "onEvent", "RUI_TOAST_SHOW_EVENT", "RUI_TOAST_DISMISS_EVENT", "bound", "toastState", "toasts", "event", "detail", "forPosition", "toast", "active", "exiting", "selector", "target", "observer", "list", "paused", "el", "hovered", "prevHeight", "prevOverflow", "inner", "height", "els", "seen", "id", "expanded", "lift", "peekLimit", "heights", "measured", "frontHeight", "index", "isFront", "offset", "expandedToastOffset", "inCollapsedPeek", "scale", "collapsedPeekCount", "expandedStackHeight", "collapsedStackHeight", "filtered", "jsx", "duration", "jsx", "RuiToast", "toastId", "props", "jsx", "RuiToaster", "
|
|
4
|
+
"sourcesContent": ["let _initProto, _initClass, _init_toastId, _init_extra_toastId, _init_title, _init_extra_title, _init_description, _init_extra_description, _init_variant, _init_extra_variant, _init_duration, _init_extra_duration, _init_dismissible, _init_extra_dismissible, _init_closeButton, _init_extra_closeButton, _init_actionLabel, _init_extra_actionLabel, _init_position, _init_extra_position, _init_markedDelete, _init_extra_markedDelete, _init_toastTarget, _init_extra_toastTarget;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bindTo, bound, customElement, onEvent, onUpdated, prop, query } from \"@ecopages/radiant\";\nimport { RuiIconCheck, RuiIconX } from \"@/lib/icons\";\nimport { DEFAULT_TOAST_POSITION, TOAST_EXIT_MS, TOAST_LIFETIME, TOAST_SWIPE_THRESHOLD, splitToastPosition } from \"./toast-context\";\nimport { toastState } from \"./toast-state\";\nconst toastDeadlines = /* @__PURE__ */new Map();\nconst toastRemainingMs = /* @__PURE__ */new Map();\nfunction deadlineKey(id) {\n return String(id);\n}\nfunction clearToastDeadline(id) {\n if (id === \"\") return;\n const key = deadlineKey(id);\n toastDeadlines.delete(key);\n toastRemainingMs.delete(key);\n}\nexport function resetToastDeadlines() {\n toastDeadlines.clear();\n toastRemainingMs.clear();\n}\nfunction freezeToastDeadline(id) {\n if (id === \"\") return;\n const key = deadlineKey(id);\n const deadline = toastDeadlines.get(key);\n if (deadline == null) return;\n toastRemainingMs.set(key, Math.max(0, deadline - Date.now()));\n toastDeadlines.delete(key);\n}\nlet _RuiToast;\nclass RuiToast extends RadiantElement {\n static {\n ({\n e: [_init_toastId, _init_extra_toastId, _init_title, _init_extra_title, _init_description, _init_extra_description, _init_variant, _init_extra_variant, _init_duration, _init_extra_duration, _init_dismissible, _init_extra_dismissible, _init_closeButton, _init_extra_closeButton, _init_actionLabel, _init_extra_actionLabel, _init_position, _init_extra_position, _init_markedDelete, _init_extra_markedDelete, _init_toastTarget, _init_extra_toastTarget, _initProto],\n c: [_RuiToast, _initClass]\n } = _applyDecs(this, [customElement(\"rui-toast\")], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"toastId\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"title\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"description\"], [[prop({\n type: String,\n reflect: true,\n defaultValue: \"default\"\n }), bindTo({\n attr: \"data-variant\",\n map: variant => variant ?? \"default\"\n })], 0, \"variant\"], [prop({\n type: Number,\n defaultValue: TOAST_LIFETIME\n }), 0, \"duration\"], [[prop({\n type: Boolean,\n defaultValue: true\n }), bindTo({\n attr: \"data-dismissible\"\n })], 0, \"dismissible\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"closeButton\"], [prop({\n type: String,\n defaultValue: \"\"\n }), 0, \"actionLabel\"], [[prop({\n type: String,\n defaultValue: DEFAULT_TOAST_POSITION\n }), bindTo([{\n attr: \"data-y-position\",\n map: position => splitToastPosition(position).y\n }, {\n attr: \"data-x-position\",\n map: position => splitToastPosition(position).x\n }])], 0, \"position\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"markedDelete\"], [query({\n ref: \"toast\"\n }), 0, \"toastTarget\"], [onUpdated(\"position\"), 2, \"onPositionUpdated\"], [onUpdated(\"duration\"), 2, \"onDurationUpdated\"], [onUpdated(\"markedDelete\"), 2, \"onMarkedDeleteUpdated\"], [bound, 2, \"onPointerDown\"], [bound, 2, \"onPointerMove\"], [bound, 2, \"onPointerUp\"], [onEvent({\n selector: \"[data-toast-close]\",\n type: \"click\"\n }), 2, \"onCloseClick\"], [onEvent({\n selector: \"[data-toast-action]\",\n type: \"click\"\n }), 2, \"onActionClick\"]], 0, void 0, RadiantElement));\n }\n toastId = (_initProto(this), _init_toastId(this));\n title = (_init_extra_toastId(this), _init_title(this));\n description = (_init_extra_title(this), _init_description(this));\n variant = (_init_extra_description(this), _init_variant(this));\n duration = (_init_extra_variant(this), _init_duration(this));\n dismissible = (_init_extra_duration(this), _init_dismissible(this));\n closeButton = (_init_extra_dismissible(this), _init_closeButton(this));\n actionLabel = (_init_extra_closeButton(this), _init_actionLabel(this));\n position = (_init_extra_actionLabel(this), _init_position(this));\n markedDelete = (_init_extra_position(this), _init_markedDelete(this));\n toastTarget = (_init_extra_markedDelete(this), _init_toastTarget(this));\n mounted = (_init_extra_toastTarget(this), false);\n removed = false;\n swiping = false;\n swipeOut = false;\n swipeAxis = null;\n swipeOutDirection = null;\n held = false;\n timerReady = false;\n timeoutId = null;\n pointerStart = null;\n dragStartTime = null;\n exitTimer = null;\n /**\n * Wire pointer listeners, then announce mount after paint so enter CSS can run.\n *\n * @remarks\n * `mounted` stays true across disconnect so list remounts skip the enter\n * animation (avoids an opacity flicker when siblings update). Timer state is\n * still reset on disconnect and restarted on reconnect / first paint.\n */\n connectedCallback() {\n super.connectedCallback();\n const isReconnect = this.mounted;\n this.addEventListener(\"pointerdown\", this.onPointerDown);\n this.addEventListener(\"pointermove\", this.onPointerMove);\n this.addEventListener(\"pointerup\", this.onPointerUp);\n this.addEventListener(\"pointercancel\", this.onPointerUp);\n if (isReconnect) {\n this.timerReady = true;\n this.syncDomState();\n this.dispatchEvent(new CustomEvent(\"rui-toast-mounted\", {\n bubbles: true\n }));\n if (!this.held && !this.removed) {\n this.startTimer();\n }\n return;\n }\n this.timerReady = false;\n requestAnimationFrame(() => {\n requestAnimationFrame(() => {\n if (!this.isConnected) return;\n this.mounted = true;\n this.timerReady = true;\n this.syncDomState();\n this.dispatchEvent(new CustomEvent(\"rui-toast-mounted\", {\n bubbles: true\n }));\n if (!this.held && !this.removed) {\n this.startTimer();\n }\n });\n });\n this.syncDomState();\n }\n /**\n * Clear timers on unmount. Only purge shared state when this instance was exiting \u2014\n * overflow toasts are intentionally unmounted while still queued.\n */\n disconnectedCallback() {\n this.clearTimer();\n if (this.exitTimer) {\n clearTimeout(this.exitTimer);\n this.exitTimer = null;\n }\n const id = this.resolvedId;\n if (id !== \"\" && this.removed) {\n toastState.remove(id);\n }\n this.held = false;\n this.timerReady = false;\n this.removeEventListener(\"pointerdown\", this.onPointerDown);\n this.removeEventListener(\"pointermove\", this.onPointerMove);\n this.removeEventListener(\"pointerup\", this.onPointerUp);\n this.removeEventListener(\"pointercancel\", this.onPointerUp);\n super.disconnectedCallback();\n }\n onPositionUpdated() {\n this.syncDomState();\n }\n /**\n * Hold or release auto-dismiss (toaster-controlled on stack hover).\n *\n * @remarks\n * Pause freezes leftover ms so wall-clock time during hover does not consume\n * the lifetime. Resume rebuilds the deadline from that remainder.\n */\n setPaused(paused) {\n if (this.held === paused) {\n if (!paused && this.timerReady && this.mounted && !this.removed && !this.timeoutId) {\n this.startTimer();\n }\n return;\n }\n this.held = paused;\n if (!this.timerReady || !this.mounted || this.removed) return;\n if (paused || document.hidden) {\n freezeToastDeadline(this.resolvedId);\n this.clearTimer();\n } else {\n this.startTimer();\n }\n }\n onDurationUpdated() {\n if (!this.timerReady || !this.mounted || this.removed || this.held) return;\n clearToastDeadline(this.resolvedId);\n this.startTimer();\n }\n onMarkedDeleteUpdated() {\n if (this.markedDelete && !this.removed) {\n this.beginRemove();\n }\n }\n get resolvedId() {\n const raw = this.toastId;\n if (raw == null || raw === \"\") return \"\";\n const asNumber = Number(raw);\n return Number.isFinite(asNumber) && String(asNumber) === raw ? asNumber : raw;\n }\n clearTimer() {\n if (this.timeoutId) clearTimeout(this.timeoutId);\n this.timeoutId = null;\n }\n /**\n * Countdown to the toast's dismiss deadline.\n *\n * @remarks\n * Deadlines live in a module map keyed by toast id so list remounts (sibling\n * dismiss / re-render) resume leftover time instead of restarting `duration`.\n * Hover pause stores remaining ms separately and rebuilds the deadline on resume.\n */\n startTimer() {\n if (this.held || this.removed || document.hidden) return;\n if (this.duration === Number.POSITIVE_INFINITY || this.variant === \"loading\") return;\n if (this.duration <= 0) {\n this.beginRemove();\n return;\n }\n const id = this.resolvedId;\n const key = deadlineKey(id);\n const now = Date.now();\n let remaining = toastRemainingMs.get(key);\n toastRemainingMs.delete(key);\n if (remaining == null) {\n const deadline = toastDeadlines.get(key);\n remaining = deadline != null ? deadline - now : this.duration;\n }\n if (remaining <= 0) {\n clearToastDeadline(id);\n this.beginRemove();\n return;\n }\n toastDeadlines.set(key, now + remaining);\n this.clearTimer();\n this.timeoutId = setTimeout(() => {\n clearToastDeadline(id);\n this.beginRemove();\n }, remaining);\n }\n beginRemove() {\n if (this.removed) return;\n this.removed = true;\n this.clearTimer();\n clearToastDeadline(this.resolvedId);\n this.syncDomState();\n if (!this.markedDelete) {\n toastState.dismiss(this.resolvedId);\n }\n this.exitTimer = setTimeout(() => {\n this.exitTimer = null;\n toastState.remove(this.resolvedId);\n }, TOAST_EXIT_MS);\n }\n onPointerDown(event) {\n if (!this.dismissible || this.variant === \"loading\") return;\n if (event.button !== 0) return;\n const target = event.target;\n if (target?.closest(\"[data-toast-close], [data-toast-action], button, a\")) return;\n this.dragStartTime = Date.now();\n this.pointerStart = {\n x: event.clientX,\n y: event.clientY\n };\n this.swipeAxis = null;\n this.setPointerCapture(event.pointerId);\n }\n onPointerMove(event) {\n if (!this.pointerStart) return;\n const delta = {\n x: event.clientX - this.pointerStart.x,\n y: event.clientY - this.pointerStart.y\n };\n if (!this.startSwipe(delta)) return;\n this.swipeAxis ??= Math.abs(delta.x) > Math.abs(delta.y) ? \"x\" : \"y\";\n const amount = this.swipeAxis === \"x\" ? {\n x: delta.x,\n y: 0\n } : {\n x: 0,\n y: delta.y\n };\n if (this.isSwipeReversing(amount)) this.resetSwipeTranslation();else this.setSwipeTranslation(amount);\n }\n startSwipe(delta) {\n if (this.swiping) return true;\n if (Math.abs(delta.x) < 8 && Math.abs(delta.y) < 8) return false;\n this.swiping = true;\n this.syncDomState();\n return true;\n }\n isSwipeReversing(amount) {\n const {\n x,\n y\n } = splitToastPosition(this.position);\n if (this.swipeAxis === \"y\") return (y === \"bottom\" ? amount.y < 0 : amount.y > 0) && Math.abs(amount.y) < TOAST_SWIPE_THRESHOLD;\n return x !== \"center\" && (x === \"start\" ? amount.x > 0 : amount.x < 0) && Math.abs(amount.x) < TOAST_SWIPE_THRESHOLD;\n }\n setSwipeTranslation(amount) {\n this.style.setProperty(\"--rui-toast-swipe-x\", `${amount.x}px`);\n this.style.setProperty(\"--rui-toast-swipe-y\", `${amount.y}px`);\n }\n resetSwipeTranslation() {\n this.setSwipeTranslation({\n x: 0,\n y: 0\n });\n }\n onPointerUp(event) {\n if (!this.pointerStart) return;\n this.releaseToastPointer(event.pointerId);\n const swipe = this.readSwipe();\n this.swiping = false;\n if (swipe && this.dismissible && this.shouldDismissSwipe(swipe)) this.dismissFromSwipe(swipe);else this.cancelSwipe();\n this.clearPointerState();\n }\n releaseToastPointer(pointerId) {\n try {\n this.releasePointerCapture(pointerId);\n } catch {}\n }\n readSwipe() {\n if (!this.swiping) return void 0;\n return {\n x: Number.parseFloat(this.style.getPropertyValue(\"--rui-toast-swipe-x\") || \"0\"),\n y: Number.parseFloat(this.style.getPropertyValue(\"--rui-toast-swipe-y\") || \"0\")\n };\n }\n shouldDismissSwipe(swipe) {\n const amount = this.swipeAxis === \"x\" ? swipe.x : swipe.y;\n const duration = this.dragStartTime ? Date.now() - this.dragStartTime : 0;\n return Math.abs(amount) >= TOAST_SWIPE_THRESHOLD || Math.abs(amount) / Math.max(duration, 1) > 0.11;\n }\n dismissFromSwipe(swipe) {\n const {\n x,\n y\n } = splitToastPosition(this.position);\n this.swipeOutDirection = this.swipeAxis === \"y\" ? y === \"bottom\" ? \"down\" : \"up\" : x === \"start\" ? \"left\" : x === \"end\" ? \"right\" : swipe.x < 0 ? \"left\" : \"right\";\n this.swipeOut = true;\n this.syncDomState();\n this.beginRemove();\n }\n cancelSwipe() {\n this.resetSwipeTranslation();\n this.swipeAxis = null;\n this.syncDomState();\n }\n clearPointerState() {\n this.pointerStart = null;\n this.dragStartTime = null;\n }\n onCloseClick(event) {\n event.stopPropagation();\n if (!this.dismissible) return;\n this.beginRemove();\n }\n onActionClick(event) {\n event.stopPropagation();\n const record = toastState.getSnapshot().find(toast => toast.id === this.resolvedId);\n record?.action?.onClick(event);\n if (this.dismissible) this.beginRemove();\n }\n syncDomState() {\n this.setAttribute(\"role\", \"listitem\");\n this.dataset.mounted = String(this.mounted);\n this.dataset.removed = String(this.removed);\n this.dataset.swiping = String(this.swiping);\n this.dataset.swipeOut = String(this.swipeOut);\n if (this.swipeOutDirection) this.dataset.swipeDirection = this.swipeOutDirection;else delete this.dataset.swipeDirection;\n }\n iconForVariant() {\n switch (this.variant) {\n case \"success\":\n return /* @__PURE__ */jsx(RuiIconCheck, {});\n case \"error\":\n return /* @__PURE__ */jsx(RuiIconX, {});\n case \"warning\":\n return \"!\";\n case \"info\":\n return \"i\";\n default:\n return \"\";\n }\n }\n render() {\n const variant = this.variant ?? \"default\";\n const icon = this.iconForVariant();\n const showIcon = variant !== \"default\";\n return /* @__PURE__ */jsxs(\"div\", {\n ref: \"toast\",\n class: `rui-toast rui-toast--${variant}`,\n role: \"status\",\n \"aria-live\": \"off\",\n \"data-ref\": \"toast\",\n children: [this.closeButton && variant !== \"loading\" ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-toast__close\",\n \"data-toast-close\": true,\n \"aria-label\": \"Close toast\",\n children: /* @__PURE__ */jsx(RuiIconX, {})\n }) : null, showIcon ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-toast__icon\",\n \"data-icon\": true,\n \"aria-hidden\": \"true\",\n children: variant === \"loading\" ? /* @__PURE__ */jsx(\"span\", {\n class: \"rui-toast__loader\"\n }) : icon\n }) : null, /* @__PURE__ */jsxs(\"div\", {\n class: \"rui-toast__content\",\n children: [/* @__PURE__ */jsx(\"div\", {\n class: \"rui-toast__title\",\n \"data-title\": true,\n children: this.$.title\n }), this.description ? /* @__PURE__ */jsx(\"div\", {\n class: \"rui-toast__description\",\n \"data-description\": true,\n children: this.$.description\n }) : null]\n }), this.actionLabel ? /* @__PURE__ */jsx(\"button\", {\n type: \"button\",\n class: \"rui-toast__action rui-button rui-button--outline rui-button--sm\",\n \"data-toast-action\": true,\n children: this.$.actionLabel\n }) : null]\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiToast as RuiToast };", "export function cx(...parts) {\n return parts.filter(Boolean).join(\" \");\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nexport function RuiIconCheck({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsx(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: /* @__PURE__ */jsx(\"path\", {\n d: \"m5 12 4 4L19 6\"\n })\n });\n}", "import { jsx, jsxs } from \"@ecopages/jsx/jsx-runtime\";\nimport { cx } from \"@/lib/cx\";\nconst SVG_NAMESPACE = \"http://www.w3.org/2000/svg\";\nexport function RuiIconX({\n class: className,\n size = \"sm\",\n ...props\n}) {\n return /* @__PURE__ */jsxs(\"svg\", {\n ...props,\n class: cx(\"rui-icon\", size === \"md\" && \"rui-icon--md\", className),\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n \"stroke-width\": \"2\",\n \"stroke-linecap\": \"round\",\n \"stroke-linejoin\": \"round\",\n \"aria-hidden\": \"true\",\n children: [/* @__PURE__ */jsx(\"path\", {\n d: \"m18 6-12 12\"\n }), /* @__PURE__ */jsx(\"path\", {\n d: \"m6 6 12 12\"\n })]\n });\n}\nexport function createRuiIconX() {\n const icon = document.createElementNS(SVG_NAMESPACE, \"svg\");\n icon.setAttribute(\"class\", \"rui-icon\");\n icon.setAttribute(\"viewBox\", \"0 0 24 24\");\n icon.setAttribute(\"fill\", \"none\");\n icon.setAttribute(\"stroke\", \"currentColor\");\n icon.setAttribute(\"stroke-width\", \"2\");\n icon.setAttribute(\"stroke-linecap\", \"round\");\n icon.setAttribute(\"stroke-linejoin\", \"round\");\n icon.setAttribute(\"aria-hidden\", \"true\");\n for (const d of [\"m18 6-12 12\", \"m6 6 12 12\"]) {\n const path = document.createElementNS(SVG_NAMESPACE, \"path\");\n path.setAttribute(\"d\", d);\n icon.append(path);\n }\n return icon;\n}", "export const RUI_TOAST_SHOW_EVENT = \"rui-toast-show\";\nexport const RUI_TOAST_DISMISS_EVENT = \"rui-toast-dismiss\";\nexport const TOAST_POSITIONS = [\"top-start\", \"top-center\", \"top-end\", \"bottom-start\", \"bottom-center\", \"bottom-end\"];\nexport const TOAST_LIFETIME = 4e3;\nexport const TOAST_WIDTH = 356;\nexport const TOAST_GAP = 14;\nexport const TOAST_VIEWPORT_OFFSET = 24;\nexport const TOAST_VISIBLE_AMOUNT = 3;\nexport const TOAST_COLLAPSED_PEEK = 3;\nexport const TOAST_SWIPE_THRESHOLD = 45;\nexport const TOAST_EXIT_MS = 200;\nexport const DEFAULT_TOAST_POSITION = \"bottom-end\";\nexport function splitToastPosition(position) {\n const [y, x] = position.split(\"-\");\n return {\n y,\n x\n };\n}", "let toastCounter = 1;\nfunction nextId() {\n return toastCounter++;\n}\nfunction resolveMessage(message, value) {\n return typeof message === \"function\" ? message(value) : message;\n}\nclass ToastState {\n subscribers = [];\n toasts = [];\n subscribe = subscriber => {\n this.subscribers.push(subscriber);\n subscriber(this.toasts);\n return () => {\n const index = this.subscribers.indexOf(subscriber);\n if (index >= 0) this.subscribers.splice(index, 1);\n };\n };\n getSnapshot = () => this.toasts;\n publish() {\n const snapshot = this.toasts;\n for (const subscriber of this.subscribers) {\n subscriber(snapshot);\n }\n }\n create = (title, options = {}) => {\n const id = options.id ?? nextId();\n const dismissible = options.dismissible ?? true;\n const existingIndex = this.toasts.findIndex(toast => toast.id === id);\n const next = {\n id,\n title,\n description: options.description,\n variant: options.variant ?? \"default\",\n duration: options.duration,\n action: options.action,\n dismissible,\n closeButton: options.closeButton,\n position: options.position,\n delete: false\n };\n if (existingIndex >= 0) {\n this.toasts = this.toasts.map(toast => toast.id === id ? {\n ...toast,\n ...next,\n delete: false\n } : toast);\n } else {\n this.toasts = [next, ...this.toasts];\n }\n this.publish();\n return id;\n };\n dismiss = id => {\n if (id == null) {\n if (this.toasts.length === 0) return;\n this.toasts = this.toasts.map(toast => ({\n ...toast,\n delete: true\n }));\n } else {\n const target = this.toasts.find(toast => toast.id === id);\n if (!target || target.delete) return;\n this.toasts = this.toasts.map(toast => toast.id === id ? {\n ...toast,\n delete: true\n } : toast);\n }\n this.publish();\n };\n remove = id => {\n this.toasts = this.toasts.filter(toast => toast.id !== id);\n this.publish();\n };\n /** Drop every toast from the store (tests, Storybook resets). */\n clear = () => {\n if (this.toasts.length === 0) return;\n this.toasts = [];\n this.publish();\n };\n message = (title, options) => this.create(title, options);\n success = (title, options) => this.create(title, {\n ...options,\n variant: \"success\"\n });\n error = (title, options) => this.create(title, {\n ...options,\n variant: \"error\"\n });\n info = (title, options) => this.create(title, {\n ...options,\n variant: \"info\"\n });\n warning = (title, options) => this.create(title, {\n ...options,\n variant: \"warning\"\n });\n loading = (title, options) => this.create(title, {\n ...options,\n variant: \"loading\",\n duration: options?.duration ?? Number.POSITIVE_INFINITY\n });\n promise = (promise, messages) => {\n const id = this.loading(messages.loading, {\n duration: Number.POSITIVE_INFINITY,\n action: messages.action,\n closeButton: messages.closeButton,\n position: messages.position,\n description: typeof messages.description === \"string\" ? messages.description : void 0\n });\n const pending = typeof promise === \"function\" ? promise() : promise;\n pending.then(data => {\n const description = typeof messages.description === \"function\" ? messages.description(data) : messages.description;\n this.create(resolveMessage(messages.success, data), {\n id,\n variant: \"success\",\n description,\n duration: messages.duration,\n action: messages.action,\n closeButton: messages.closeButton,\n position: messages.position\n });\n }).catch(error => {\n const description = typeof messages.description === \"function\" ? messages.description(error) : messages.description;\n this.create(resolveMessage(messages.error, error), {\n id,\n variant: \"error\",\n description,\n duration: messages.duration,\n action: messages.action,\n closeButton: messages.closeButton,\n position: messages.position\n });\n });\n return id;\n };\n}\nexport const toastState = new ToastState();", "let _initProto, _initClass, _init_position, _init_extra_position, _init_duration, _init_extra_duration, _init_visibleToasts, _init_extra_visibleToasts, _init_closeButton, _init_extra_closeButton, _init_expand, _init_extra_expand, _init_gap, _init_extra_gap, _init_offset, _init_extra_offset, _init_container, _init_extra_container, _init_listTarget, _init_extra_listTarget, _init_toasts, _init_extra_toasts;\nfunction _applyDecs(e, t, n, r, o, i) { var a, c, u, s, f, l, p, d = Symbol.metadata || Symbol.for(\"Symbol.metadata\"), m = Object.defineProperty, h = Object.create, y = [h(null), h(null)], v = t.length; function g(t, n, r) { return function (o, i) { n && (i = o, o = e); for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []); return r ? i : o; }; } function b(e, t, n, r) { if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\")); return e; } function applyDec(e, t, n, r, o, i, u, s, f, l, p) { function d(e) { if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\"); } var h = [].concat(t[0]), v = t[3], w = !u, D = 1 === o, S = 3 === o, j = 4 === o, E = 2 === o; function I(t, n, r) { return function (o, i) { return n && (i = o, o = e), r && r(o), P[t].call(o, i); }; } if (!w) { var P = {}, k = [], F = S ? \"get\" : j || D ? \"set\" : \"value\"; if (f ? (l || D ? P = { get: _setFunctionName(function () { return v(this); }, r, \"get\"), set: function (e) { t[4](this, e); } } : P[F] = v, l || _setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) { if ((c = y[+s][r]) && 7 !== (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\"); y[+s][r] = o < 3 ? 1 : o; } } for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) { var T = b(h[O], \"A decorator\", \"be\", !0), z = n ? h[O - 1] : void 0, A = {}, H = { kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o], name: r, metadata: a, addInitializer: function (e, t) { if (e.v) throw new TypeError(\"attempted to call addInitializer after decoration was finished\"); b(t, \"An initializer\", \"be\", !0), i.push(t); }.bind(null, A) }; if (w) c = T.call(z, N, H), A.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (H.static = s, H.private = f, c = H.access = { has: f ? p.bind() : function (e) { return r in e; } }, j || (c.get = f ? E ? function (e) { return d(e), P.value; } : I(\"get\", 0, d) : function (e) { return e[r]; }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) { e[r] = t; }), N = T.call(z, D ? { get: P.get, set: P.set } : P[F], H), A.v = 1, D) { if (\"object\" == typeof N && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\"); } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N); } return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N; } function w(e) { return m(e, d, { configurable: !0, enumerable: !0, value: a }); } return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function (e) { e && f.push(g(e)); }, p = function (t, r) { for (var i = 0; i < n.length; i++) { var a = n[i], c = a[1], l = 7 & c; if ((8 & c) == t && !l == r) { var p = a[2], d = !!a[3], m = 16 & c; applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : _toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) { return _checkInRHS(t) === e; } : o); } } }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), { e: c, get c() { var n = []; return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)]; } }; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == typeof i ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != typeof i) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _setFunctionName(e, t, n) { \"symbol\" == typeof t && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\"); try { Object.defineProperty(e, \"name\", { configurable: !0, value: n ? n + \" \" + t : t }); } catch (e) {} return e; }\nfunction _checkInRHS(e) { if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? typeof e : \"null\")); return e; }\nimport { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport { RadiantElement, bindTo, bound, customElement, onEvent, onUpdated, prop, query, state } from \"@ecopages/radiant\";\nimport { DEFAULT_TOAST_POSITION, RUI_TOAST_DISMISS_EVENT, RUI_TOAST_SHOW_EVENT, TOAST_COLLAPSED_PEEK, TOAST_GAP, TOAST_LIFETIME, TOAST_VIEWPORT_OFFSET, TOAST_VISIBLE_AMOUNT, splitToastPosition } from \"./toast-context\";\nimport { collapsedStackHeight, expandedStackHeight, expandedToastOffset } from \"./stack-layout\";\nimport { toastState } from \"./toast-state\";\nimport \"./toast.script\";\nfunction isInsideToaster(node, root) {\n return node instanceof Node && root.contains(node);\n}\nlet _RuiToaster;\nclass RuiToaster extends RadiantElement {\n static {\n ({\n e: [_init_position, _init_extra_position, _init_duration, _init_extra_duration, _init_visibleToasts, _init_extra_visibleToasts, _init_closeButton, _init_extra_closeButton, _init_expand, _init_extra_expand, _init_gap, _init_extra_gap, _init_offset, _init_extra_offset, _init_container, _init_extra_container, _init_listTarget, _init_extra_listTarget, _init_toasts, _init_extra_toasts, _initProto],\n c: [_RuiToaster, _initClass]\n } = _applyDecs(this, [customElement(\"rui-toaster\")], [[[prop({\n type: String,\n reflect: true,\n defaultValue: DEFAULT_TOAST_POSITION\n }), bindTo([{\n attr: \"data-y-position\",\n map: position => splitToastPosition(position).y\n }, {\n attr: \"data-x-position\",\n map: position => splitToastPosition(position).x\n }])], 0, \"position\"], [prop({\n type: Number,\n defaultValue: TOAST_LIFETIME\n }), 0, \"duration\"], [prop({\n type: Number,\n defaultValue: TOAST_VISIBLE_AMOUNT\n }), 0, \"visibleToasts\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"closeButton\"], [prop({\n type: Boolean,\n defaultValue: false\n }), 0, \"expand\"], [prop({\n type: Number,\n defaultValue: TOAST_GAP\n }), 0, \"gap\"], [prop({\n type: Number,\n defaultValue: TOAST_VIEWPORT_OFFSET\n }), 0, \"offset\"], [prop({\n type: String,\n reflect: true,\n defaultValue: \"\"\n }), 0, \"container\"], [query({\n ref: \"list\"\n }), 0, \"listTarget\"], [state, 0, \"toasts\"], [onUpdated([\"position\", \"duration\", \"visibleToasts\", \"closeButton\", \"expand\", \"gap\", \"offset\", \"container\"]), 2, \"onConfigUpdated\"], [onEvent({\n document: true,\n type: RUI_TOAST_SHOW_EVENT\n }), 2, \"onDocumentShow\"], [onEvent({\n document: true,\n type: RUI_TOAST_DISMISS_EVENT\n }), 2, \"onDocumentDismiss\"], [onEvent({\n selector: \"rui-toast\",\n type: \"rui-toast-mounted\"\n }), 2, \"onToastMounted\"], [bound, 2, \"onPointerOver\"], [bound, 2, \"onPointerOut\"], [bound, 2, \"onPointerDown\"], [bound, 2, \"onPointerUp\"]], 0, void 0, RadiantElement));\n }\n position = (_initProto(this), _init_position(this));\n duration = (_init_extra_position(this), _init_duration(this));\n visibleToasts = (_init_extra_duration(this), _init_visibleToasts(this));\n closeButton = (_init_extra_visibleToasts(this), _init_closeButton(this));\n expand = (_init_extra_closeButton(this), _init_expand(this));\n gap = (_init_extra_expand(this), _init_gap(this));\n offset = (_init_extra_gap(this), _init_offset(this));\n container = (_init_extra_offset(this), _init_container(this));\n listTarget = (_init_extra_container(this), _init_listTarget(this));\n toasts = (_init_extra_listTarget(this), _init_toasts(this, []));\n expanded = (_init_extra_toasts(this), false);\n interacting = false;\n unsubscribe = null;\n visibilityHandler = null;\n heights = /* @__PURE__ */new Map();\n observers = /* @__PURE__ */new Map();\n layoutFrame = null;\n /** Prevents ResizeObserver re-entry while temporarily unclipping hosts to measure. */\n measuring = false;\n connectedCallback() {\n super.connectedCallback();\n this.syncHostPosition();\n this.syncContainer();\n this.unsubscribe = toastState.subscribe(toasts => {\n this.toasts = toasts;\n if (toasts.length === 0) {\n this.resetLayoutState();\n }\n this.scheduleLayoutSync();\n });\n this.visibilityHandler = () => this.syncPauseState();\n document.addEventListener(\"visibilitychange\", this.visibilityHandler);\n }\n disconnectedCallback() {\n this.unsubscribe?.();\n this.unsubscribe = null;\n if (this.visibilityHandler) {\n document.removeEventListener(\"visibilitychange\", this.visibilityHandler);\n this.visibilityHandler = null;\n }\n document.removeEventListener(\"pointerup\", this.onPointerUp);\n document.removeEventListener(\"pointercancel\", this.onPointerUp);\n if (this.layoutFrame != null) cancelAnimationFrame(this.layoutFrame);\n this.resetLayoutState();\n super.disconnectedCallback();\n }\n onConfigUpdated() {\n this.syncHostPosition();\n this.syncContainer();\n this.scheduleLayoutSync();\n }\n onDocumentShow(event) {\n const detail = event.detail;\n if (!detail?.title) return;\n toastState.create(detail.title, {\n id: detail.id,\n description: detail.description,\n variant: detail.variant,\n duration: detail.duration,\n action: detail.action,\n dismissible: detail.dismissible,\n closeButton: detail.closeButton,\n position: detail.position\n });\n }\n onDocumentDismiss(event) {\n const detail = event.detail;\n toastState.dismiss(detail?.id);\n }\n onToastMounted() {\n this.scheduleLayoutSync();\n }\n filteredToasts() {\n const forPosition = this.toasts.filter(toast => (toast.position ?? this.position) === this.position);\n const active = [];\n const exiting = [];\n for (const toast of forPosition) {\n if (toast.delete) exiting.push(toast);else active.push(toast);\n }\n return [...active.slice(0, this.visibleToasts), ...exiting];\n }\n syncHostPosition() {\n this.style.setProperty(\"--rui-toaster-gap\", `${this.gap}px`);\n this.style.setProperty(\"--rui-toaster-offset\", `${this.offset}px`);\n }\n /**\n * Bind the toaster to a positioning root when `container` is set.\n *\n * @remarks\n * Prefers an ancestor match so nested demos do not reparent. Only appends\n * into a query-selected root when the toaster is not already inside it.\n * Contained mode uses absolute positioning; default mode restores viewport fixed.\n */\n syncContainer() {\n const selector = this.container.trim();\n if (!selector) {\n this.removeAttribute(\"data-contained\");\n this.style.position = \"\";\n return;\n }\n const target = this.closest(selector) ?? document.querySelector(selector);\n if (!target) {\n this.removeAttribute(\"data-contained\");\n this.style.position = \"\";\n return;\n }\n if (getComputedStyle(target).position === \"static\") {\n target.style.position = \"relative\";\n }\n if (!target.contains(this)) {\n target.appendChild(this);\n }\n this.dataset.contained = \"true\";\n this.style.position = \"absolute\";\n }\n isStackExpanded() {\n return this.expanded || this.expand;\n }\n /**\n * @remarks\n * Pause only while the pointer is interacting / hovering, or the tab is\n * hidden. The `expand` prop is visual-only \u2014 it must not freeze lifetimes.\n */\n isPaused() {\n return this.expanded || this.interacting || document.hidden;\n }\n resetLayoutState() {\n for (const observer of this.observers.values()) observer.disconnect();\n this.observers.clear();\n this.heights.clear();\n this.expanded = false;\n this.interacting = false;\n const list = this.listTarget;\n if (list) {\n list.style.height = \"0px\";\n list.dataset.expanded = \"false\";\n }\n this.dataset.expanded = \"false\";\n }\n syncPauseState() {\n const paused = this.isPaused();\n for (const el of this.querySelectorAll(\"rui-toast\")) {\n el.setPaused(paused);\n }\n this.patchStackLayout();\n }\n /**\n * Measure + layout on the next frame. Re-reads `:hover` because emptying the\n * stack under the cursor can skip `pointerout`, leaving hold/expand stale.\n */\n scheduleLayoutSync() {\n if (this.layoutFrame != null) cancelAnimationFrame(this.layoutFrame);\n this.layoutFrame = requestAnimationFrame(() => {\n this.layoutFrame = null;\n if (this.toasts.length > 0 && !this.interacting) {\n const list = this.listTarget;\n const hovered = Boolean(list?.matches(\":hover\") || this.matches(\":hover\"));\n this.expanded = hovered;\n }\n this.observeToasts();\n this.syncPauseState();\n });\n }\n /**\n * Natural content height for stack math.\n *\n * @remarks\n * Uses the inner `[data-ref=\"toast\"]` `offsetHeight` (layout size, transform-independent).\n * Host height/overflow are temporarily cleared because collapsed behind toasts are\n * clipped to the front height \u2014 leaving that in place can under-measure in some engines.\n */\n measureToast(el) {\n this.measuring = true;\n const prevHeight = el.style.height;\n const prevOverflow = el.style.overflow;\n el.style.height = \"auto\";\n el.style.overflow = \"visible\";\n const inner = el.getRef(\"toast\");\n const height = Math.round(inner instanceof HTMLElement ? inner.offsetHeight : el.offsetHeight) || 64;\n el.style.height = prevHeight;\n el.style.overflow = prevOverflow;\n this.measuring = false;\n return height;\n }\n observeToasts() {\n const list = this.listTarget;\n if (!list) return;\n const els = [...list.querySelectorAll(\"rui-toast\")];\n const seen = /* @__PURE__ */new Set();\n for (const el of els) {\n const id = el.toastId;\n if (!id) continue;\n seen.add(id);\n const target = el.getRef(\"toast\") ?? el;\n if (!this.observers.has(id)) {\n const observer = new ResizeObserver(() => {\n if (this.measuring) return;\n const height = this.measureToast(el);\n if (this.heights.get(id) === height) return;\n this.heights.set(id, height);\n this.patchStackLayout();\n });\n observer.observe(target);\n this.observers.set(id, observer);\n }\n this.heights.set(id, this.measureToast(el));\n }\n for (const [id, observer] of [...this.observers]) {\n if (seen.has(id)) continue;\n observer.disconnect();\n this.observers.delete(id);\n this.heights.delete(id);\n }\n }\n /**\n * @remarks\n * Expanded offsets use each toast's natural height (Sonner formula):\n * `sum(heights before) + index * gap`. Collapsed mode peeks at most\n * {@link TOAST_COLLAPSED_PEEK} toasts with scale; overflow stays\n * mounted but hidden until hover expands the stack.\n * Heights are always remeasured \u2014 clipped collapsed hosts make caches stale.\n */\n patchStackLayout() {\n const list = this.listTarget;\n if (!list) return;\n const expanded = this.isStackExpanded();\n const {\n y\n } = splitToastPosition(this.position);\n const lift = y === \"bottom\" ? -1 : 1;\n const peekLimit = Math.min(TOAST_COLLAPSED_PEEK, Math.max(1, this.visibleToasts));\n this.dataset.expanded = String(expanded);\n list.dataset.expanded = String(expanded);\n this.style.setProperty(\"--rui-toaster-lift\", String(lift));\n list.style.setProperty(\"--rui-toaster-gap\", `${this.gap}px`);\n const els = [...list.querySelectorAll(\"rui-toast\")].filter(el => el.dataset.mounted === \"true\" && el.dataset.removed !== \"true\");\n if (els.length === 0) {\n list.style.height = \"0px\";\n return;\n }\n const heights = els.map(el => {\n const measured = this.measureToast(el);\n this.heights.set(el.toastId, measured);\n return measured;\n });\n const frontHeight = heights[0] ?? 64;\n this.style.setProperty(\"--rui-toaster-front-height\", `${frontHeight}px`);\n for (let index = 0; index < els.length; index += 1) {\n const el = els[index];\n if (!el) continue;\n const height = heights[index] ?? 64;\n const isFront = index === 0;\n const offset = expandedToastOffset(index, heights, this.gap);\n const inCollapsedPeek = index < peekLimit;\n el.dataset.index = String(index);\n el.dataset.front = String(isFront);\n el.dataset.expanded = String(expanded);\n el.dataset.visible = String(expanded || inCollapsedPeek);\n el.style.setProperty(\"--rui-toast-z\", String(els.length - index));\n el.style.setProperty(\"--rui-toast-index\", String(index));\n el.style.setProperty(\"--rui-toast-offset\", `${offset}px`);\n el.style.setProperty(\"--rui-toast-initial-height\", `${height}px`);\n el.style.setProperty(\"--rui-toaster-gap\", `${this.gap}px`);\n if (expanded) {\n el.style.setProperty(\"--rui-toast-y\", `translateY(${lift * offset}px)`);\n el.style.height = `${height}px`;\n el.style.overflow = \"visible\";\n } else if (!inCollapsedPeek) {\n el.style.setProperty(\"--rui-toast-y\", `translateY(${lift * (peekLimit - 1) * this.gap}px) scale(0.7)`);\n el.style.height = `${frontHeight}px`;\n el.style.overflow = \"hidden\";\n } else if (isFront) {\n el.style.setProperty(\"--rui-toast-y\", \"translateY(0px)\");\n el.style.height = `${height}px`;\n el.style.overflow = \"visible\";\n } else {\n const scale = Math.max(0.7, 1 - index * 0.05);\n el.style.setProperty(\"--rui-toast-y\", `translateY(${lift * index * this.gap}px) scale(${scale})`);\n el.style.height = `${frontHeight}px`;\n el.style.overflow = \"hidden\";\n }\n }\n const collapsedPeekCount = Math.min(peekLimit, els.length);\n list.style.height = `${expanded ? expandedStackHeight(heights, this.gap) : collapsedStackHeight(frontHeight, collapsedPeekCount, this.gap)}px`;\n }\n onPointerOver(event) {\n if (isInsideToaster(event.relatedTarget, this)) return;\n this.expanded = true;\n this.syncPauseState();\n }\n onPointerOut(event) {\n if (isInsideToaster(event.relatedTarget, this)) return;\n if (this.interacting) return;\n this.expanded = false;\n this.syncPauseState();\n }\n onPointerDown() {\n this.interacting = true;\n this.expanded = true;\n this.syncPauseState();\n document.addEventListener(\"pointerup\", this.onPointerUp, {\n once: true\n });\n document.addEventListener(\"pointercancel\", this.onPointerUp, {\n once: true\n });\n }\n onPointerUp() {\n if (!this.interacting) return;\n this.interacting = false;\n const list = this.listTarget;\n const hovered = Boolean(list?.matches(\":hover\") || this.querySelector(\"rui-toast:hover\"));\n if (!hovered) this.expanded = false;\n this.syncPauseState();\n }\n render() {\n const filtered = this.filteredToasts();\n return /* @__PURE__ */jsx(\"section\", {\n class: \"rui-toaster-region\",\n \"aria-label\": \"Notifications\",\n \"aria-live\": \"polite\",\n \"aria-relevant\": \"additions text\",\n \"aria-atomic\": \"false\",\n tabIndex: -1,\n children: /* @__PURE__ */jsx(\"ol\", {\n class: \"rui-toaster\",\n \"data-ref\": \"list\",\n \"data-rui-toaster\": true,\n \"on:pointerover\": this.onPointerOver,\n \"on:pointerout\": this.onPointerOut,\n \"on:pointerdown\": this.onPointerDown,\n children: filtered.map(toast => {\n const duration = toast.duration ?? (toast.variant === \"loading\" ? Number.POSITIVE_INFINITY : this.duration);\n return /* @__PURE__ */jsx(\"rui-toast\", {\n \"prop:toastId\": String(toast.id),\n \"prop:title\": toast.title,\n \"prop:description\": toast.description ?? \"\",\n \"prop:variant\": toast.variant,\n \"prop:duration\": duration,\n \"prop:dismissible\": toast.dismissible,\n \"prop:closeButton\": toast.closeButton ?? this.closeButton,\n \"prop:actionLabel\": toast.action?.label ?? \"\",\n \"prop:position\": toast.position ?? this.position,\n \"prop:markedDelete\": Boolean(toast.delete)\n }, String(toast.id));\n })\n })\n });\n }\n static {\n _initClass();\n }\n}\nexport { _RuiToaster as RuiToaster };", "export function expandedToastOffset(index, heights, gap) {\n let heightBefore = 0;\n for (let i = 0; i < index; i += 1) {\n heightBefore += heights[i] ?? 0;\n }\n return heightBefore + index * gap;\n}\nexport function expandedStackHeight(heights, gap) {\n if (heights.length === 0) return 0;\n const totalHeights = heights.reduce((sum, height) => sum + height, 0);\n return totalHeights + Math.max(0, heights.length - 1) * gap;\n}\nexport function collapsedStackHeight(frontHeight, peekCount, gap) {\n if (peekCount <= 0) return 0;\n return frontHeight + Math.max(0, peekCount - 1) * gap;\n}", "import { jsx } from \"@ecopages/jsx/jsx-runtime\";\nimport \"./toast.script\";\nimport \"./toaster.script\";\nexport function RuiToast({\n toastId,\n ...props\n}) {\n return /* @__PURE__ */jsx(\"rui-toast\", {\n ...props,\n toastId: toastId != null ? String(toastId) : void 0\n });\n}\nexport function RuiToaster(props) {\n return /* @__PURE__ */jsx(\"rui-toaster\", {\n ...props\n });\n}", "import { RUI_TOAST_DISMISS_EVENT, RUI_TOAST_SHOW_EVENT } from \"./toast-context\";\nimport { toastState } from \"./toast-state\";\nexport const toast = Object.assign((title, options) => toastState.create(title, options), {\n message: (title, options) => toastState.message(title, options),\n success: (title, options) => toastState.success(title, options),\n error: (title, options) => toastState.error(title, options),\n info: (title, options) => toastState.info(title, options),\n warning: (title, options) => toastState.warning(title, options),\n loading: (title, options) => toastState.loading(title, options),\n promise: (promise, messages) => toastState.promise(promise, messages),\n dismiss: id => toastState.dismiss(id),\n clear: () => toastState.clear()\n});\nexport function showToast(detail) {\n document.dispatchEvent(new CustomEvent(RUI_TOAST_SHOW_EVENT, {\n detail,\n bubbles: true,\n composed: true\n }));\n}\nexport function dismissToast(id) {\n const detail = id == null ? {} : {\n id\n };\n document.dispatchEvent(new CustomEvent(RUI_TOAST_DISMISS_EVENT, {\n detail,\n bubbles: true,\n composed: true\n }));\n}"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["jsx", "jsxs", "RadiantElement", "bindTo", "bound", "customElement", "onEvent", "onUpdated", "prop", "query", "cx", "parts", "jsx", "RuiIconCheck", "className", "size", "props", "jsx", "cx", "jsx", "jsxs", "RuiIconX", "className", "size", "props", "jsxs", "cx", "jsx", "RUI_TOAST_SHOW_EVENT", "RUI_TOAST_DISMISS_EVENT", "TOAST_POSITIONS", "TOAST_LIFETIME", "TOAST_WIDTH", "TOAST_GAP", "TOAST_VIEWPORT_OFFSET", "TOAST_VISIBLE_AMOUNT", "TOAST_COLLAPSED_PEEK", "TOAST_SWIPE_THRESHOLD", "TOAST_EXIT_MS", "DEFAULT_TOAST_POSITION", "splitToastPosition", "position", "y", "x", "toastCounter", "nextId", "resolveMessage", "message", "value", "ToastState", "subscriber", "index", "snapshot", "title", "options", "id", "dismissible", "existingIndex", "toast", "next", "target", "promise", "messages", "data", "description", "error", "toastState", "_initProto", "_initClass", "_init_toastId", "_init_extra_toastId", "_init_title", "_init_extra_title", "_init_description", "_init_extra_description", "_init_variant", "_init_extra_variant", "_init_duration", "_init_extra_duration", "_init_dismissible", "_init_extra_dismissible", "_init_closeButton", "_init_extra_closeButton", "_init_actionLabel", "_init_extra_actionLabel", "_init_position", "_init_extra_position", "_init_markedDelete", "_init_extra_markedDelete", "_init_toastTarget", "_init_extra_toastTarget", "_applyDecs", "e", "n", "r", "o", "i", "a", "c", "u", "s", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "applyDec", "f", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "toastDeadlines", "toastRemainingMs", "deadlineKey", "id", "clearToastDeadline", "key", "freezeToastDeadline", "id", "key", "deadlineKey", "deadline", "toastDeadlines", "toastRemainingMs", "_RuiToast", "RuiToast", "RadiantElement", "_init_toastId", "_init_extra_toastId", "_init_title", "_init_extra_title", "_init_description", "_init_extra_description", "_init_variant", "_init_extra_variant", "_init_duration", "_init_extra_duration", "_init_dismissible", "_init_extra_dismissible", "_init_closeButton", "_init_extra_closeButton", "_init_actionLabel", "_init_extra_actionLabel", "_init_position", "_init_extra_position", "_init_markedDelete", "_init_extra_markedDelete", "_init_toastTarget", "_init_extra_toastTarget", "_initProto", "_initClass", "_applyDecs", "customElement", "prop", "bindTo", "variant", "DEFAULT_TOAST_POSITION", "position", "splitToastPosition", "query", "onUpdated", "bound", "onEvent", "isReconnect", "toastState", "paused", "clearToastDeadline", "raw", "asNumber", "now", "remaining", "event", "delta", "amount", "x", "y", "swipe", "pointerId", "duration", "toast", "jsx", "RuiIconCheck", "RuiIconX", "icon", "showIcon", "jsxs", "jsx", "RadiantElement", "bindTo", "bound", "customElement", "onEvent", "onUpdated", "prop", "query", "state", "expandedToastOffset", "index", "heights", "gap", "heightBefore", "i", "expandedStackHeight", "sum", "height", "collapsedStackHeight", "frontHeight", "peekCount", "_initProto", "_initClass", "_init_position", "_init_extra_position", "_init_duration", "_init_extra_duration", "_init_visibleToasts", "_init_extra_visibleToasts", "_init_closeButton", "_init_extra_closeButton", "_init_expand", "_init_extra_expand", "_init_gap", "_init_extra_gap", "_init_offset", "_init_extra_offset", "_init_container", "_init_extra_container", "_init_listTarget", "_init_extra_listTarget", "_init_toasts", "_init_extra_toasts", "_applyDecs", "e", "n", "r", "o", "i", "a", "c", "u", "s", "l", "p", "d", "m", "h", "y", "v", "g", "t", "b", "applyDec", "f", "w", "D", "S", "j", "E", "I", "P", "k", "F", "_setFunctionName", "N", "O", "T", "z", "A", "H", "_toPropertyKey", "_checkInRHS", "_toPrimitive", "isInsideToaster", "node", "root", "_RuiToaster", "RuiToaster", "RadiantElement", "customElement", "prop", "DEFAULT_TOAST_POSITION", "bindTo", "position", "splitToastPosition", "query", "state", "onUpdated", "onEvent", "RUI_TOAST_SHOW_EVENT", "RUI_TOAST_DISMISS_EVENT", "bound", "toastState", "toasts", "event", "detail", "forPosition", "toast", "active", "exiting", "selector", "target", "observer", "list", "paused", "el", "hovered", "prevHeight", "prevOverflow", "inner", "height", "els", "seen", "id", "expanded", "lift", "peekLimit", "heights", "measured", "frontHeight", "index", "isFront", "offset", "expandedToastOffset", "inCollapsedPeek", "scale", "collapsedPeekCount", "expandedStackHeight", "collapsedStackHeight", "filtered", "jsx", "duration", "jsx", "RuiToast", "toastId", "props", "jsx", "RuiToaster", "toast", "title", "options", "toastState", "promise", "messages", "id", "showToast", "detail", "RUI_TOAST_SHOW_EVENT", "dismissToast", "RUI_TOAST_DISMISS_EVENT"]
|
|
7
7
|
}
|
|
@@ -3,15 +3,18 @@ import type { RuiToast as RuiToastElement, RuiToastProps } from './toast.script'
|
|
|
3
3
|
import './toast.script';
|
|
4
4
|
import type { RuiToaster as RuiToasterElement, RuiToasterProps } from './toaster.script';
|
|
5
5
|
import './toaster.script';
|
|
6
|
-
|
|
6
|
+
import type { WithoutChildren } from '../../../lib/without-children';
|
|
7
|
+
/** The `<rui-toast>` element renders the toast surface, so the view takes no children. */
|
|
8
|
+
export type RuiToastViewProps = WithoutChildren<JsxCustomElementAttributes<RuiToastElement, RuiToastProps>>;
|
|
7
9
|
/**
|
|
8
10
|
* JSX helper around `<rui-toast>`. Normally rendered by `<rui-toaster>`; author
|
|
9
11
|
* directly only for static/embedded toast chrome.
|
|
10
12
|
*/
|
|
11
13
|
export declare function RuiToast({ toastId, ...props }: RuiToastViewProps): import("@ecopages/jsx").JsxRenderable;
|
|
12
|
-
|
|
14
|
+
/** The `<rui-toaster>` element renders the toast stack, so the view takes no children. */
|
|
15
|
+
export type RuiToasterViewProps = WithoutChildren<JsxCustomElementAttributes<RuiToasterElement, RuiToasterProps>>;
|
|
13
16
|
/**
|
|
14
17
|
* JSX helper around `<rui-toaster>`. Mount once at the app root and drive with
|
|
15
18
|
* `toast()`. See `RuiToasterElement` for the full contract.
|
|
16
19
|
*/
|
|
17
|
-
export declare function RuiToaster(
|
|
20
|
+
export declare function RuiToaster(props: RuiToasterViewProps): import("@ecopages/jsx").JsxRenderable;
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { JsxCustomElementAttributes } from '@ecopages/jsx';
|
|
2
2
|
import type { RuiToc as RuiTocElement, RuiTocProps } from './toc.script';
|
|
3
3
|
import './toc.script';
|
|
4
|
-
|
|
4
|
+
import type { WithoutChildren } from '../../../lib/without-children';
|
|
5
|
+
/** The `<rui-toc>` element renders the jump-link list, so the view takes no children. */
|
|
6
|
+
export type RuiTocViewProps = WithoutChildren<JsxCustomElementAttributes<RuiTocElement, RuiTocProps>>;
|
|
5
7
|
export declare function RuiToc(props: RuiTocViewProps): import("@ecopages/jsx").JsxRenderable;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as G,jsxs as Xt}from"@ecopages/jsx/jsx-runtime";import{RadiantElement as St,bound as Ft,customElement as Yt,onEvent as Z,onUpdated as zt,prop as X,query as Jt}from"@ecopages/radiant";var jt="a[href], button, input, select, textarea, [tabindex]";function Dt(t){return!t.hasAttribute("disabled")&&t.getAttribute("tabindex")!=="-1"}function Pt(t){return Array.from(t.querySelectorAll(jt)).filter(Dt)}function lt(t){return Pt(t)[0]}var Lt=/^[A-Za-z][A-Za-z0-9_-]*$/;function ct(t){return Lt.test(t)}function Mt(t){let e=t.trim();if(ct(e))return e;let i=`rui-${e}`;return e&&ct(i)?i:"rui"}function ut(t){let e=typeof crypto.randomUUID=="function"?crypto.randomUUID().replace(/-/g,""):Array.from(crypto.getRandomValues(new Uint8Array(16)),i=>i.toString(16).padStart(2,"0")).join("");return`${Mt(t)}-${e}`}var Wt={top:"bottom",bottom:"top",left:"right",right:"left"},Rt=8,K=new WeakMap;function kt(t){K.has(t)&&(t.style.width="",t.style.minWidth="",t.style.maxWidth="",t.style.boxSizing="",K.delete(t))}function $t(t){let e=t.indexOf("-");if(e===-1)return{side:t,align:"center"};let i=t.slice(0,e),a=t.slice(e+1);return{side:i,align:a==="start"||a==="end"?a:"center"}}function pt(t){return t==="top"||t==="bottom"?"y":"x"}function dt(t,e,i,a,r){let{width:s,height:o}=e,n=0,d=0;switch(i){case"top":d=t.top-o-r;break;case"bottom":d=t.bottom+r;break;case"left":n=t.left-s-r;break;case"right":n=t.right+r;break}return pt(i)==="y"?a==="start"?n=t.left:a==="end"?n=t.right-s:n=t.left+(t.width-s)/2:a==="start"?d=t.top:a==="end"?d=t.bottom-o:d=t.top+(t.height-o)/2,{x:n,y:d}}function Ut(t,e,i,a){let{padding:r,width:s,height:o}=a;return i==="top"?Math.max(0,r-t.y):i==="bottom"?Math.max(0,t.y+e.height-(o-r)):i==="left"?Math.max(0,r-t.x):Math.max(0,t.x+e.width-(s-r))}function ht(t,e,i,a){let{padding:r,width:s,height:o}=a;return i==="top"?t.top-r-e.height:i==="bottom"?o-r-e.height-t.bottom:i==="left"?t.left-r-e.width:s-r-e.width-t.right}function qt(t,e){return e==="center"?t:`${t}-${e}`}function Vt(t,e,i,a){let{padding:r,width:s,height:o}=a;if(pt(i)==="y"){let d=Math.max(r,s-r-e.width);return{x:Math.min(Math.max(t.x,r),d),y:Math.max(r,t.y)}}let n=Math.max(r,o-r-e.height);return{x:Math.max(r,t.x),y:Math.min(Math.max(t.y,r),n)}}function Ht(t,e,i,a,r={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:Rt}){let{side:s,align:o}=$t(i),n=dt(t,e,s,o,a),d=Ut(n,e,s,r),y=s,E=n;if(d>0){let A=Wt[s],S=dt(t,e,A,o,a),j=ht(t,e,s,r);ht(t,e,A,r)>j&&(y=A,E=S)}return{coords:Vt(E,e,y,r),placement:qt(y,o)}}function B(t,e,i,a,r={}){let s=r.matchAnchorWidth===!0,o=t.offsetWidth,n=s?{width:o,height:e.offsetHeight}:{width:e.offsetWidth,height:e.offsetHeight};s?(e.style.width=`${o}px`,e.style.minWidth=`${o}px`,e.style.maxWidth=`${o}px`,e.style.boxSizing="border-box",K.set(e,!0)):kt(e);let{coords:d,placement:y}=Ht(t.getBoundingClientRect(),n,i,a);return Object.assign(e.style,{position:"fixed",left:`${d.x}px`,top:`${d.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),e.setAttribute("data-placement",y),y}function ft({anchor:t,floating:e,getPlacement:i,gap:a,matchAnchorWidth:r}){let s=()=>{e.hidden||B(t,e,i(),a,{matchAnchorWidth:r})};s(),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0);let o=new ResizeObserver(s);return o.observe(t),o.observe(e),()=>{window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),o.disconnect()}}var mt,gt,yt,bt,wt,vt,xt,Tt,_t,Et;function Kt(t,e,i,a,r,s){var o,n,d,y,E,A,S,j=Symbol.metadata||Symbol.for("Symbol.metadata"),R=Object.defineProperty,k=Object.create,z=[k(null),k(null)],J=e.length;function D(l,b,m){return function(c,u){b&&(u=c,c=t);for(var w=0;w<l.length;w++)u=l[w].apply(c,m?[u]:[]);return m?u:c}}function T(l,b,m,c){if(typeof l!="function"&&(c||l!==void 0))throw new TypeError(b+" must "+(m||"be")+" a function"+(c?"":" or undefined"));return l}function Q(l,b,m,c,u,w,F,g,v,x,tt){function $(p){if(!tt(p))throw new TypeError("Attempted to access private element on non-instance")}var U=[].concat(b[0]),et=b[3],q=!F,I=u===1,it=u===3,rt=u===4,P=u===2;function L(p,O,st){return function(W,at){return O&&(at=W,W=l),st&&st(W),h[p].call(W,at)}}if(!q){var h={},V=[],_=it?"get":rt||I?"set":"value";if(v?(x||I?h={get:At(function(){return et(this)},c,"get"),set:function(p){b[4](this,p)}}:h[_]=et,x||At(h[_],c,P?"":_)):x||(h=Object.getOwnPropertyDescriptor(l,c)),!x&&!v){if((n=z[+g][c])&&(n^u)!==7)throw Error("Decorating two elements with the same name ("+h[_].name+") is not supported yet");z[+g][c]=u<3?1:u}}for(var f=l,M=U.length-1;M>=0;M-=m?2:1){var nt=T(U[M],"A decorator","be",!0),ot=m?U[M-1]:void 0,H={},C={kind:["field","accessor","method","getter","setter","class"][u],name:c,metadata:o,addInitializer:function(p,O){if(p.v)throw new TypeError("attempted to call addInitializer after decoration was finished");T(O,"An initializer","be",!0),w.push(O)}.bind(null,H)};if(q)n=nt.call(ot,f,C),H.v=1,T(n,"class decorators","return")&&(f=n);else if(C.static=g,C.private=v,n=C.access={has:v?tt.bind():function(p){return c in p}},rt||(n.get=v?P?function(p){return $(p),h.value}:L("get",0,$):function(p){return p[c]}),P||it||(n.set=v?L("set",0,$):function(p,O){p[c]=O}),f=nt.call(ot,I?{get:h.get,set:h.set}:h[_],C),H.v=1,I){if(typeof f=="object"&&f)(n=T(f.get,"accessor.get"))&&(h.get=n),(n=T(f.set,"accessor.set"))&&(h.set=n),(n=T(f.init,"accessor.init"))&&V.unshift(n);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else T(f,(x?"field":"method")+" decorators","return")&&(x?V.unshift(f):h[_]=f)}return u<2&&F.push(D(V,g,1),D(w,g,0)),x||q||(v?I?F.splice(-1,0,L("get",g),L("set",g)):F.push(P?h[_]:T.call.bind(h[_])):R(l,c,h)),f}function N(l){return R(l,j,{configurable:!0,enumerable:!0,value:o})}return s!==void 0&&(o=s[j]),o=k(o??null),E=[],A=function(l){l&&E.push(D(l))},S=function(l,b){for(var m=0;m<i.length;m++){var c=i[m],u=c[1],w=7&u;if((8&u)==l&&!w==b){var F=c[2],g=!!c[3],v=16&u;Q(l?t:t.prototype,c,v,g?"#"+F:Bt(F),w,w<2?[]:l?y=y||[]:d=d||[],E,!!l,g,b,l&&g?function(x){return Zt(x)===t}:r)}}},S(8,0),S(0,0),S(8,1),S(0,1),A(d),A(y),n=E,J||N(t),{e:n,get c(){var l=[];return J&&[N(t=Q(t,[e],a,t.name,5,l)),D(l,1)]}}}function Bt(t){var e=Gt(t,"string");return typeof e=="symbol"?e:e+""}function Gt(t,e){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var a=i.call(t,e||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function At(t,e,i){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:i?i+" "+e:e})}catch{}return t}function Zt(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(t!==null?typeof t:"null"));return t}var Ot=8,Ct,It=class extends St{static{({e:[yt,bt,wt,vt,xt,Tt,_t,Et,mt],c:[Ct,gt]}=Kt(this,[Yt("rui-tooltip")],[[X({type:String,defaultValue:""}),0,"content"],[X({type:String,defaultValue:"top"}),0,"placement"],[X({type:Number,defaultValue:200}),0,"delay"],[Jt({ref:"tooltip"}),0,"tooltipTarget"],[zt(["content","placement"]),2,"onDescribedPropsUpdated"],[Z({document:!0,type:"keydown"}),2,"onDocumentKeydown"],[Z({type:"focusin",ref:"trigger"}),2,"onFocusIn"],[Z({type:"focusout",ref:"trigger"}),2,"onFocusOut"],[Ft,2,"onPointerEnter"],[Ft,2,"onPointerLeave"]],0,void 0,St))}content=(mt(this),yt(this));placement=(bt(this),wt(this));delay=(vt(this),xt(this));tooltipTarget=(Tt(this),_t(this));open=(Et(this),!1);showTimer=null;hideTimer=null;tooltipId=ut("rui-tooltip");describedEl=null;cleanupFloating=null;connectedCallback(){super.connectedCallback(),this.addEventListener("pointerenter",this.onPointerEnter),this.addEventListener("pointerleave",this.onPointerLeave),queueMicrotask(()=>this.wireTrigger())}disconnectedCallback(){this.clearTimers(),this.teardownFloating(),this.removeEventListener("pointerenter",this.onPointerEnter),this.removeEventListener("pointerleave",this.onPointerLeave),this.describedEl?.removeAttribute("aria-describedby"),super.disconnectedCallback()}clearTimers(){this.showTimer&&clearTimeout(this.showTimer),this.hideTimer&&clearTimeout(this.hideTimer),this.showTimer=null,this.hideTimer=null}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}getAnchor(){return lt(this)??this}wireTrigger(){this.describedEl?.removeAttribute("aria-describedby"),this.describedEl=this.getAnchor(),this.tooltipTarget&&(this.tooltipTarget.id=this.tooltipId),this.describedEl.setAttribute("aria-describedby",this.tooltipId)}attachFloating(){this.tooltipTarget&&(this.teardownFloating(),this.cleanupFloating=ft({anchor:this.getAnchor(),floating:this.tooltipTarget,getPlacement:()=>this.placement,gap:Ot}))}onDescribedPropsUpdated(){this.wireTrigger(),this.open&&this.tooltipTarget&&B(this.getAnchor(),this.tooltipTarget,this.placement,Ot)}setOpen(e){this.clearTimers(),this.open=e,this.tooltipTarget&&(this.tooltipTarget.hidden=!e,e?this.attachFloating():this.teardownFloating())}scheduleShow(){if(this.clearTimers(),this.delay<=0){this.setOpen(!0);return}this.showTimer=setTimeout(()=>this.setOpen(!0),this.delay)}scheduleHide(){this.clearTimers(),this.hideTimer=setTimeout(()=>this.setOpen(!1),80)}onDocumentKeydown(e){!this.open||e.key!=="Escape"||this.setOpen(!1)}onFocusIn(){this.scheduleShow()}onFocusOut(e){let i=e.relatedTarget;i&&this.contains(i)||this.scheduleHide()}onPointerEnter(){this.scheduleShow()}onPointerLeave(){this.scheduleHide()}render(){return Xt("span",{class:"rui-tooltip",children:[G("span",{class:"rui-tooltip__trigger","data-ref":"trigger",children:G("slot",{})}),G("span",{"data-ref":"tooltip",id:this.tooltipId,class:"rui-tooltip__content rui-floating",role:"tooltip",hidden:!0,children:this.$.content})]})}static{gt()}};import{jsx as Y,jsxs as Qt}from"@ecopages/jsx/jsx-runtime";function Nt({children:t,content:e="",...i}){return Y("rui-tooltip",{content:e,...i,children:Qt("span",{class:"rui-tooltip",children:[Y("span",{class:"rui-tooltip__trigger","data-ref":"trigger",children:t}),Y("span",{class:"rui-tooltip__content rui-floating","data-ref":"tooltip",role:"tooltip",hidden:!0,children:e})]})})}export{Nt as RuiTooltip,Ct as RuiTooltipElement};
|
|
1
|
+
import{RadiantElement as At,bindTo as Zt,bound as St,customElement as Xt,onEvent as G,onUpdated as Yt,prop as Z,query as zt}from"@ecopages/radiant";var Ct="a[href], button, input, select, textarea, [tabindex]";function Dt(t){return!t.hasAttribute("disabled")&&t.getAttribute("tabindex")!=="-1"}function Pt(t){return Array.from(t.querySelectorAll(Ct)).filter(Dt)}function at(t){return Pt(t)[0]}var Lt=/^[A-Za-z][A-Za-z0-9_-]*$/;function lt(t){return Lt.test(t)}function jt(t){let e=t.trim();if(lt(e))return e;let i=`rui-${e}`;return e&<(i)?i:"rui"}function ct(t){let e=typeof crypto.randomUUID=="function"?crypto.randomUUID().replace(/-/g,""):Array.from(crypto.getRandomValues(new Uint8Array(16)),i=>i.toString(16).padStart(2,"0")).join("");return`${jt(t)}-${e}`}var Mt={top:"bottom",bottom:"top",left:"right",right:"left"},Wt=8,K=new WeakMap;function Rt(t){K.has(t)&&(t.style.width="",t.style.minWidth="",t.style.maxWidth="",t.style.boxSizing="",K.delete(t))}function kt(t){let e=t.indexOf("-");if(e===-1)return{side:t,align:"center"};let i=t.slice(0,e),a=t.slice(e+1);return{side:i,align:a==="start"||a==="end"?a:"center"}}function ht(t){return t==="top"||t==="bottom"?"y":"x"}function ut(t,e,i,a,r){let{width:s,height:o}=e,n=0,d=0;switch(i){case"top":d=t.top-o-r;break;case"bottom":d=t.bottom+r;break;case"left":n=t.left-s-r;break;case"right":n=t.right+r;break}return ht(i)==="y"?a==="start"?n=t.left:a==="end"?n=t.right-s:n=t.left+(t.width-s)/2:a==="start"?d=t.top:a==="end"?d=t.bottom-o:d=t.top+(t.height-o)/2,{x:n,y:d}}function $t(t,e,i,a){let{padding:r,width:s,height:o}=a;return i==="top"?Math.max(0,r-t.y):i==="bottom"?Math.max(0,t.y+e.height-(o-r)):i==="left"?Math.max(0,r-t.x):Math.max(0,t.x+e.width-(s-r))}function dt(t,e,i,a){let{padding:r,width:s,height:o}=a;return i==="top"?t.top-r-e.height:i==="bottom"?o-r-e.height-t.bottom:i==="left"?t.left-r-e.width:s-r-e.width-t.right}function Ut(t,e){return e==="center"?t:`${t}-${e}`}function qt(t,e,i,a){let{padding:r,width:s,height:o}=a;if(ht(i)==="y"){let d=Math.max(r,s-r-e.width);return{x:Math.min(Math.max(t.x,r),d),y:Math.max(r,t.y)}}let n=Math.max(r,o-r-e.height);return{x:Math.max(r,t.x),y:Math.min(Math.max(t.y,r),n)}}function Vt(t,e,i,a,r={width:typeof window>"u"?0:window.innerWidth,height:typeof window>"u"?0:window.innerHeight,padding:Wt}){let{side:s,align:o}=kt(i),n=ut(t,e,s,o,a),d=$t(n,e,s,r),y=s,E=n;if(d>0){let A=Mt[s],S=ut(t,e,A,o,a),D=dt(t,e,s,r);dt(t,e,A,r)>D&&(y=A,E=S)}return{coords:qt(E,e,y,r),placement:Ut(y,o)}}function B(t,e,i,a,r={}){let s=r.matchAnchorWidth===!0,o=t.offsetWidth,n=s?{width:o,height:e.offsetHeight}:{width:e.offsetWidth,height:e.offsetHeight};s?(e.style.width=`${o}px`,e.style.minWidth=`${o}px`,e.style.maxWidth=`${o}px`,e.style.boxSizing="border-box",K.set(e,!0)):Rt(e);let{coords:d,placement:y}=Vt(t.getBoundingClientRect(),n,i,a);return Object.assign(e.style,{position:"fixed",left:`${d.x}px`,top:`${d.y}px`,right:"auto",bottom:"auto",visibility:"visible"}),e.setAttribute("data-placement",y),y}function pt({anchor:t,floating:e,getPlacement:i,gap:a,matchAnchorWidth:r}){let s=()=>{e.hidden||B(t,e,i(),a,{matchAnchorWidth:r})};s(),window.addEventListener("resize",s),window.addEventListener("scroll",s,!0);let o=new ResizeObserver(s);return o.observe(t),o.observe(e),()=>{window.removeEventListener("resize",s),window.removeEventListener("scroll",s,!0),o.disconnect()}}var ft,mt,gt,yt,bt,wt,vt,xt,Tt,_t;function Ht(t,e,i,a,r,s){var o,n,d,y,E,A,S,D=Symbol.metadata||Symbol.for("Symbol.metadata"),R=Object.defineProperty,k=Object.create,Y=[k(null),k(null)],z=e.length;function P(l,b,m){return function(c,u){b&&(u=c,c=t);for(var w=0;w<l.length;w++)u=l[w].apply(c,m?[u]:[]);return m?u:c}}function T(l,b,m,c){if(typeof l!="function"&&(c||l!==void 0))throw new TypeError(b+" must "+(m||"be")+" a function"+(c?"":" or undefined"));return l}function J(l,b,m,c,u,w,F,g,v,x,N){function $(p){if(!N(p))throw new TypeError("Attempted to access private element on non-instance")}var U=[].concat(b[0]),tt=b[3],q=!F,I=u===1,et=u===3,it=u===4,L=u===2;function j(p,O,ot){return function(W,st){return O&&(st=W,W=l),ot&&ot(W),h[p].call(W,st)}}if(!q){var h={},V=[],_=et?"get":it||I?"set":"value";if(v?(x||I?h={get:Et(function(){return tt(this)},c,"get"),set:function(p){b[4](this,p)}}:h[_]=tt,x||Et(h[_],c,L?"":_)):x||(h=Object.getOwnPropertyDescriptor(l,c)),!x&&!v){if((n=Y[+g][c])&&(n^u)!==7)throw Error("Decorating two elements with the same name ("+h[_].name+") is not supported yet");Y[+g][c]=u<3?1:u}}for(var f=l,M=U.length-1;M>=0;M-=m?2:1){var rt=T(U[M],"A decorator","be",!0),nt=m?U[M-1]:void 0,H={},C={kind:["field","accessor","method","getter","setter","class"][u],name:c,metadata:o,addInitializer:function(p,O){if(p.v)throw new TypeError("attempted to call addInitializer after decoration was finished");T(O,"An initializer","be",!0),w.push(O)}.bind(null,H)};if(q)n=rt.call(nt,f,C),H.v=1,T(n,"class decorators","return")&&(f=n);else if(C.static=g,C.private=v,n=C.access={has:v?N.bind():function(p){return c in p}},it||(n.get=v?L?function(p){return $(p),h.value}:j("get",0,$):function(p){return p[c]}),L||et||(n.set=v?j("set",0,$):function(p,O){p[c]=O}),f=rt.call(nt,I?{get:h.get,set:h.set}:h[_],C),H.v=1,I){if(typeof f=="object"&&f)(n=T(f.get,"accessor.get"))&&(h.get=n),(n=T(f.set,"accessor.set"))&&(h.set=n),(n=T(f.init,"accessor.init"))&&V.unshift(n);else if(f!==void 0)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else T(f,(x?"field":"method")+" decorators","return")&&(x?V.unshift(f):h[_]=f)}return u<2&&F.push(P(V,g,1),P(w,g,0)),x||q||(v?I?F.splice(-1,0,j("get",g),j("set",g)):F.push(L?h[_]:T.call.bind(h[_])):R(l,c,h)),f}function Q(l){return R(l,D,{configurable:!0,enumerable:!0,value:o})}return s!==void 0&&(o=s[D]),o=k(o??null),E=[],A=function(l){l&&E.push(P(l))},S=function(l,b){for(var m=0;m<i.length;m++){var c=i[m],u=c[1],w=7&u;if((8&u)==l&&!w==b){var F=c[2],g=!!c[3],v=16&u;J(l?t:t.prototype,c,v,g?"#"+F:Kt(F),w,w<2?[]:l?y=y||[]:d=d||[],E,!!l,g,b,l&&g?function(x){return Gt(x)===t}:r)}}},S(8,0),S(0,0),S(8,1),S(0,1),A(d),A(y),n=E,z||Q(t),{e:n,get c(){var l=[];return z&&[Q(t=J(t,[e],a,t.name,5,l)),P(l,1)]}}}function Kt(t){var e=Bt(t,"string");return typeof e=="symbol"?e:e+""}function Bt(t,e){if(typeof t!="object"||!t)return t;var i=t[Symbol.toPrimitive];if(i!==void 0){var a=i.call(t,e||"default");if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(t)}function Et(t,e,i){typeof e=="symbol"&&(e=(e=e.description)?"["+e+"]":"");try{Object.defineProperty(t,"name",{configurable:!0,value:i?i+" "+e:e})}catch{}return t}function Gt(t){if(Object(t)!==t)throw TypeError("right-hand side of 'in' should be an object, got "+(t!==null?typeof t:"null"));return t}var Ft=8,It,Ot=class extends At{static{({e:[gt,yt,bt,wt,vt,xt,Tt,_t,ft],c:[It,mt]}=Ht(this,[Xt("rui-tooltip")],[[[Zt({ref:"tooltip",text:!0}),Z({type:String,defaultValue:""})],0,"content"],[Z({type:String,defaultValue:"top"}),0,"placement"],[Z({type:Number,defaultValue:200}),0,"delay"],[zt({ref:"tooltip"}),0,"tooltipTarget"],[Yt(["content","placement"]),2,"onDescribedPropsUpdated"],[G({document:!0,type:"keydown"}),2,"onDocumentKeydown"],[G({type:"focusin",ref:"trigger"}),2,"onFocusIn"],[G({type:"focusout",ref:"trigger"}),2,"onFocusOut"],[St,2,"onPointerEnter"],[St,2,"onPointerLeave"]],0,void 0,At))}content=(ft(this),gt(this));placement=(yt(this),bt(this));delay=(wt(this),vt(this));tooltipTarget=(xt(this),Tt(this));open=(_t(this),!1);showTimer=null;hideTimer=null;tooltipId=ct("rui-tooltip");describedEl=null;cleanupFloating=null;connectedCallback(){super.connectedCallback(),this.addEventListener("pointerenter",this.onPointerEnter),this.addEventListener("pointerleave",this.onPointerLeave),queueMicrotask(()=>this.wireTrigger())}disconnectedCallback(){this.clearTimers(),this.teardownFloating(),this.removeEventListener("pointerenter",this.onPointerEnter),this.removeEventListener("pointerleave",this.onPointerLeave),this.describedEl?.removeAttribute("aria-describedby"),super.disconnectedCallback()}clearTimers(){this.showTimer&&clearTimeout(this.showTimer),this.hideTimer&&clearTimeout(this.hideTimer),this.showTimer=null,this.hideTimer=null}teardownFloating(){this.cleanupFloating?.(),this.cleanupFloating=null}getAnchor(){return at(this)??this}wireTrigger(){this.describedEl?.removeAttribute("aria-describedby"),this.describedEl=this.getAnchor(),this.tooltipTarget&&(this.tooltipTarget.id=this.tooltipId),this.describedEl.setAttribute("aria-describedby",this.tooltipId)}attachFloating(){this.tooltipTarget&&(this.teardownFloating(),this.cleanupFloating=pt({anchor:this.getAnchor(),floating:this.tooltipTarget,getPlacement:()=>this.placement,gap:Ft}))}onDescribedPropsUpdated(){this.wireTrigger(),this.open&&this.tooltipTarget&&B(this.getAnchor(),this.tooltipTarget,this.placement,Ft)}setOpen(e){this.clearTimers(),this.open=e,this.tooltipTarget&&(this.tooltipTarget.hidden=!e,e?this.attachFloating():this.teardownFloating())}scheduleShow(){if(this.clearTimers(),this.delay<=0){this.setOpen(!0);return}this.showTimer=setTimeout(()=>this.setOpen(!0),this.delay)}scheduleHide(){this.clearTimers(),this.hideTimer=setTimeout(()=>this.setOpen(!1),80)}onDocumentKeydown(e){!this.open||e.key!=="Escape"||this.setOpen(!1)}onFocusIn(){this.scheduleShow()}onFocusOut(e){let i=e.relatedTarget;i&&this.contains(i)||this.scheduleHide()}onPointerEnter(){this.scheduleShow()}onPointerLeave(){this.scheduleHide()}static{mt()}};import{jsx as X,jsxs as Jt}from"@ecopages/jsx/jsx-runtime";function Qt({children:t,content:e="",...i}){return X("rui-tooltip",{content:e,...i,children:Jt("span",{class:"rui-tooltip",children:[X("span",{class:"rui-tooltip__trigger","data-ref":"trigger",children:t}),X("span",{class:"rui-tooltip__content rui-floating","data-ref":"tooltip",role:"tooltip",hidden:!0,children:e})]})})}export{Qt as RuiTooltip,It as RuiTooltipElement};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|