kitzo 2.2.11 → 2.2.13

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.
@@ -321,7 +321,7 @@ toast.update = function (id, content) {
321
321
  };
322
322
  var loading = function loading(content) {
323
323
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
324
- notify(createToast('loading', content, _objectSpread2(_objectSpread2({}, options), {}, {
324
+ notify(createToast('loading', 'add', content, _objectSpread2(_objectSpread2({}, options), {}, {
325
325
  duration: Infinity
326
326
  })));
327
327
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/kitzo/ui/toast/triggerToast.js","../../src/kitzo/ui/toast/manageToasts.js","../../src/kitzo/ui/toast/Svgs.jsx","../../src/kitzo/ui/toast/Toast.jsx","../../src/kitzo/ui/toast/Toaster.jsx","../../src/kitzo/ui/tooltip/Tooltip.jsx","../../src/kitzo/hooks/useDebounce.jsx","../../src/kitzo/hooks/useWindowSize.jsx"],"sourcesContent":["const toastStyles = `.kitzo-toast-container {\r\n --normal-bg: hsl(0, 0%, 100%);\r\n --normal-text: hsl(0, 0%, 10%);\r\n --normal-border: hsl(0, 0%, 94%);\r\n\r\n --success-bg: var(--normal-bg);\r\n --success-text: var(--normar-text);\r\n --success-border: var(--normal-border);\r\n --success-svg-bg: var(--normal-text);\r\n\r\n --error-bg: var(--normal-bg);\r\n --error-text: var(--normar-text);\r\n --error-border: var(--normal-border);\r\n --error-svg-bg: var(--normal-text);\r\n\r\n --info-bg: var(--normal-bg);\r\n --info-text: var(--normar-text);\r\n --info-border: var(--normal-border);\r\n --info-svg-bg: var(--normal-text);\r\n\r\n --loader-stroke: hsl(0, 0%, 50%);\r\n --loader-bg: hsl(0, 0%, 80%);\r\n}\r\n\r\n.kitzo-toast-container.kitzo-toast-dark {\r\n --normal-bg: hsl(0, 0%, 15%);\r\n --normal-text: hsl(0, 0%, 95%);\r\n --normal-border: hsl(0, 0%, 17%);\r\n\r\n --success-bg: var(--normal-bg);\r\n --success-text: var(--normar-text);\r\n --success-border: var(--normal-border);\r\n --success-svg-bg: var(--normal-text);\r\n\r\n --error-bg: var(--normal-bg);\r\n --error-text: var(--normar-text);\r\n --error-border: var(--normal-border);\r\n --error-svg-bg: var(--normal-text);\r\n\r\n --info-bg: var(--normal-bg);\r\n --info-text: var(--normar-text);\r\n --info-border: var(--normal-border);\r\n --info-svg-bg: var(--normal-text);\r\n\r\n --loader-stroke: hsl(0, 0%, 80%);\r\n --loader-bg: hsl(0, 0%, 50%);\r\n}\r\n\r\n.kitzo-toast-container.kitzo-toast-rich-colors {\r\n --success-bg: hsl(152, 65%, 95%);\r\n --success-text: hsl(142, 98%, 30%);\r\n --success-border: hsl(142, 100%, 93%);\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n\r\n --error-bg: hsl(0, 65%, 95%);\r\n --error-text: hsl(6, 98%, 40%);\r\n --error-border: hsl(0, 100%, 94%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n\r\n --info-bg: hsl(210, 65%, 95%);\r\n --info-text: hsl(210, 100%, 20%);\r\n --info-border: hsl(210, 100%, 94%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\r\n}\r\n\r\n.kitzo-toast-container.kitzo-toast-rich-colors.kitzo-toast-dark {\r\n --success-bg: hsl(152, 65%, 15%);\r\n --success-text: hsl(142, 98%, 70%);\r\n --success-border: hsl(142, 100%, 15%);\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n\r\n --error-bg: hsl(0, 65%, 15%);\r\n --error-text: hsl(6, 98%, 70%);\r\n --error-border: hsl(0, 100%, 15%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n\r\n --info-bg: hsl(210, 65%, 15%);\r\n --info-text: hsl(210, 100%, 70%);\r\n --info-border: hsl(210, 100%, 16%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\r\n}\r\n\r\n.kitzo-toast {\r\n font-family: inherit;\r\n font-size: 0.875rem;\r\n transition: 260ms;\r\n}\r\n\r\n/*! toast transition styles */\r\n.kitzo-toast.pos-y-top {\r\n transform-origin: top;\r\n}\r\n.kitzo-toast.pos-y-bottom {\r\n transform-origin: bottom;\r\n}\r\n\r\n.kitzo-toast.type-normal {\r\n background-color: var(--normal-bg);\r\n color: var(--normal-text);\r\n border: 1px solid var(--normal-border);\r\n}\r\n.kitzo-toast.type-loading {\r\n background-color: var(--normal-bg);\r\n color: var(--normal-text);\r\n border: 1px solid var(--normal-border);\r\n}\r\n\r\n.kitzo-toast.type-success {\r\n background-color: var(--success-bg);\r\n color: var(--success-text);\r\n border: 1px solid var(--success-border);\r\n}\r\n\r\n.kitzo-toast.type-error {\r\n background-color: var(--error-bg);\r\n color: var(--error-text);\r\n border: 1px solid var(--error-border);\r\n}\r\n\r\n.kitzo-toast.type-info {\r\n background-color: var(--info-bg);\r\n color: var(--info-text);\r\n border: 1px solid var(--info-border);\r\n}\r\n\r\n.kitzo-toast.type-normal,\r\n.kitzo-toast.type-loading,\r\n.kitzo-toast.type-success,\r\n.kitzo-toast.type-error,\r\n.kitzo-toast.type-info {\r\n border-radius: 0.425rem;\r\n padding: 0.325rem 0.5rem;\r\n box-shadow: 0 3px 8px -3px hsl(0, 0%, 0%, 0.15);\r\n}\r\n\r\n.kitzo-toast.status-entering.pos-y-top {\r\n opacity: 0;\r\n transform: translateY(-120%) scale(0.2);\r\n}\r\n\r\n.kitzo-toast.status-visible.pos-y-top {\r\n opacity: 1;\r\n transform: translateY(0) scale(1);\r\n}\r\n\r\n.kitzo-toast.status-leaving.pos-y-top {\r\n opacity: 0;\r\n transform: translateY(-120%) scale(0.2);\r\n}\r\n\r\n.kitzo-toast.status-entering.pos-y-bottom {\r\n opacity: 0;\r\n transform: translateY(120%) scale(0.2);\r\n}\r\n\r\n.kitzo-toast.status-visible.pos-y-bottom {\r\n opacity: 1;\r\n transform: translateY(0) scale(1);\r\n}\r\n\r\n.kitzo-toast.status-leaving.pos-y-bottom {\r\n opacity: 0;\r\n transform: translateY(120%) scale(0.2);\r\n}\r\n\r\n.action-update {\r\n animation: update 150ms;\r\n}\r\n\r\n@keyframes update {\r\n 0% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n/*! svg stylings */\r\n.svg-container {\r\n display: grid;\r\n place-items: center;\r\n border-radius: 10rem;\r\n color: white;\r\n height: 18px;\r\n width: 18px;\r\n position: relative;\r\n overflow: hidden;\r\n\r\n scale: 1.1;\r\n animation: svg-container-animation 400ms ease-in-out forwards;\r\n\r\n svg {\r\n width: 12px;\r\n height: 12px;\r\n stroke-width: 4px;\r\n display: inline-block;\r\n }\r\n}\r\n\r\n.svg-container.success {\r\n background-color: var(--success-svg-bg);\r\n}\r\n.svg-container.error {\r\n background-color: var(--error-svg-bg);\r\n\r\n svg {\r\n scale: 0;\r\n animation: error-svg-zoom-in 170ms 130ms forwards;\r\n }\r\n}\r\n\r\n.svg-container.info {\r\n background-color: var(--info-svg-bg);\r\n animation: info-svg-bell 400ms 200ms;\r\n\r\n svg {\r\n width: 14px;\r\n height: 14px;\r\n color: white;\r\n }\r\n}\r\n\r\n.svg-container.success::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n z-index: 5;\r\n border-radius: 10rem;\r\n background-color: var(--success-svg-bg);\r\n animation: success-container-before-animation 250ms 150ms forwards;\r\n}\r\n\r\n@keyframes svg-container-animation {\r\n 0% {\r\n scale: 1;\r\n }\r\n 50% {\r\n scale: 1.15;\r\n }\r\n 100% {\r\n scale: 1;\r\n }\r\n}\r\n\r\n@keyframes success-container-before-animation {\r\n from {\r\n translate: 0 0;\r\n }\r\n to {\r\n translate: 100% -50%;\r\n }\r\n}\r\n\r\n@keyframes error-svg-zoom-in {\r\n from {\r\n scale: 0;\r\n }\r\n to {\r\n scale: 1;\r\n }\r\n}\r\n\r\n@keyframes info-svg-bell {\r\n 0% {\r\n transform: rotate(0);\r\n }\r\n 25% {\r\n transform: rotate(15deg);\r\n }\r\n 75% {\r\n transform: rotate(-15deg);\r\n }\r\n 100% {\r\n transform: rotate(0);\r\n }\r\n}\r\n\r\n.promise-svg-container {\r\n width: 20px;\r\n height: 20px;\r\n display: grid;\r\n place-items: center;\r\n\r\n .loader {\r\n width: 14px;\r\n height: 14px;\r\n background-image: conic-gradient(\r\n var(--loader-stroke) 0 25%,\r\n var(--loader-bg) 0 100%\r\n );\r\n border-radius: 10rem;\r\n position: relative;\r\n animation: rotate-infinity 1000ms linear infinite;\r\n }\r\n .loader::before {\r\n content: '';\r\n position: absolute;\r\n inset: 2px;\r\n border-radius: inherit;\r\n background-color: var(--normal-bg);\r\n }\r\n}\r\n\r\n@keyframes rotate-infinity {\r\n to {\r\n rotate: 360deg;\r\n }\r\n}\r\n`;\r\n\r\nconst listeners = new Set();\r\n\r\nexport function subscribe(fn) {\r\n if (!document.getElementById('kitzo-toast-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-toast-styles';\r\n styleTag.textContent = toastStyles;\r\n document.head.appendChild(styleTag);\r\n }\r\n\r\n listeners.add(fn);\r\n return () => listeners.delete(fn);\r\n}\r\n\r\nfunction notify(toast) {\r\n listeners.forEach((fn) => fn(toast));\r\n}\r\n\r\nconst DEFAULTS = {\r\n duration: 2800,\r\n showIcon: true,\r\n};\r\n\r\nlet uid = 0;\r\nconst genId = () => crypto.randomUUID?.() ?? `kitzo_toast_id_${++uid}`;\r\n\r\nlet zIndex = 1;\r\n\r\nfunction createToast(type, action, content, options = {}) {\r\n const opts = typeof options === 'object' && options !== null ? options : {};\r\n\r\n return {\r\n id: opts.id ?? genId(),\r\n type,\r\n zIndex: ++zIndex,\r\n render: content,\r\n duration: opts.duration ?? DEFAULTS.duration,\r\n showIcon: opts.showIcon ?? DEFAULTS.showIcon,\r\n action,\r\n ...opts,\r\n };\r\n}\r\n\r\nfunction toast(content, options) {\r\n if (content == null) return;\r\n notify(createToast('normal', 'add', content, options));\r\n}\r\n\r\ntoast.success = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('success', 'add', content, options));\r\n};\r\n\r\ntoast.error = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('error', 'add', content, options));\r\n};\r\n\r\ntoast.info = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('info', 'add', content, options));\r\n};\r\n\r\ntoast.custom = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('custom', 'add', content, options));\r\n};\r\n\r\ntoast.dismiss = (id) => {\r\n notify({ action: 'dismiss', id });\r\n};\r\n\r\ntoast.update = (id, content, options = {}) => {\r\n if (!id) return;\r\n notify(createToast('custom', 'update', content, { ...options, id }));\r\n};\r\n\r\nconst loading = (content, options = {}) => {\r\n notify(\r\n createToast('loading', content, {\r\n ...options,\r\n duration: Infinity,\r\n }),\r\n );\r\n};\r\n\r\ntoast.promise = (promise, handlers, options = {}) => {\r\n if (!promise) return;\r\n if (!handlers) return;\r\n if (!handlers.loading) return;\r\n if (!handlers.success) return;\r\n if (!handlers.error) return;\r\n\r\n const id = options.id ?? genId();\r\n\r\n loading(handlers.loading, { ...options, id, duration: Infinity });\r\n\r\n promise\r\n .then(async (result) => {\r\n const successContent =\r\n typeof handlers.success === 'function'\r\n ? await handlers.success(result)\r\n : handlers.success;\r\n\r\n toast.update(id, await successContent, {\r\n type: 'success',\r\n duration: options.duration ?? 2800,\r\n });\r\n return result;\r\n })\r\n .catch(async (error) => {\r\n const errorContent =\r\n typeof handlers.error === 'function'\r\n ? await handlers.error(error)\r\n : handlers.error;\r\n\r\n toast.update(id, errorContent, {\r\n type: 'error',\r\n duration: options.duration ?? 3800,\r\n });\r\n throw error;\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nexport default toast;\r\n","const timeouts = new Map();\r\n\r\nconst LEAVE_DELAY = 600;\r\nconst MIN_VISIBLE = 700;\r\n\r\nfunction clearToastTimers(id) {\r\n const t = timeouts.get(id);\r\n\r\n if (!t) return;\r\n clearTimeout(t.leaving);\r\n clearTimeout(t.left);\r\n timeouts.delete(id);\r\n}\r\n\r\nfunction getDurations(duration) {\r\n const d = Number(duration);\r\n if (!isFinite(d)) return null;\r\n\r\n const visible = Math.max(MIN_VISIBLE, d);\r\n\r\n return {\r\n leaving: visible,\r\n left: visible + LEAVE_DELAY,\r\n };\r\n}\r\n\r\nfunction armToastTimers(toast, setToasts) {\r\n const durations = getDurations(toast.duration);\r\n if (!durations) return;\r\n\r\n clearToastTimers(toast.id);\r\n\r\n const leaving = setTimeout(() => {\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === toast.id ? { ...t, status: 'leaving' } : t)),\r\n );\r\n }, durations.leaving);\r\n\r\n const left = setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.id !== toast.id));\r\n timeouts.delete(toast.id);\r\n }, durations.left);\r\n\r\n timeouts.set(toast.id, { leaving, left });\r\n}\r\n\r\nfunction manageToasts(toast, setToasts) {\r\n // dismiss\r\n if (toast.action === 'dismiss') {\r\n if (!toast.id) {\r\n setToasts((prev) => prev.map((t) => ({ ...t, status: 'leaving' })));\r\n\r\n setTimeout(() => {\r\n setToasts([]);\r\n }, LEAVE_DELAY);\r\n\r\n timeouts.forEach(({ leaving, left }) => {\r\n clearTimeout(leaving);\r\n clearTimeout(left);\r\n });\r\n timeouts.clear();\r\n return;\r\n }\r\n\r\n clearToastTimers(toast.id);\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === toast.id ? { ...t, status: 'leaving' } : t)),\r\n );\r\n setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.id !== toast.id));\r\n }, LEAVE_DELAY);\r\n return;\r\n }\r\n\r\n // update\r\n if (toast.action === 'update') {\r\n setToasts((prev) => {\r\n const prevToast = prev.find((t) => t.id === toast.id);\r\n if (!prevToast) return prev;\r\n if (prevToast.type !== 'custom' && prevToast.type !== 'loading')\r\n return prev;\r\n return prev.map((t) =>\r\n t.id === toast.id ? { ...t, ...toast, status: 'visible' } : t,\r\n );\r\n });\r\n armToastTimers(toast, setToasts);\r\n return;\r\n }\r\n\r\n // add\r\n const enteringToast = { ...toast, status: 'entering' };\r\n setToasts((prev) => {\r\n const prevToast = prev.find((t) => t.id === enteringToast.id);\r\n if (prevToast) return prev;\r\n return [enteringToast, ...prev];\r\n });\r\n\r\n requestAnimationFrame(() => {\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === toast.id ? { ...t, status: 'visible' } : t)),\r\n );\r\n });\r\n\r\n armToastTimers(enteringToast, setToasts);\r\n}\r\n\r\nexport default manageToasts;\r\n","export function SuccessSvg() {\r\n return (\r\n <div className=\"svg-container success\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n >\r\n <path d=\"M20 6 9 17l-5-5\" />\r\n </svg>\r\n </div>\r\n );\r\n}\r\nexport function ErrorSvg() {\r\n return (\r\n <div className=\"svg-container error\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n >\r\n <path d=\"M18 6 6 18\" />\r\n <path d=\"m6 6 12 12\" />\r\n </svg>\r\n </div>\r\n );\r\n}\r\nexport function LoadingSvg() {\r\n return (\r\n <div className=\"promise-svg-container\">\r\n <div className=\"loader\"></div>\r\n </div>\r\n );\r\n}\r\nexport function InfoSvg() {\r\n return (\r\n <div className=\"svg-container info\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n width=\"16\"\r\n height=\"16\"\r\n fill=\"currentColor\"\r\n >\r\n <path d=\"M12 6C12.8284 6 13.5 5.32843 13.5 4.5C13.5 3.67157 12.8284 3 12 3C11.1716 3 10.5 3.67157 10.5 4.5C10.5 5.32843 11.1716 6 12 6ZM9 10H11V18H9V20H15V18H13V8H9V10Z\"></path>\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","import { useLayoutEffect, useRef } from 'react';\r\nimport { ErrorSvg, InfoSvg, LoadingSvg, SuccessSvg } from './Svgs';\r\nimport toast from './triggerToast';\r\n\r\nexport default function Toast({ t, containerPosition, gap, setToasts }) {\r\n const { id, type, render, action, status } = t;\r\n\r\n const ref = useRef(null);\r\n\r\n useLayoutEffect(() => {\r\n if (!ref.current) return;\r\n\r\n const g =\r\n typeof gap === 'number'\r\n ? gap\r\n : Number.isFinite(Number(gap))\r\n ? Number(gap)\r\n : 8;\r\n\r\n const el = ref.current;\r\n\r\n const observer = new ResizeObserver(() => {\r\n const height = el.offsetHeight + g;\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === id ? { ...t, height } : t)),\r\n );\r\n });\r\n\r\n observer.observe(el);\r\n\r\n return () => observer.disconnect();\r\n }, []);\r\n\r\n const allowedPositions = [\r\n 'top-left',\r\n 'top-center',\r\n 'top-right',\r\n 'bottom-left',\r\n 'bottom-center',\r\n 'bottom-right',\r\n ];\r\n const userPosition = t.position || containerPosition;\r\n const position = allowedPositions.includes(userPosition)\r\n ? userPosition\r\n : 'top-center';\r\n\r\n return (\r\n <div ref={ref} style={getToastStyles(t, position)}>\r\n <div\r\n style={{\r\n pointerEvents: 'all',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: 8,\r\n }}\r\n className={`kitzo-toast type-${type} action-${action} status-${status} pos-y-${position.split('-')[0]} pos-x-${position.split('-')[1]} `}\r\n >\r\n {t.showIcon && type !== 'normal' && type !== 'custom' && (\r\n <div\r\n style={{\r\n flexShrink: 0,\r\n }}\r\n >\r\n {type === 'loading' && <LoadingSvg />}\r\n {type === 'success' && <SuccessSvg />}\r\n {type === 'error' && <ErrorSvg />}\r\n {type === 'info' && <InfoSvg />}\r\n </div>\r\n )}\r\n\r\n <div\r\n style={{\r\n flex: 1,\r\n }}\r\n >\r\n {typeof render === 'function'\r\n ? render(() => toast.dismiss(id))\r\n : render}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getToastStyles(t, position) {\r\n const styles = {\r\n position: 'absolute',\r\n zIndex: t.zIndex,\r\n left: 0,\r\n width: '100%',\r\n transition: 'transform 300ms',\r\n display: 'flex',\r\n };\r\n\r\n const transform = position.includes('top')\r\n ? `translateY(${t.distance || 0}px)`\r\n : `translateY(-${t.distance || 0}px)`;\r\n const justifyContent = position.includes('left')\r\n ? 'flex-start'\r\n : position.includes('center')\r\n ? 'center'\r\n : 'flex-end';\r\n\r\n styles.transform = transform;\r\n styles.justifyContent = justifyContent;\r\n if (position.includes('top')) styles.top = 0;\r\n if (position.includes('bottom')) styles.bottom = 0;\r\n\r\n return styles;\r\n}\r\n","import { useEffect, useLayoutEffect, useState } from 'react';\r\nimport { subscribe } from './triggerToast';\r\nimport manageToasts from './manageToasts';\r\nimport Toast from './Toast';\r\n\r\nexport default function Toaster({\r\n position = 'top-center',\r\n richColors = false,\r\n gap = 8,\r\n edgeOffset = 16,\r\n isDark = window.matchMedia('(prefers-color-scheme: dark)').matches,\r\n}) {\r\n const [toasts, setToasts] = useState([]);\r\n\r\n useEffect(() => {\r\n const unsub = subscribe((toast) => manageToasts(toast, setToasts));\r\n return unsub;\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n const grouped = toasts.reduce((prev, t) => {\r\n const pos = t.position || position || 'top-center';\r\n (prev[pos] ||= []).push(t);\r\n return prev;\r\n }, {});\r\n\r\n let hasChanged = false;\r\n\r\n const updated = toasts.map((toast) => {\r\n const pos = toast.position || position || 'top-center';\r\n const group = grouped[pos];\r\n const index = group.findIndex((t) => t.id === toast.id);\r\n\r\n const distance = group\r\n .slice(0, index)\r\n .reduce((acc, t) => acc + (t.height || 0), 0);\r\n\r\n if (distance !== toast.distance) {\r\n hasChanged = true;\r\n }\r\n\r\n return { ...toast, distance };\r\n });\r\n\r\n if (hasChanged) {\r\n setToasts(updated);\r\n }\r\n }, [toasts, position]);\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'fixed',\r\n inset: 0,\r\n zIndex: 2147483647,\r\n pointerEvents: 'none',\r\n display: 'grid',\r\n padding: edgeOffset != null ? edgeOffset : 16,\r\n }}\r\n className={`kitzo-toast-container ${richColors ? 'kitzo-toast-rich-colors' : ''} ${isDark ? 'kitzo-toast-dark' : ''}`}\r\n >\r\n <div\r\n style={{\r\n position: 'relative',\r\n }}\r\n >\r\n {toasts.map((t) => (\r\n <Toast\r\n key={t.id}\r\n t={t}\r\n containerPosition={position}\r\n gap={gap}\r\n setToasts={setToasts}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","// import './style.css';\r\nconst tooltipStyles = `/* Default styling */\r\n.kitzo-tooltip-root {\r\n --bg-clr: hsl(0, 0%, 15%);\r\n --text-clr: hsl(0, 0%, 95%);\r\n\r\n --transition-startDuration: calc(var(--startDuration) * 1ms);\r\n --transition-endDuration: calc(var(--endDuration) * 1ms);\r\n --transition-startDelay: calc(var(--startDelay) * 1ms);\r\n --transition-endDelay: calc(var(--endDelay) * 1ms);\r\n}\r\n\r\n.kitzo-tooltip-root.tooltip-theme-dark {\r\n --bg-clr: hsl(0, 0%, 95%);\r\n --text-clr: hsl(0, 0%, 15%);\r\n}\r\n\r\n.kitzo-tooltip-content-default-style {\r\n font-family:\r\n inherit,\r\n system-ui,\r\n -apple-system,\r\n BlinkMacSystemFont,\r\n 'Segoe UI',\r\n Roboto,\r\n Oxygen,\r\n Ubuntu,\r\n Cantarell,\r\n 'Open Sans',\r\n 'Helvetica Neue',\r\n sans-serif;\r\n font-size: 0.875rem;\r\n background-color: var(--bg-clr);\r\n color: var(--text-clr);\r\n padding-block: 0.25rem;\r\n padding-inline: 0.5rem;\r\n border-radius: 0.325rem;\r\n}\r\n\r\n/* Tooltip positioning */\r\n.kitzo-tooltip-wrapper {\r\n --tooltip-offset: calc(var(--offset) * 1px + 1px);\r\n opacity: 0;\r\n transition-property: opacity;\r\n transition-delay: calc(\r\n var(--transition-endDuration) + var(--transition-endDelay)\r\n );\r\n}\r\n\r\n.kitzo-tooltip-root:hover .kitzo-tooltip-wrapper {\r\n opacity: 1;\r\n transition-delay: 0ms;\r\n}\r\n\r\n/* Top */\r\n.kitzo-tooltip-wrapper.top {\r\n bottom: 100%;\r\n padding-block-end: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.top {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-tooltip-wrapper.top.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.top.end {\r\n right: 0;\r\n translate: 0 0;\r\n}\r\n\r\n/* Right */\r\n.kitzo-tooltip-wrapper.right {\r\n left: 100%;\r\n padding-inline-start: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.right {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-tooltip-wrapper.right.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.right.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Bottom */\r\n.kitzo-tooltip-wrapper.bottom {\r\n top: 100%;\r\n padding-block-start: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.bottom {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-tooltip-wrapper.bottom.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.bottom.end {\r\n left: 100%;\r\n translate: -100% 0;\r\n}\r\n\r\n/* Left */\r\n.kitzo-tooltip-wrapper.left {\r\n right: 100%;\r\n padding-inline-end: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.left {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-tooltip-wrapper.left.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.left.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Tooltip transitions */\r\n.kitzo-tooltip-root.animate-tooltip {\r\n .kitzo-tooltip-content {\r\n text-rendering: optimizeLegibility;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n backface-visibility: hidden;\r\n contain: layout paint;\r\n\r\n transition:\r\n transform var(--transition-endDuration) var(--transition-endDelay),\r\n opacity var(--transition-endDuration) var(--transition-endDelay);\r\n }\r\n}\r\n\r\n.kitzo-tooltip-content {\r\n transform: scale(0.8);\r\n opacity: 0;\r\n}\r\n\r\n.kitzo-tooltip-content.top {\r\n transform-origin: bottom;\r\n}\r\n.kitzo-tooltip-content.right {\r\n transform-origin: left;\r\n}\r\n.kitzo-tooltip-content.bottom {\r\n transform-origin: top;\r\n}\r\n.kitzo-tooltip-content.left {\r\n transform-origin: right;\r\n}\r\n\r\n.kitzo-tooltip-root.animate-tooltip:hover {\r\n .kitzo-tooltip-content {\r\n transition:\r\n transform var(--transition-startDuration) var(--transition-startDelay),\r\n opacity var(--transition-startDuration) var(--transition-startDelay);\r\n }\r\n}\r\n.kitzo-tooltip-root:hover {\r\n .kitzo-tooltip-content {\r\n transform: scale(1);\r\n opacity: 1;\r\n }\r\n}\r\n\r\n/* smart hover persistence feature */\r\n.kitzo-tooltip-root {\r\n .kitzo-tooltip-wrapper {\r\n pointer-events: none;\r\n }\r\n}\r\n.kitzo-tooltip-root.smart-hover:hover {\r\n .kitzo-tooltip-wrapper {\r\n pointer-events: all;\r\n }\r\n}\r\n\r\n/* Arrow */\r\n.kitzo-tooltip-content.tooltip-arrow {\r\n --effective-size: calc(var(--arrow-size, 6) * 1px);\r\n --effective-color: var(--arrow-color, var(--bg-clr));\r\n\r\n position: relative;\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow::before {\r\n content: '';\r\n position: absolute;\r\n z-index: -1;\r\n border: var(--effective-size) solid transparent;\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.top::before {\r\n left: 50%;\r\n translate: -50% 0;\r\n top: calc(100% - 1px);\r\n border-top: var(--effective-size) solid var(--effective-color);\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.right::before {\r\n top: 50%;\r\n translate: 0 -50%;\r\n right: calc(100% - 1px);\r\n border-right: var(--effective-size) solid var(--effective-color);\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.bottom::before {\r\n left: 50%;\r\n translate: -50% 0;\r\n bottom: calc(100% - 1px);\r\n border-bottom: var(--effective-size) solid var(--effective-color);\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.left::before {\r\n top: 50%;\r\n translate: 0 -50%;\r\n left: calc(100% - 1px);\r\n border-left: var(--effective-size) solid var(--effective-color);\r\n}`;\r\n\r\nfunction addTooltipStyles() {\r\n if (!document.getElementById('kitzo-tooltip-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-tooltip-styles';\r\n styleTag.textContent = tooltipStyles;\r\n document.head.appendChild(styleTag);\r\n }\r\n}\r\n\r\nconst allowedPositions = [\r\n 'top-start',\r\n 'top',\r\n 'top-end',\r\n 'right-start',\r\n 'right',\r\n 'right-end',\r\n 'bottom-start',\r\n 'bottom',\r\n 'bottom-end',\r\n 'left-start',\r\n 'left',\r\n 'left-end',\r\n];\r\n\r\nfunction getPositionClass(position = '') {\r\n position =\r\n typeof position === 'string' ? position.trim().toLowerCase() : 'top';\r\n\r\n const allowedPos = allowedPositions.find((p) => p === position);\r\n if (!allowedPos) return 'top';\r\n\r\n if (allowedPos.includes('-')) {\r\n const [dir, state] = allowedPos.split('-');\r\n return `${dir} ${state}`;\r\n } else {\r\n return allowedPos;\r\n }\r\n}\r\n\r\nfunction getAnimationProperties(animation) {\r\n const effectiveStartDelay = animation?.startDelay;\r\n const effectiveEndDelay = animation?.endDelay;\r\n const effectiveDelay = animation?.delay ?? 0;\r\n\r\n const effectiveStartDuration = animation?.startDuration;\r\n const effectiveEndDuration = animation?.endDuration;\r\n const effectiveDuration = animation?.duration ?? 110;\r\n\r\n return {\r\n startDelay: effectiveStartDelay ?? effectiveDelay,\r\n endDelay: effectiveEndDelay ?? effectiveDelay,\r\n startDuration: effectiveStartDuration ?? effectiveDuration,\r\n endDuration: effectiveEndDuration ?? effectiveDuration,\r\n };\r\n}\r\n\r\nconst isWindowThemeDark = () =>\r\n window.matchMedia('(prefers-color-scheme: dark)').matches;\r\n\r\nexport default function Tooltip({\r\n content,\r\n position = 'top',\r\n tooltipOptions = {},\r\n tooltipStyle = {},\r\n tooltipClassName = '',\r\n animation = true,\r\n isHidden = false,\r\n isDark,\r\n children,\r\n}) {\r\n if (typeof isHidden === 'boolean' && isHidden) return children;\r\n\r\n if (content == null) {\r\n console.warn(\"kitzo: tooltip 'content' property is required\");\r\n return children;\r\n }\r\n // Add styles once\r\n addTooltipStyles();\r\n\r\n // Define options\r\n const {\r\n offset = 8,\r\n hideOnTouch = true,\r\n arrow = false,\r\n smartHover = true,\r\n } = tooltipOptions ?? {};\r\n\r\n const finalOptions = {\r\n offset: !isNaN(Number(offset)) ? Number(offset) : 8,\r\n arrow: typeof arrow === 'boolean' ? arrow : false,\r\n smartHover: typeof smartHover === 'boolean' ? smartHover : true,\r\n hideOnTouch: typeof hideOnTouch === 'boolean' ? hideOnTouch : true,\r\n };\r\n\r\n // Hide on touch device\r\n const isTouch = window.matchMedia('(pointer: coarse)').matches;\r\n if (isTouch && finalOptions.hideOnTouch) return children;\r\n\r\n const positionClass = getPositionClass(position);\r\n\r\n // Define animations\r\n const animationEnabled = animation ? true : false;\r\n const animationObj = animation === true ? {} : animation;\r\n const finalAnimationProperties = getAnimationProperties(animationObj);\r\n\r\n // theme\r\n isDark = typeof isDark === 'boolean' ? isDark : isWindowThemeDark();\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'relative',\r\n width: 'fit-content',\r\n '--offset': Math.max(0, finalOptions.offset),\r\n '--startDuration': Math.max(0, finalAnimationProperties.startDuration),\r\n '--endDuration': Math.max(0, finalAnimationProperties.endDuration),\r\n '--startDelay': Math.max(0, finalAnimationProperties.startDelay),\r\n '--endDelay': Math.max(0, finalAnimationProperties.endDelay),\r\n '--arrow-color': tooltipStyle?.['--arrow-color'],\r\n '--arrow-size': tooltipStyle?.['--arrow-size'],\r\n }}\r\n className={`kitzo-tooltip-root ${isDark ? 'tooltip-theme-dark' : ''} ${finalOptions.smartHover ? 'smart-hover' : ''} ${animationEnabled ? 'animate-tooltip' : ''}`}\r\n >\r\n {/* children string or component */}\r\n {children}\r\n\r\n <div\r\n style={{\r\n position: 'absolute',\r\n whiteSpace: typeof content === 'string' ? 'nowrap' : 'normal',\r\n }}\r\n tabIndex={-1}\r\n className={`kitzo-tooltip-wrapper ${positionClass}`}\r\n >\r\n <div\r\n className={`kitzo-tooltip-content ${positionClass} ${finalOptions.arrow ? 'tooltip-arrow' : ''}`}\r\n >\r\n {typeof content === 'string' || typeof content === 'number' ? (\r\n <div className=\"kitzo-tooltip-content-default-style\">{content}</div>\r\n ) : (\r\n <div className={tooltipClassName} style={tooltipStyle}>\r\n {content}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from 'react';\r\n\r\nexport default function useDebounce(value, delay) {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nexport default function useWindowSize(options = {}) {\r\n const { delay = 50 } = options;\r\n\r\n if (typeof delay !== 'number')\r\n throw new Error(\"Only number is accepted 'useWindowSize' hook configuration: delay\");\r\n\r\n const [screenSize, setScreenSize] = useState({\r\n screenWidth: window.innerWidth,\r\n screenHeight: window.innerHeight,\r\n });\r\n\r\n const timeoutRef = useRef(null);\r\n useEffect(() => {\r\n function updateScreenSize() {\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n timeoutRef.current = setTimeout(\r\n () => {\r\n setScreenSize({\r\n screenWidth: window.innerWidth,\r\n screenHeight: window.innerHeight,\r\n });\r\n },\r\n Math.max(0, Number(delay)),\r\n );\r\n }\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('resize', updateScreenSize);\r\n }\r\n\r\n return () => {\r\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\r\n window.removeEventListener('resize', updateScreenSize);\r\n };\r\n }, [delay]);\r\n\r\n return screenSize;\r\n}\r\n"],"names":["toastStyles","listeners","Set","subscribe","fn","document","getElementById","styleTag","createElement","id","textContent","head","appendChild","add","notify","toast","forEach","DEFAULTS","duration","showIcon","uid","genId","_crypto$randomUUID","_crypto$randomUUID2","_crypto","crypto","randomUUID","call","concat","zIndex","createToast","type","action","content","_opts$id","_opts$duration","_opts$showIcon","options","arguments","length","undefined","opts","_typeof","_objectSpread","render","success","error","info","custom","dismiss","update","loading","Infinity","promise","handlers","_options$id","then","_ref","_asyncToGenerator","_regenerator","m","_callee","result","_options$duration","successContent","_t","_t2","_t3","w","_context","n","v","a","_x","apply","_ref2","_callee2","_options$duration2","errorContent","_t4","_context2","_x2","timeouts","Map","LEAVE_DELAY","MIN_VISIBLE","clearToastTimers","t","get","clearTimeout","leaving","left","getDurations","d","Number","isFinite","visible","Math","max","armToastTimers","setToasts","durations","setTimeout","prev","map","status","filter","set","manageToasts","clear","prevToast","find","enteringToast","_toConsumableArray","requestAnimationFrame","SuccessSvg","React","className","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","ErrorSvg","LoadingSvg","InfoSvg","Toast","containerPosition","gap","ref","useRef","useLayoutEffect","current","g","el","observer","ResizeObserver","offsetHeight","observe","disconnect","allowedPositions","userPosition","position","includes","style","getToastStyles","pointerEvents","display","alignItems","split","flexShrink","flex","styles","transition","transform","distance","justifyContent","top","bottom","Toaster","_ref$position","_ref$richColors","richColors","_ref$gap","_ref$edgeOffset","edgeOffset","_ref$isDark","isDark","window","matchMedia","matches","_useState","useState","_useState2","_slicedToArray","toasts","useEffect","unsub","grouped","reduce","pos","push","hasChanged","updated","group","index","findIndex","slice","acc","inset","padding","key","tooltipStyles","addTooltipStyles","getPositionClass","trim","toLowerCase","allowedPos","p","_allowedPos$split","_allowedPos$split2","dir","state","getAnimationProperties","animation","_animation$delay","_animation$duration","effectiveStartDelay","startDelay","effectiveEndDelay","endDelay","effectiveDelay","delay","effectiveStartDuration","startDuration","effectiveEndDuration","endDuration","effectiveDuration","isWindowThemeDark","Tooltip","_ref$tooltipOptions","tooltipOptions","_ref$tooltipStyle","tooltipStyle","_ref$tooltipClassName","tooltipClassName","_ref$animation","_ref$isHidden","isHidden","children","console","warn","_ref2$offset","offset","_ref2$hideOnTouch","hideOnTouch","_ref2$arrow","arrow","_ref2$smartHover","smartHover","finalOptions","isNaN","isTouch","positionClass","animationEnabled","animationObj","finalAnimationProperties","whiteSpace","tabIndex","useDebounce","value","debouncedValue","setDebouncedValue","handler","useWindowSize","_options$delay","Error","screenWidth","innerWidth","screenHeight","innerHeight","screenSize","setScreenSize","timeoutRef","updateScreenSize","addEventListener","removeEventListener"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../src/kitzo/ui/toast/triggerToast.js","../../src/kitzo/ui/toast/manageToasts.js","../../src/kitzo/ui/toast/Svgs.jsx","../../src/kitzo/ui/toast/Toast.jsx","../../src/kitzo/ui/toast/Toaster.jsx","../../src/kitzo/ui/tooltip/Tooltip.jsx","../../src/kitzo/hooks/useDebounce.jsx","../../src/kitzo/hooks/useWindowSize.jsx"],"sourcesContent":["const toastStyles = `.kitzo-toast-container {\r\n --normal-bg: hsl(0, 0%, 100%);\r\n --normal-text: hsl(0, 0%, 10%);\r\n --normal-border: hsl(0, 0%, 94%);\r\n\r\n --success-bg: var(--normal-bg);\r\n --success-text: var(--normar-text);\r\n --success-border: var(--normal-border);\r\n --success-svg-bg: var(--normal-text);\r\n\r\n --error-bg: var(--normal-bg);\r\n --error-text: var(--normar-text);\r\n --error-border: var(--normal-border);\r\n --error-svg-bg: var(--normal-text);\r\n\r\n --info-bg: var(--normal-bg);\r\n --info-text: var(--normar-text);\r\n --info-border: var(--normal-border);\r\n --info-svg-bg: var(--normal-text);\r\n\r\n --loader-stroke: hsl(0, 0%, 50%);\r\n --loader-bg: hsl(0, 0%, 80%);\r\n}\r\n\r\n.kitzo-toast-container.kitzo-toast-dark {\r\n --normal-bg: hsl(0, 0%, 15%);\r\n --normal-text: hsl(0, 0%, 95%);\r\n --normal-border: hsl(0, 0%, 17%);\r\n\r\n --success-bg: var(--normal-bg);\r\n --success-text: var(--normar-text);\r\n --success-border: var(--normal-border);\r\n --success-svg-bg: var(--normal-text);\r\n\r\n --error-bg: var(--normal-bg);\r\n --error-text: var(--normar-text);\r\n --error-border: var(--normal-border);\r\n --error-svg-bg: var(--normal-text);\r\n\r\n --info-bg: var(--normal-bg);\r\n --info-text: var(--normar-text);\r\n --info-border: var(--normal-border);\r\n --info-svg-bg: var(--normal-text);\r\n\r\n --loader-stroke: hsl(0, 0%, 80%);\r\n --loader-bg: hsl(0, 0%, 50%);\r\n}\r\n\r\n.kitzo-toast-container.kitzo-toast-rich-colors {\r\n --success-bg: hsl(152, 65%, 95%);\r\n --success-text: hsl(142, 98%, 30%);\r\n --success-border: hsl(142, 100%, 93%);\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n\r\n --error-bg: hsl(0, 65%, 95%);\r\n --error-text: hsl(6, 98%, 40%);\r\n --error-border: hsl(0, 100%, 94%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n\r\n --info-bg: hsl(210, 65%, 95%);\r\n --info-text: hsl(210, 100%, 20%);\r\n --info-border: hsl(210, 100%, 94%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\r\n}\r\n\r\n.kitzo-toast-container.kitzo-toast-rich-colors.kitzo-toast-dark {\r\n --success-bg: hsl(152, 65%, 15%);\r\n --success-text: hsl(142, 98%, 70%);\r\n --success-border: hsl(142, 100%, 15%);\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n\r\n --error-bg: hsl(0, 65%, 15%);\r\n --error-text: hsl(6, 98%, 70%);\r\n --error-border: hsl(0, 100%, 15%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n\r\n --info-bg: hsl(210, 65%, 15%);\r\n --info-text: hsl(210, 100%, 70%);\r\n --info-border: hsl(210, 100%, 16%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\r\n}\r\n\r\n.kitzo-toast {\r\n font-family: inherit;\r\n font-size: 0.875rem;\r\n transition: 260ms;\r\n}\r\n\r\n/*! toast transition styles */\r\n.kitzo-toast.pos-y-top {\r\n transform-origin: top;\r\n}\r\n.kitzo-toast.pos-y-bottom {\r\n transform-origin: bottom;\r\n}\r\n\r\n.kitzo-toast.type-normal {\r\n background-color: var(--normal-bg);\r\n color: var(--normal-text);\r\n border: 1px solid var(--normal-border);\r\n}\r\n.kitzo-toast.type-loading {\r\n background-color: var(--normal-bg);\r\n color: var(--normal-text);\r\n border: 1px solid var(--normal-border);\r\n}\r\n\r\n.kitzo-toast.type-success {\r\n background-color: var(--success-bg);\r\n color: var(--success-text);\r\n border: 1px solid var(--success-border);\r\n}\r\n\r\n.kitzo-toast.type-error {\r\n background-color: var(--error-bg);\r\n color: var(--error-text);\r\n border: 1px solid var(--error-border);\r\n}\r\n\r\n.kitzo-toast.type-info {\r\n background-color: var(--info-bg);\r\n color: var(--info-text);\r\n border: 1px solid var(--info-border);\r\n}\r\n\r\n.kitzo-toast.type-normal,\r\n.kitzo-toast.type-loading,\r\n.kitzo-toast.type-success,\r\n.kitzo-toast.type-error,\r\n.kitzo-toast.type-info {\r\n border-radius: 0.425rem;\r\n padding: 0.325rem 0.5rem;\r\n box-shadow: 0 3px 8px -3px hsl(0, 0%, 0%, 0.15);\r\n}\r\n\r\n.kitzo-toast.status-entering.pos-y-top {\r\n opacity: 0;\r\n transform: translateY(-120%) scale(0.2);\r\n}\r\n\r\n.kitzo-toast.status-visible.pos-y-top {\r\n opacity: 1;\r\n transform: translateY(0) scale(1);\r\n}\r\n\r\n.kitzo-toast.status-leaving.pos-y-top {\r\n opacity: 0;\r\n transform: translateY(-120%) scale(0.2);\r\n}\r\n\r\n.kitzo-toast.status-entering.pos-y-bottom {\r\n opacity: 0;\r\n transform: translateY(120%) scale(0.2);\r\n}\r\n\r\n.kitzo-toast.status-visible.pos-y-bottom {\r\n opacity: 1;\r\n transform: translateY(0) scale(1);\r\n}\r\n\r\n.kitzo-toast.status-leaving.pos-y-bottom {\r\n opacity: 0;\r\n transform: translateY(120%) scale(0.2);\r\n}\r\n\r\n.action-update {\r\n animation: update 150ms;\r\n}\r\n\r\n@keyframes update {\r\n 0% {\r\n opacity: 0.5;\r\n }\r\n 100% {\r\n opacity: 1;\r\n }\r\n}\r\n\r\n/*! svg stylings */\r\n.svg-container {\r\n display: grid;\r\n place-items: center;\r\n border-radius: 10rem;\r\n color: white;\r\n height: 18px;\r\n width: 18px;\r\n position: relative;\r\n overflow: hidden;\r\n\r\n scale: 1.1;\r\n animation: svg-container-animation 400ms ease-in-out forwards;\r\n\r\n svg {\r\n width: 12px;\r\n height: 12px;\r\n stroke-width: 4px;\r\n display: inline-block;\r\n }\r\n}\r\n\r\n.svg-container.success {\r\n background-color: var(--success-svg-bg);\r\n}\r\n.svg-container.error {\r\n background-color: var(--error-svg-bg);\r\n\r\n svg {\r\n scale: 0;\r\n animation: error-svg-zoom-in 170ms 130ms forwards;\r\n }\r\n}\r\n\r\n.svg-container.info {\r\n background-color: var(--info-svg-bg);\r\n animation: info-svg-bell 400ms 200ms;\r\n\r\n svg {\r\n width: 14px;\r\n height: 14px;\r\n color: white;\r\n }\r\n}\r\n\r\n.svg-container.success::before {\r\n content: '';\r\n position: absolute;\r\n inset: 0;\r\n z-index: 5;\r\n border-radius: 10rem;\r\n background-color: var(--success-svg-bg);\r\n animation: success-container-before-animation 250ms 150ms forwards;\r\n}\r\n\r\n@keyframes svg-container-animation {\r\n 0% {\r\n scale: 1;\r\n }\r\n 50% {\r\n scale: 1.15;\r\n }\r\n 100% {\r\n scale: 1;\r\n }\r\n}\r\n\r\n@keyframes success-container-before-animation {\r\n from {\r\n translate: 0 0;\r\n }\r\n to {\r\n translate: 100% -50%;\r\n }\r\n}\r\n\r\n@keyframes error-svg-zoom-in {\r\n from {\r\n scale: 0;\r\n }\r\n to {\r\n scale: 1;\r\n }\r\n}\r\n\r\n@keyframes info-svg-bell {\r\n 0% {\r\n transform: rotate(0);\r\n }\r\n 25% {\r\n transform: rotate(15deg);\r\n }\r\n 75% {\r\n transform: rotate(-15deg);\r\n }\r\n 100% {\r\n transform: rotate(0);\r\n }\r\n}\r\n\r\n.promise-svg-container {\r\n width: 20px;\r\n height: 20px;\r\n display: grid;\r\n place-items: center;\r\n\r\n .loader {\r\n width: 14px;\r\n height: 14px;\r\n background-image: conic-gradient(\r\n var(--loader-stroke) 0 25%,\r\n var(--loader-bg) 0 100%\r\n );\r\n border-radius: 10rem;\r\n position: relative;\r\n animation: rotate-infinity 1000ms linear infinite;\r\n }\r\n .loader::before {\r\n content: '';\r\n position: absolute;\r\n inset: 2px;\r\n border-radius: inherit;\r\n background-color: var(--normal-bg);\r\n }\r\n}\r\n\r\n@keyframes rotate-infinity {\r\n to {\r\n rotate: 360deg;\r\n }\r\n}\r\n`;\r\n\r\nconst listeners = new Set();\r\n\r\nexport function subscribe(fn) {\r\n if (!document.getElementById('kitzo-toast-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-toast-styles';\r\n styleTag.textContent = toastStyles;\r\n document.head.appendChild(styleTag);\r\n }\r\n\r\n listeners.add(fn);\r\n return () => listeners.delete(fn);\r\n}\r\n\r\nfunction notify(toast) {\r\n listeners.forEach((fn) => fn(toast));\r\n}\r\n\r\nconst DEFAULTS = {\r\n duration: 2800,\r\n showIcon: true,\r\n};\r\n\r\nlet uid = 0;\r\nconst genId = () => crypto.randomUUID?.() ?? `kitzo_toast_id_${++uid}`;\r\n\r\nlet zIndex = 1;\r\n\r\nfunction createToast(type, action, content, options = {}) {\r\n const opts = typeof options === 'object' && options !== null ? options : {};\r\n\r\n return {\r\n id: opts.id ?? genId(),\r\n type,\r\n zIndex: ++zIndex,\r\n render: content,\r\n duration: opts.duration ?? DEFAULTS.duration,\r\n showIcon: opts.showIcon ?? DEFAULTS.showIcon,\r\n action,\r\n ...opts,\r\n };\r\n}\r\n\r\nfunction toast(content, options) {\r\n if (content == null) return;\r\n notify(createToast('normal', 'add', content, options));\r\n}\r\n\r\ntoast.success = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('success', 'add', content, options));\r\n};\r\n\r\ntoast.error = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('error', 'add', content, options));\r\n};\r\n\r\ntoast.info = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('info', 'add', content, options));\r\n};\r\n\r\ntoast.custom = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('custom', 'add', content, options));\r\n};\r\n\r\ntoast.dismiss = (id) => {\r\n notify({ action: 'dismiss', id });\r\n};\r\n\r\ntoast.update = (id, content, options = {}) => {\r\n if (!id) return;\r\n notify(createToast('custom', 'update', content, { ...options, id }));\r\n};\r\n\r\nconst loading = (content, options = {}) => {\r\n notify(\r\n createToast('loading', 'add', content, {\r\n ...options,\r\n duration: Infinity,\r\n }),\r\n );\r\n};\r\n\r\ntoast.promise = (promise, handlers, options = {}) => {\r\n if (!promise) return;\r\n if (!handlers) return;\r\n if (!handlers.loading) return;\r\n if (!handlers.success) return;\r\n if (!handlers.error) return;\r\n\r\n const id = options.id ?? genId();\r\n\r\n loading(handlers.loading, { ...options, id, duration: Infinity });\r\n\r\n promise\r\n .then(async (result) => {\r\n const successContent =\r\n typeof handlers.success === 'function'\r\n ? await handlers.success(result)\r\n : handlers.success;\r\n\r\n toast.update(id, await successContent, {\r\n type: 'success',\r\n duration: options.duration ?? 2800,\r\n });\r\n return result;\r\n })\r\n .catch(async (error) => {\r\n const errorContent =\r\n typeof handlers.error === 'function'\r\n ? await handlers.error(error)\r\n : handlers.error;\r\n\r\n toast.update(id, errorContent, {\r\n type: 'error',\r\n duration: options.duration ?? 3800,\r\n });\r\n throw error;\r\n });\r\n\r\n return promise;\r\n};\r\n\r\nexport default toast;\r\n","const timeouts = new Map();\r\n\r\nconst LEAVE_DELAY = 600;\r\nconst MIN_VISIBLE = 700;\r\n\r\nfunction clearToastTimers(id) {\r\n const t = timeouts.get(id);\r\n\r\n if (!t) return;\r\n clearTimeout(t.leaving);\r\n clearTimeout(t.left);\r\n timeouts.delete(id);\r\n}\r\n\r\nfunction getDurations(duration) {\r\n const d = Number(duration);\r\n if (!isFinite(d)) return null;\r\n\r\n const visible = Math.max(MIN_VISIBLE, d);\r\n\r\n return {\r\n leaving: visible,\r\n left: visible + LEAVE_DELAY,\r\n };\r\n}\r\n\r\nfunction armToastTimers(toast, setToasts) {\r\n const durations = getDurations(toast.duration);\r\n if (!durations) return;\r\n\r\n clearToastTimers(toast.id);\r\n\r\n const leaving = setTimeout(() => {\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === toast.id ? { ...t, status: 'leaving' } : t)),\r\n );\r\n }, durations.leaving);\r\n\r\n const left = setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.id !== toast.id));\r\n timeouts.delete(toast.id);\r\n }, durations.left);\r\n\r\n timeouts.set(toast.id, { leaving, left });\r\n}\r\n\r\nfunction manageToasts(toast, setToasts) {\r\n // dismiss\r\n if (toast.action === 'dismiss') {\r\n if (!toast.id) {\r\n setToasts((prev) => prev.map((t) => ({ ...t, status: 'leaving' })));\r\n\r\n setTimeout(() => {\r\n setToasts([]);\r\n }, LEAVE_DELAY);\r\n\r\n timeouts.forEach(({ leaving, left }) => {\r\n clearTimeout(leaving);\r\n clearTimeout(left);\r\n });\r\n timeouts.clear();\r\n return;\r\n }\r\n\r\n clearToastTimers(toast.id);\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === toast.id ? { ...t, status: 'leaving' } : t)),\r\n );\r\n setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.id !== toast.id));\r\n }, LEAVE_DELAY);\r\n return;\r\n }\r\n\r\n // update\r\n if (toast.action === 'update') {\r\n setToasts((prev) => {\r\n const prevToast = prev.find((t) => t.id === toast.id);\r\n if (!prevToast) return prev;\r\n if (prevToast.type !== 'custom' && prevToast.type !== 'loading')\r\n return prev;\r\n return prev.map((t) =>\r\n t.id === toast.id ? { ...t, ...toast, status: 'visible' } : t,\r\n );\r\n });\r\n armToastTimers(toast, setToasts);\r\n return;\r\n }\r\n\r\n // add\r\n const enteringToast = { ...toast, status: 'entering' };\r\n setToasts((prev) => {\r\n const prevToast = prev.find((t) => t.id === enteringToast.id);\r\n if (prevToast) return prev;\r\n return [enteringToast, ...prev];\r\n });\r\n\r\n requestAnimationFrame(() => {\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === toast.id ? { ...t, status: 'visible' } : t)),\r\n );\r\n });\r\n\r\n armToastTimers(enteringToast, setToasts);\r\n}\r\n\r\nexport default manageToasts;\r\n","export function SuccessSvg() {\r\n return (\r\n <div className=\"svg-container success\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n >\r\n <path d=\"M20 6 9 17l-5-5\" />\r\n </svg>\r\n </div>\r\n );\r\n}\r\nexport function ErrorSvg() {\r\n return (\r\n <div className=\"svg-container error\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"24\"\r\n height=\"24\"\r\n viewBox=\"0 0 24 24\"\r\n fill=\"none\"\r\n stroke=\"currentColor\"\r\n strokeWidth=\"2\"\r\n strokeLinecap=\"round\"\r\n strokeLinejoin=\"round\"\r\n >\r\n <path d=\"M18 6 6 18\" />\r\n <path d=\"m6 6 12 12\" />\r\n </svg>\r\n </div>\r\n );\r\n}\r\nexport function LoadingSvg() {\r\n return (\r\n <div className=\"promise-svg-container\">\r\n <div className=\"loader\"></div>\r\n </div>\r\n );\r\n}\r\nexport function InfoSvg() {\r\n return (\r\n <div className=\"svg-container info\">\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n viewBox=\"0 0 24 24\"\r\n width=\"16\"\r\n height=\"16\"\r\n fill=\"currentColor\"\r\n >\r\n <path d=\"M12 6C12.8284 6 13.5 5.32843 13.5 4.5C13.5 3.67157 12.8284 3 12 3C11.1716 3 10.5 3.67157 10.5 4.5C10.5 5.32843 11.1716 6 12 6ZM9 10H11V18H9V20H15V18H13V8H9V10Z\"></path>\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","import { useLayoutEffect, useRef } from 'react';\r\nimport { ErrorSvg, InfoSvg, LoadingSvg, SuccessSvg } from './Svgs';\r\nimport toast from './triggerToast';\r\n\r\nexport default function Toast({ t, containerPosition, gap, setToasts }) {\r\n const { id, type, render, action, status } = t;\r\n\r\n const ref = useRef(null);\r\n\r\n useLayoutEffect(() => {\r\n if (!ref.current) return;\r\n\r\n const g =\r\n typeof gap === 'number'\r\n ? gap\r\n : Number.isFinite(Number(gap))\r\n ? Number(gap)\r\n : 8;\r\n\r\n const el = ref.current;\r\n\r\n const observer = new ResizeObserver(() => {\r\n const height = el.offsetHeight + g;\r\n setToasts((prev) =>\r\n prev.map((t) => (t.id === id ? { ...t, height } : t)),\r\n );\r\n });\r\n\r\n observer.observe(el);\r\n\r\n return () => observer.disconnect();\r\n }, []);\r\n\r\n const allowedPositions = [\r\n 'top-left',\r\n 'top-center',\r\n 'top-right',\r\n 'bottom-left',\r\n 'bottom-center',\r\n 'bottom-right',\r\n ];\r\n const userPosition = t.position || containerPosition;\r\n const position = allowedPositions.includes(userPosition)\r\n ? userPosition\r\n : 'top-center';\r\n\r\n return (\r\n <div ref={ref} style={getToastStyles(t, position)}>\r\n <div\r\n style={{\r\n pointerEvents: 'all',\r\n display: 'flex',\r\n alignItems: 'center',\r\n gap: 8,\r\n }}\r\n className={`kitzo-toast type-${type} action-${action} status-${status} pos-y-${position.split('-')[0]} pos-x-${position.split('-')[1]} `}\r\n >\r\n {t.showIcon && type !== 'normal' && type !== 'custom' && (\r\n <div\r\n style={{\r\n flexShrink: 0,\r\n }}\r\n >\r\n {type === 'loading' && <LoadingSvg />}\r\n {type === 'success' && <SuccessSvg />}\r\n {type === 'error' && <ErrorSvg />}\r\n {type === 'info' && <InfoSvg />}\r\n </div>\r\n )}\r\n\r\n <div\r\n style={{\r\n flex: 1,\r\n }}\r\n >\r\n {typeof render === 'function'\r\n ? render(() => toast.dismiss(id))\r\n : render}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nfunction getToastStyles(t, position) {\r\n const styles = {\r\n position: 'absolute',\r\n zIndex: t.zIndex,\r\n left: 0,\r\n width: '100%',\r\n transition: 'transform 300ms',\r\n display: 'flex',\r\n };\r\n\r\n const transform = position.includes('top')\r\n ? `translateY(${t.distance || 0}px)`\r\n : `translateY(-${t.distance || 0}px)`;\r\n const justifyContent = position.includes('left')\r\n ? 'flex-start'\r\n : position.includes('center')\r\n ? 'center'\r\n : 'flex-end';\r\n\r\n styles.transform = transform;\r\n styles.justifyContent = justifyContent;\r\n if (position.includes('top')) styles.top = 0;\r\n if (position.includes('bottom')) styles.bottom = 0;\r\n\r\n return styles;\r\n}\r\n","import { useEffect, useLayoutEffect, useState } from 'react';\r\nimport { subscribe } from './triggerToast';\r\nimport manageToasts from './manageToasts';\r\nimport Toast from './Toast';\r\n\r\nexport default function Toaster({\r\n position = 'top-center',\r\n richColors = false,\r\n gap = 8,\r\n edgeOffset = 16,\r\n isDark = window.matchMedia('(prefers-color-scheme: dark)').matches,\r\n}) {\r\n const [toasts, setToasts] = useState([]);\r\n\r\n useEffect(() => {\r\n const unsub = subscribe((toast) => manageToasts(toast, setToasts));\r\n return unsub;\r\n }, []);\r\n\r\n useLayoutEffect(() => {\r\n const grouped = toasts.reduce((prev, t) => {\r\n const pos = t.position || position || 'top-center';\r\n (prev[pos] ||= []).push(t);\r\n return prev;\r\n }, {});\r\n\r\n let hasChanged = false;\r\n\r\n const updated = toasts.map((toast) => {\r\n const pos = toast.position || position || 'top-center';\r\n const group = grouped[pos];\r\n const index = group.findIndex((t) => t.id === toast.id);\r\n\r\n const distance = group\r\n .slice(0, index)\r\n .reduce((acc, t) => acc + (t.height || 0), 0);\r\n\r\n if (distance !== toast.distance) {\r\n hasChanged = true;\r\n }\r\n\r\n return { ...toast, distance };\r\n });\r\n\r\n if (hasChanged) {\r\n setToasts(updated);\r\n }\r\n }, [toasts, position]);\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'fixed',\r\n inset: 0,\r\n zIndex: 2147483647,\r\n pointerEvents: 'none',\r\n display: 'grid',\r\n padding: edgeOffset != null ? edgeOffset : 16,\r\n }}\r\n className={`kitzo-toast-container ${richColors ? 'kitzo-toast-rich-colors' : ''} ${isDark ? 'kitzo-toast-dark' : ''}`}\r\n >\r\n <div\r\n style={{\r\n position: 'relative',\r\n }}\r\n >\r\n {toasts.map((t) => (\r\n <Toast\r\n key={t.id}\r\n t={t}\r\n containerPosition={position}\r\n gap={gap}\r\n setToasts={setToasts}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n","// import './style.css';\r\nconst tooltipStyles = `/* Default styling */\r\n.kitzo-tooltip-root {\r\n --bg-clr: hsl(0, 0%, 15%);\r\n --text-clr: hsl(0, 0%, 95%);\r\n\r\n --transition-startDuration: calc(var(--startDuration) * 1ms);\r\n --transition-endDuration: calc(var(--endDuration) * 1ms);\r\n --transition-startDelay: calc(var(--startDelay) * 1ms);\r\n --transition-endDelay: calc(var(--endDelay) * 1ms);\r\n}\r\n\r\n.kitzo-tooltip-root.tooltip-theme-dark {\r\n --bg-clr: hsl(0, 0%, 95%);\r\n --text-clr: hsl(0, 0%, 15%);\r\n}\r\n\r\n.kitzo-tooltip-content-default-style {\r\n font-family:\r\n inherit,\r\n system-ui,\r\n -apple-system,\r\n BlinkMacSystemFont,\r\n 'Segoe UI',\r\n Roboto,\r\n Oxygen,\r\n Ubuntu,\r\n Cantarell,\r\n 'Open Sans',\r\n 'Helvetica Neue',\r\n sans-serif;\r\n font-size: 0.875rem;\r\n background-color: var(--bg-clr);\r\n color: var(--text-clr);\r\n padding-block: 0.25rem;\r\n padding-inline: 0.5rem;\r\n border-radius: 0.325rem;\r\n}\r\n\r\n/* Tooltip positioning */\r\n.kitzo-tooltip-wrapper {\r\n --tooltip-offset: calc(var(--offset) * 1px + 1px);\r\n opacity: 0;\r\n transition-property: opacity;\r\n transition-delay: calc(\r\n var(--transition-endDuration) + var(--transition-endDelay)\r\n );\r\n}\r\n\r\n.kitzo-tooltip-root:hover .kitzo-tooltip-wrapper {\r\n opacity: 1;\r\n transition-delay: 0ms;\r\n}\r\n\r\n/* Top */\r\n.kitzo-tooltip-wrapper.top {\r\n bottom: 100%;\r\n padding-block-end: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.top {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-tooltip-wrapper.top.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.top.end {\r\n right: 0;\r\n translate: 0 0;\r\n}\r\n\r\n/* Right */\r\n.kitzo-tooltip-wrapper.right {\r\n left: 100%;\r\n padding-inline-start: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.right {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-tooltip-wrapper.right.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.right.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Bottom */\r\n.kitzo-tooltip-wrapper.bottom {\r\n top: 100%;\r\n padding-block-start: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.bottom {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-tooltip-wrapper.bottom.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.bottom.end {\r\n left: 100%;\r\n translate: -100% 0;\r\n}\r\n\r\n/* Left */\r\n.kitzo-tooltip-wrapper.left {\r\n right: 100%;\r\n padding-inline-end: var(--tooltip-offset);\r\n}\r\n.kitzo-tooltip-wrapper.left {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-tooltip-wrapper.left.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-tooltip-wrapper.left.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Tooltip transitions */\r\n.kitzo-tooltip-root.animate-tooltip {\r\n .kitzo-tooltip-content {\r\n text-rendering: optimizeLegibility;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n backface-visibility: hidden;\r\n contain: layout paint;\r\n\r\n transition:\r\n transform var(--transition-endDuration) var(--transition-endDelay),\r\n opacity var(--transition-endDuration) var(--transition-endDelay);\r\n }\r\n}\r\n\r\n.kitzo-tooltip-content {\r\n transform: scale(0.8);\r\n opacity: 0;\r\n}\r\n\r\n.kitzo-tooltip-content.top {\r\n transform-origin: bottom;\r\n}\r\n.kitzo-tooltip-content.right {\r\n transform-origin: left;\r\n}\r\n.kitzo-tooltip-content.bottom {\r\n transform-origin: top;\r\n}\r\n.kitzo-tooltip-content.left {\r\n transform-origin: right;\r\n}\r\n\r\n.kitzo-tooltip-root.animate-tooltip:hover {\r\n .kitzo-tooltip-content {\r\n transition:\r\n transform var(--transition-startDuration) var(--transition-startDelay),\r\n opacity var(--transition-startDuration) var(--transition-startDelay);\r\n }\r\n}\r\n.kitzo-tooltip-root:hover {\r\n .kitzo-tooltip-content {\r\n transform: scale(1);\r\n opacity: 1;\r\n }\r\n}\r\n\r\n/* smart hover persistence feature */\r\n.kitzo-tooltip-root {\r\n .kitzo-tooltip-wrapper {\r\n pointer-events: none;\r\n }\r\n}\r\n.kitzo-tooltip-root.smart-hover:hover {\r\n .kitzo-tooltip-wrapper {\r\n pointer-events: all;\r\n }\r\n}\r\n\r\n/* Arrow */\r\n.kitzo-tooltip-content.tooltip-arrow {\r\n --effective-size: calc(var(--arrow-size, 6) * 1px);\r\n --effective-color: var(--arrow-color, var(--bg-clr));\r\n\r\n position: relative;\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow::before {\r\n content: '';\r\n position: absolute;\r\n z-index: -1;\r\n border: var(--effective-size) solid transparent;\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.top::before {\r\n left: 50%;\r\n translate: -50% 0;\r\n top: calc(100% - 1px);\r\n border-top: var(--effective-size) solid var(--effective-color);\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.right::before {\r\n top: 50%;\r\n translate: 0 -50%;\r\n right: calc(100% - 1px);\r\n border-right: var(--effective-size) solid var(--effective-color);\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.bottom::before {\r\n left: 50%;\r\n translate: -50% 0;\r\n bottom: calc(100% - 1px);\r\n border-bottom: var(--effective-size) solid var(--effective-color);\r\n}\r\n.kitzo-tooltip-content.tooltip-arrow.left::before {\r\n top: 50%;\r\n translate: 0 -50%;\r\n left: calc(100% - 1px);\r\n border-left: var(--effective-size) solid var(--effective-color);\r\n}`;\r\n\r\nfunction addTooltipStyles() {\r\n if (!document.getElementById('kitzo-tooltip-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-tooltip-styles';\r\n styleTag.textContent = tooltipStyles;\r\n document.head.appendChild(styleTag);\r\n }\r\n}\r\n\r\nconst allowedPositions = [\r\n 'top-start',\r\n 'top',\r\n 'top-end',\r\n 'right-start',\r\n 'right',\r\n 'right-end',\r\n 'bottom-start',\r\n 'bottom',\r\n 'bottom-end',\r\n 'left-start',\r\n 'left',\r\n 'left-end',\r\n];\r\n\r\nfunction getPositionClass(position = '') {\r\n position =\r\n typeof position === 'string' ? position.trim().toLowerCase() : 'top';\r\n\r\n const allowedPos = allowedPositions.find((p) => p === position);\r\n if (!allowedPos) return 'top';\r\n\r\n if (allowedPos.includes('-')) {\r\n const [dir, state] = allowedPos.split('-');\r\n return `${dir} ${state}`;\r\n } else {\r\n return allowedPos;\r\n }\r\n}\r\n\r\nfunction getAnimationProperties(animation) {\r\n const effectiveStartDelay = animation?.startDelay;\r\n const effectiveEndDelay = animation?.endDelay;\r\n const effectiveDelay = animation?.delay ?? 0;\r\n\r\n const effectiveStartDuration = animation?.startDuration;\r\n const effectiveEndDuration = animation?.endDuration;\r\n const effectiveDuration = animation?.duration ?? 110;\r\n\r\n return {\r\n startDelay: effectiveStartDelay ?? effectiveDelay,\r\n endDelay: effectiveEndDelay ?? effectiveDelay,\r\n startDuration: effectiveStartDuration ?? effectiveDuration,\r\n endDuration: effectiveEndDuration ?? effectiveDuration,\r\n };\r\n}\r\n\r\nconst isWindowThemeDark = () =>\r\n window.matchMedia('(prefers-color-scheme: dark)').matches;\r\n\r\nexport default function Tooltip({\r\n content,\r\n position = 'top',\r\n tooltipOptions = {},\r\n tooltipStyle = {},\r\n tooltipClassName = '',\r\n animation = true,\r\n isHidden = false,\r\n isDark,\r\n children,\r\n}) {\r\n if (typeof isHidden === 'boolean' && isHidden) return children;\r\n\r\n if (content == null) {\r\n console.warn(\"kitzo: tooltip 'content' property is required\");\r\n return children;\r\n }\r\n // Add styles once\r\n addTooltipStyles();\r\n\r\n // Define options\r\n const {\r\n offset = 8,\r\n hideOnTouch = true,\r\n arrow = false,\r\n smartHover = true,\r\n } = tooltipOptions ?? {};\r\n\r\n const finalOptions = {\r\n offset: !isNaN(Number(offset)) ? Number(offset) : 8,\r\n arrow: typeof arrow === 'boolean' ? arrow : false,\r\n smartHover: typeof smartHover === 'boolean' ? smartHover : true,\r\n hideOnTouch: typeof hideOnTouch === 'boolean' ? hideOnTouch : true,\r\n };\r\n\r\n // Hide on touch device\r\n const isTouch = window.matchMedia('(pointer: coarse)').matches;\r\n if (isTouch && finalOptions.hideOnTouch) return children;\r\n\r\n const positionClass = getPositionClass(position);\r\n\r\n // Define animations\r\n const animationEnabled = animation ? true : false;\r\n const animationObj = animation === true ? {} : animation;\r\n const finalAnimationProperties = getAnimationProperties(animationObj);\r\n\r\n // theme\r\n isDark = typeof isDark === 'boolean' ? isDark : isWindowThemeDark();\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'relative',\r\n width: 'fit-content',\r\n '--offset': Math.max(0, finalOptions.offset),\r\n '--startDuration': Math.max(0, finalAnimationProperties.startDuration),\r\n '--endDuration': Math.max(0, finalAnimationProperties.endDuration),\r\n '--startDelay': Math.max(0, finalAnimationProperties.startDelay),\r\n '--endDelay': Math.max(0, finalAnimationProperties.endDelay),\r\n '--arrow-color': tooltipStyle?.['--arrow-color'],\r\n '--arrow-size': tooltipStyle?.['--arrow-size'],\r\n }}\r\n className={`kitzo-tooltip-root ${isDark ? 'tooltip-theme-dark' : ''} ${finalOptions.smartHover ? 'smart-hover' : ''} ${animationEnabled ? 'animate-tooltip' : ''}`}\r\n >\r\n {/* children string or component */}\r\n {children}\r\n\r\n <div\r\n style={{\r\n position: 'absolute',\r\n whiteSpace: typeof content === 'string' ? 'nowrap' : 'normal',\r\n }}\r\n tabIndex={-1}\r\n className={`kitzo-tooltip-wrapper ${positionClass}`}\r\n >\r\n <div\r\n className={`kitzo-tooltip-content ${positionClass} ${finalOptions.arrow ? 'tooltip-arrow' : ''}`}\r\n >\r\n {typeof content === 'string' || typeof content === 'number' ? (\r\n <div className=\"kitzo-tooltip-content-default-style\">{content}</div>\r\n ) : (\r\n <div className={tooltipClassName} style={tooltipStyle}>\r\n {content}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n}\r\n","import { useEffect, useState } from 'react';\r\n\r\nexport default function useDebounce(value, delay) {\r\n const [debouncedValue, setDebouncedValue] = useState(value);\r\n\r\n useEffect(() => {\r\n const handler = setTimeout(() => {\r\n setDebouncedValue(value);\r\n }, delay);\r\n\r\n return () => {\r\n clearTimeout(handler);\r\n };\r\n }, [value, delay]);\r\n\r\n return debouncedValue;\r\n}\r\n","import { useEffect, useRef, useState } from 'react';\r\n\r\nexport default function useWindowSize(options = {}) {\r\n const { delay = 50 } = options;\r\n\r\n if (typeof delay !== 'number')\r\n throw new Error(\"Only number is accepted 'useWindowSize' hook configuration: delay\");\r\n\r\n const [screenSize, setScreenSize] = useState({\r\n screenWidth: window.innerWidth,\r\n screenHeight: window.innerHeight,\r\n });\r\n\r\n const timeoutRef = useRef(null);\r\n useEffect(() => {\r\n function updateScreenSize() {\r\n if (timeoutRef.current) {\r\n clearTimeout(timeoutRef.current);\r\n }\r\n timeoutRef.current = setTimeout(\r\n () => {\r\n setScreenSize({\r\n screenWidth: window.innerWidth,\r\n screenHeight: window.innerHeight,\r\n });\r\n },\r\n Math.max(0, Number(delay)),\r\n );\r\n }\r\n\r\n if (typeof window !== 'undefined') {\r\n window.addEventListener('resize', updateScreenSize);\r\n }\r\n\r\n return () => {\r\n if (timeoutRef.current) clearTimeout(timeoutRef.current);\r\n window.removeEventListener('resize', updateScreenSize);\r\n };\r\n }, [delay]);\r\n\r\n return screenSize;\r\n}\r\n"],"names":["toastStyles","listeners","Set","subscribe","fn","document","getElementById","styleTag","createElement","id","textContent","head","appendChild","add","notify","toast","forEach","DEFAULTS","duration","showIcon","uid","genId","_crypto$randomUUID","_crypto$randomUUID2","_crypto","crypto","randomUUID","call","concat","zIndex","createToast","type","action","content","_opts$id","_opts$duration","_opts$showIcon","options","arguments","length","undefined","opts","_typeof","_objectSpread","render","success","error","info","custom","dismiss","update","loading","Infinity","promise","handlers","_options$id","then","_ref","_asyncToGenerator","_regenerator","m","_callee","result","_options$duration","successContent","_t","_t2","_t3","w","_context","n","v","a","_x","apply","_ref2","_callee2","_options$duration2","errorContent","_t4","_context2","_x2","timeouts","Map","LEAVE_DELAY","MIN_VISIBLE","clearToastTimers","t","get","clearTimeout","leaving","left","getDurations","d","Number","isFinite","visible","Math","max","armToastTimers","setToasts","durations","setTimeout","prev","map","status","filter","set","manageToasts","clear","prevToast","find","enteringToast","_toConsumableArray","requestAnimationFrame","SuccessSvg","React","className","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","ErrorSvg","LoadingSvg","InfoSvg","Toast","containerPosition","gap","ref","useRef","useLayoutEffect","current","g","el","observer","ResizeObserver","offsetHeight","observe","disconnect","allowedPositions","userPosition","position","includes","style","getToastStyles","pointerEvents","display","alignItems","split","flexShrink","flex","styles","transition","transform","distance","justifyContent","top","bottom","Toaster","_ref$position","_ref$richColors","richColors","_ref$gap","_ref$edgeOffset","edgeOffset","_ref$isDark","isDark","window","matchMedia","matches","_useState","useState","_useState2","_slicedToArray","toasts","useEffect","unsub","grouped","reduce","pos","push","hasChanged","updated","group","index","findIndex","slice","acc","inset","padding","key","tooltipStyles","addTooltipStyles","getPositionClass","trim","toLowerCase","allowedPos","p","_allowedPos$split","_allowedPos$split2","dir","state","getAnimationProperties","animation","_animation$delay","_animation$duration","effectiveStartDelay","startDelay","effectiveEndDelay","endDelay","effectiveDelay","delay","effectiveStartDuration","startDuration","effectiveEndDuration","endDuration","effectiveDuration","isWindowThemeDark","Tooltip","_ref$tooltipOptions","tooltipOptions","_ref$tooltipStyle","tooltipStyle","_ref$tooltipClassName","tooltipClassName","_ref$animation","_ref$isHidden","isHidden","children","console","warn","_ref2$offset","offset","_ref2$hideOnTouch","hideOnTouch","_ref2$arrow","arrow","_ref2$smartHover","smartHover","finalOptions","isNaN","isTouch","positionClass","animationEnabled","animationObj","finalAnimationProperties","whiteSpace","tabIndex","useDebounce","value","debouncedValue","setDebouncedValue","handler","useWindowSize","_options$delay","Error","screenWidth","innerWidth","screenHeight","innerHeight","screenSize","setScreenSize","timeoutRef","updateScreenSize","addEventListener","removeEventListener"],"mappings":"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"}
@@ -16,6 +16,8 @@ type ToastOptions = {
16
16
  showIcon?: boolean;
17
17
  };
18
18
 
19
+ type ToastOptionsWithoutId = Omit<ToastOptions, 'id'>;
20
+
19
21
  type ToasterProps = {
20
22
  position?: Positions;
21
23
  richColors?: boolean;
@@ -40,13 +42,14 @@ type Toast = {
40
42
  },
41
43
  options?: ToastOptions,
42
44
  ): void;
43
- custom(
45
+ custom(content: Content, options?: Omit<ToastOptions, 'showIcon'>): void;
46
+
47
+ update(
48
+ id: string | number,
44
49
  content: Content,
45
- options?: { duration?: number; exitDelay?: number; position?: Positions },
50
+ options?: ToastOptionsWithoutId,
46
51
  ): void;
47
-
48
- update(id: string | number, content: Content, options?: ToastOptions): void;
49
- dismiss(id: string | number): void;
52
+ dismiss(id?: string | number): void;
50
53
  };
51
54
 
52
55
  export declare const toast: Toast;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitzo",
3
- "version": "2.2.11",
3
+ "version": "2.2.13",
4
4
  "description": "A lightweight React micro-utility.",
5
5
  "type": "module",
6
6
  "sideEffects": false,