kitzo 2.2.1 → 2.2.2

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.
@@ -343,16 +343,30 @@ toast.promise = function (promise, handlers) {
343
343
  promise.then(/*#__PURE__*/function () {
344
344
  var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee(result) {
345
345
  var _options$duration;
346
- var _t, _t2;
346
+ var successContent, _t, _t2, _t3;
347
347
  return _regenerator().w(function (_context) {
348
348
  while (1) switch (_context.n) {
349
349
  case 0:
350
- _t = toast;
351
- _t2 = id;
350
+ if (!(typeof handlers.success === 'function')) {
351
+ _context.n = 2;
352
+ break;
353
+ }
352
354
  _context.n = 1;
353
355
  return handlers.success(result);
354
356
  case 1:
355
- _t.update.call(_t, _t2, _context.v, {
357
+ _t = _context.v;
358
+ _context.n = 3;
359
+ break;
360
+ case 2:
361
+ _t = handlers.success;
362
+ case 3:
363
+ successContent = _t;
364
+ _t2 = toast;
365
+ _t3 = id;
366
+ _context.n = 4;
367
+ return successContent;
368
+ case 4:
369
+ _t2.update.call(_t2, _t3, _context.v, {
356
370
  type: 'success',
357
371
  duration: (_options$duration = options.duration) !== null && _options$duration !== void 0 ? _options$duration : 2800
358
372
  });
@@ -366,21 +380,30 @@ toast.promise = function (promise, handlers) {
366
380
  }())["catch"](/*#__PURE__*/function () {
367
381
  var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(error) {
368
382
  var _options$duration2;
369
- var _t3, _t4;
383
+ var errorContent, _t4;
370
384
  return _regenerator().w(function (_context2) {
371
385
  while (1) switch (_context2.n) {
372
386
  case 0:
373
- _t3 = toast;
374
- _t4 = id;
387
+ if (!(typeof handlers.error === 'function')) {
388
+ _context2.n = 2;
389
+ break;
390
+ }
375
391
  _context2.n = 1;
376
392
  return handlers.error(error);
377
393
  case 1:
378
- _t3.update.call(_t3, _t4, _context2.v, {
394
+ _t4 = _context2.v;
395
+ _context2.n = 3;
396
+ break;
397
+ case 2:
398
+ _t4 = handlers.error;
399
+ case 3:
400
+ errorContent = _t4;
401
+ toast.update(id, errorContent, {
379
402
  type: 'error',
380
403
  duration: (_options$duration2 = options.duration) !== null && _options$duration2 !== void 0 ? _options$duration2 : 3800
381
404
  });
382
405
  throw error;
383
- case 2:
406
+ case 4:
384
407
  return _context2.a(2);
385
408
  }
386
409
  }, _callee2);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../src/kitzo/ui/toast2.0/toaster.js","../../src/kitzo/ui/toast2.0/manageToasts.js","../../src/kitzo/ui/toast2.0/Svgs.jsx","../../src/kitzo/ui/toast2.0/Toast.jsx","../../src/kitzo/ui/toast2.0/ToastContainer.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 --success-bg: hsl(152, 65%, 95%);\r\n --error-bg: hsl(0, 65%, 95%);\r\n --info-bg: hsl(210, 65%, 95%);\r\n\r\n --normal-text: hsl(0, 0%, 10%);\r\n --success-text: hsl(142, 98%, 30%);\r\n --error-text: hsl(6, 98%, 40%);\r\n --info-text: hsl(210, 100%, 20%);\r\n\r\n --normal-border: hsl(0, 0%, 94%);\r\n --success-border: hsl(123, 100%, 93%);\r\n --error-border: hsl(0, 100%, 94%);\r\n --info-border: hsl(210, 100%, 94%);\r\n\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\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 --success-bg: hsl(152, 65%, 15%);\r\n --error-bg: hsl(0, 65%, 15%);\r\n --info-bg: hsl(210, 65%, 15%);\r\n\r\n --normal-text: hsl(0, 0%, 95%);\r\n --success-text: hsl(142, 98%, 70%);\r\n --error-text: hsl(6, 98%, 70%);\r\n --info-text: hsl(210, 100%, 70%);\r\n\r\n --normal-border: hsl(0, 0%, 17%);\r\n --success-border: hsl(123, 100%, 15%);\r\n --error-border: hsl(0, 100%, 15%);\r\n --info-border: hsl(210, 100%, 16%);\r\n\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\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 {\r\n font-family: inherit;\r\n font-size: 0.875rem;\r\n transition:\r\n opacity 160ms,\r\n transform 210ms;\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.2525rem 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.5);\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.5);\r\n}\r\n\r\n.kitzo-toast.status-entering.pos-y-bottom {\r\n opacity: 0;\r\n transform: translateY(120%) scale(0.5);\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.5);\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, 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: 'add',\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', content, options));\r\n}\r\n\r\ntoast.success = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('success', content, options));\r\n};\r\n\r\ntoast.error = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('error', content, options));\r\n};\r\n\r\ntoast.info = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('info', content, options));\r\n};\r\n\r\ntoast.custom = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('custom', 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\r\n notify({\r\n ...options,\r\n id,\r\n render: content,\r\n action: 'update',\r\n });\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 toast.update(id, await handlers.success(result), {\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 toast.update(id, await handlers.error(error), {\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 './toaster';\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\r\n ref={ref}\r\n style={getToastStyles(t, position)}\r\n >\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 260ms',\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 './toaster';\r\nimport manageToasts from './manageToasts';\r\nimport Toast from './Toast';\r\n\r\nexport default function ToastContainer({\r\n position = 'top-center',\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 setTimeout(() => {\r\n setToasts(updated);\r\n }, 30);\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 ${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-react-tooltip-root {\r\n --bg-clr: hsl(0, 0%, 15%);\r\n --text-clr: hsl(0, 0%, 95%);\r\n\r\n @media (prefers-color-scheme: dark) {\r\n --bg-clr: hsl(0, 0%, 95%);\r\n --text-clr: hsl(0, 0%, 15%);\r\n }\r\n}\r\n\r\n.kitzo-react-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-react-tooltip-wrapper {\r\n --tooltip-offset: calc(var(--offset) * 1px + 1px);\r\n}\r\n/* Top */\r\n.kitzo-react-tooltip-wrapper.top {\r\n bottom: 100%;\r\n padding-block-end: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.top {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.top.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.top.end {\r\n right: 0;\r\n translate: 0 0;\r\n}\r\n\r\n/* Right */\r\n.kitzo-react-tooltip-wrapper.right {\r\n left: 100%;\r\n padding-inline-start: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.right {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-react-tooltip-wrapper.right.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.right.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Bottom */\r\n.kitzo-react-tooltip-wrapper.bottom {\r\n top: 100%;\r\n padding-block-start: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.bottom {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.bottom.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.bottom.end {\r\n left: 100%;\r\n translate: -100% 0;\r\n}\r\n\r\n/* Left */\r\n.kitzo-react-tooltip-wrapper.left {\r\n right: 100%;\r\n padding-inline-end: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.left {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-react-tooltip-wrapper.left.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.left.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Tooltip transitions */\r\n.kitzo-react-tooltip-root.animate-tooltip {\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 .kitzo-react-tooltip-content {\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-react-tooltip-content {\r\n transform: scale(0.8);\r\n opacity: 0;\r\n}\r\n\r\n.kitzo-react-tooltip-content.top {\r\n transform-origin: bottom;\r\n}\r\n.kitzo-react-tooltip-content.right {\r\n transform-origin: left;\r\n}\r\n.kitzo-react-tooltip-content.bottom {\r\n transform-origin: top;\r\n}\r\n.kitzo-react-tooltip-content.left {\r\n transform-origin: right;\r\n}\r\n\r\n.kitzo-react-tooltip-root.animate-tooltip:hover {\r\n .kitzo-react-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-react-tooltip-root:hover {\r\n .kitzo-react-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-react-tooltip-root {\r\n .kitzo-react-tooltip-wrapper {\r\n pointer-events: none;\r\n }\r\n}\r\n.kitzo-react-tooltip-root.smart-hover:hover {\r\n .kitzo-react-tooltip-wrapper {\r\n pointer-events: all;\r\n }\r\n}\r\n\r\n/* Arrow */\r\n.kitzo-react-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-react-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-react-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-react-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-react-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-react-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\n(() => {\r\n if (!document.getElementById('kitzo-react-tooltip-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-react-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 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\nexport default function Tooltip({\r\n content,\r\n tooltipOptions = {},\r\n animation = true,\r\n style = {},\r\n isHidden = false,\r\n children,\r\n}) {\r\n if (typeof isHidden === 'boolean' && isHidden) return children;\r\n\r\n if (typeof content === 'string') {\r\n if (!content.trim()) throw new Error('kitzo/react: tooltip content is required');\r\n } else if (!content) {\r\n throw new Error('kitzo/react: tooltip content is required');\r\n }\r\n // Define options\r\n const {\r\n position = 'top',\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 position: typeof position === 'string' ? position.trim().toLowerCase() : 'top',\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(finalOptions.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 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': style?.['--arrow-color'],\r\n '--arrow-size': style?.['--arrow-size'],\r\n }}\r\n className={`kitzo-react-tooltip-root ${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-react-tooltip-wrapper ${positionClass}`}\r\n >\r\n <div\r\n className={`kitzo-react-tooltip-content ${positionClass} ${finalOptions.arrow ? 'tooltip-arrow' : ''}`}\r\n >\r\n {typeof content === 'string' || typeof content === 'number' ? (\r\n <div className=\"kitzo-react-tooltip-content-default-style\">{content}</div>\r\n ) : (\r\n <>{content}</>\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","content","_opts$id","_opts$duration","_opts$showIcon","options","arguments","length","undefined","opts","_typeof","_objectSpread","render","action","success","error","info","custom","dismiss","update","loading","Infinity","promise","handlers","_options$id","then","_ref","_asyncToGenerator","_regenerator","m","_callee","result","_options$duration","_t","_t2","w","_context","n","v","a","_x","apply","_ref2","_callee2","_options$duration2","_t3","_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","ToastContainer","_ref$position","_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","getPositionClass","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","Tooltip","_ref$tooltipOptions","tooltipOptions","_ref$animation","_ref$style","_ref$isHidden","isHidden","children","trim","Error","_ref2$position","_ref2$offset","offset","_ref2$hideOnTouch","hideOnTouch","_ref2$arrow","arrow","_ref2$smartHover","smartHover","finalOptions","toLowerCase","isNaN","isTouch","positionClass","animationEnabled","animationObj","finalAnimationProperties","whiteSpace","tabIndex","Fragment","useDebounce","value","debouncedValue","setDebouncedValue","handler","useWindowSize","_options$delay","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/toast2.0/toaster.js","../../src/kitzo/ui/toast2.0/manageToasts.js","../../src/kitzo/ui/toast2.0/Svgs.jsx","../../src/kitzo/ui/toast2.0/Toast.jsx","../../src/kitzo/ui/toast2.0/ToastContainer.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 --success-bg: hsl(152, 65%, 95%);\r\n --error-bg: hsl(0, 65%, 95%);\r\n --info-bg: hsl(210, 65%, 95%);\r\n\r\n --normal-text: hsl(0, 0%, 10%);\r\n --success-text: hsl(142, 98%, 30%);\r\n --error-text: hsl(6, 98%, 40%);\r\n --info-text: hsl(210, 100%, 20%);\r\n\r\n --normal-border: hsl(0, 0%, 94%);\r\n --success-border: hsl(123, 100%, 93%);\r\n --error-border: hsl(0, 100%, 94%);\r\n --info-border: hsl(210, 100%, 94%);\r\n\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\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 --success-bg: hsl(152, 65%, 15%);\r\n --error-bg: hsl(0, 65%, 15%);\r\n --info-bg: hsl(210, 65%, 15%);\r\n\r\n --normal-text: hsl(0, 0%, 95%);\r\n --success-text: hsl(142, 98%, 70%);\r\n --error-text: hsl(6, 98%, 70%);\r\n --info-text: hsl(210, 100%, 70%);\r\n\r\n --normal-border: hsl(0, 0%, 17%);\r\n --success-border: hsl(123, 100%, 15%);\r\n --error-border: hsl(0, 100%, 15%);\r\n --info-border: hsl(210, 100%, 16%);\r\n\r\n --success-svg-bg: hsl(142, 98%, 40%);\r\n --error-svg-bg: hsl(6, 98%, 50%);\r\n --info-svg-bg: hsl(210, 100%, 40%);\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 {\r\n font-family: inherit;\r\n font-size: 0.875rem;\r\n transition:\r\n opacity 160ms,\r\n transform 210ms;\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.2525rem 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.5);\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.5);\r\n}\r\n\r\n.kitzo-toast.status-entering.pos-y-bottom {\r\n opacity: 0;\r\n transform: translateY(120%) scale(0.5);\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.5);\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, 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: 'add',\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', content, options));\r\n}\r\n\r\ntoast.success = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('success', content, options));\r\n};\r\n\r\ntoast.error = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('error', content, options));\r\n};\r\n\r\ntoast.info = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('info', content, options));\r\n};\r\n\r\ntoast.custom = (content, options) => {\r\n if (content == null) return;\r\n notify(createToast('custom', 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\r\n notify({\r\n ...options,\r\n id,\r\n render: content,\r\n action: 'update',\r\n });\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 './toaster';\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\r\n ref={ref}\r\n style={getToastStyles(t, position)}\r\n >\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 260ms',\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 './toaster';\r\nimport manageToasts from './manageToasts';\r\nimport Toast from './Toast';\r\n\r\nexport default function ToastContainer({\r\n position = 'top-center',\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 setTimeout(() => {\r\n setToasts(updated);\r\n }, 30);\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 ${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-react-tooltip-root {\r\n --bg-clr: hsl(0, 0%, 15%);\r\n --text-clr: hsl(0, 0%, 95%);\r\n\r\n @media (prefers-color-scheme: dark) {\r\n --bg-clr: hsl(0, 0%, 95%);\r\n --text-clr: hsl(0, 0%, 15%);\r\n }\r\n}\r\n\r\n.kitzo-react-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-react-tooltip-wrapper {\r\n --tooltip-offset: calc(var(--offset) * 1px + 1px);\r\n}\r\n/* Top */\r\n.kitzo-react-tooltip-wrapper.top {\r\n bottom: 100%;\r\n padding-block-end: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.top {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.top.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.top.end {\r\n right: 0;\r\n translate: 0 0;\r\n}\r\n\r\n/* Right */\r\n.kitzo-react-tooltip-wrapper.right {\r\n left: 100%;\r\n padding-inline-start: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.right {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-react-tooltip-wrapper.right.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.right.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Bottom */\r\n.kitzo-react-tooltip-wrapper.bottom {\r\n top: 100%;\r\n padding-block-start: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.bottom {\r\n left: 50%;\r\n translate: -50% 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.bottom.start {\r\n left: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.bottom.end {\r\n left: 100%;\r\n translate: -100% 0;\r\n}\r\n\r\n/* Left */\r\n.kitzo-react-tooltip-wrapper.left {\r\n right: 100%;\r\n padding-inline-end: var(--tooltip-offset);\r\n}\r\n.kitzo-react-tooltip-wrapper.left {\r\n top: 50%;\r\n translate: 0 -50%;\r\n}\r\n.kitzo-react-tooltip-wrapper.left.start {\r\n top: 0;\r\n translate: 0 0;\r\n}\r\n.kitzo-react-tooltip-wrapper.left.end {\r\n top: 100%;\r\n translate: 0 -100%;\r\n}\r\n\r\n/* Tooltip transitions */\r\n.kitzo-react-tooltip-root.animate-tooltip {\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 .kitzo-react-tooltip-content {\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-react-tooltip-content {\r\n transform: scale(0.8);\r\n opacity: 0;\r\n}\r\n\r\n.kitzo-react-tooltip-content.top {\r\n transform-origin: bottom;\r\n}\r\n.kitzo-react-tooltip-content.right {\r\n transform-origin: left;\r\n}\r\n.kitzo-react-tooltip-content.bottom {\r\n transform-origin: top;\r\n}\r\n.kitzo-react-tooltip-content.left {\r\n transform-origin: right;\r\n}\r\n\r\n.kitzo-react-tooltip-root.animate-tooltip:hover {\r\n .kitzo-react-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-react-tooltip-root:hover {\r\n .kitzo-react-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-react-tooltip-root {\r\n .kitzo-react-tooltip-wrapper {\r\n pointer-events: none;\r\n }\r\n}\r\n.kitzo-react-tooltip-root.smart-hover:hover {\r\n .kitzo-react-tooltip-wrapper {\r\n pointer-events: all;\r\n }\r\n}\r\n\r\n/* Arrow */\r\n.kitzo-react-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-react-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-react-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-react-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-react-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-react-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\n(() => {\r\n if (!document.getElementById('kitzo-react-tooltip-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-react-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 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\nexport default function Tooltip({\r\n content,\r\n tooltipOptions = {},\r\n animation = true,\r\n style = {},\r\n isHidden = false,\r\n children,\r\n}) {\r\n if (typeof isHidden === 'boolean' && isHidden) return children;\r\n\r\n if (typeof content === 'string') {\r\n if (!content.trim()) throw new Error('kitzo/react: tooltip content is required');\r\n } else if (!content) {\r\n throw new Error('kitzo/react: tooltip content is required');\r\n }\r\n // Define options\r\n const {\r\n position = 'top',\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 position: typeof position === 'string' ? position.trim().toLowerCase() : 'top',\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(finalOptions.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 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': style?.['--arrow-color'],\r\n '--arrow-size': style?.['--arrow-size'],\r\n }}\r\n className={`kitzo-react-tooltip-root ${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-react-tooltip-wrapper ${positionClass}`}\r\n >\r\n <div\r\n className={`kitzo-react-tooltip-content ${positionClass} ${finalOptions.arrow ? 'tooltip-arrow' : ''}`}\r\n >\r\n {typeof content === 'string' || typeof content === 'number' ? (\r\n <div className=\"kitzo-react-tooltip-content-default-style\">{content}</div>\r\n ) : (\r\n <>{content}</>\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","content","_opts$id","_opts$duration","_opts$showIcon","options","arguments","length","undefined","opts","_typeof","_objectSpread","render","action","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","ToastContainer","_ref$position","_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","getPositionClass","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","Tooltip","_ref$tooltipOptions","tooltipOptions","_ref$animation","_ref$style","_ref$isHidden","isHidden","children","trim","Error","_ref2$position","_ref2$offset","offset","_ref2$hideOnTouch","hideOnTouch","_ref2$arrow","arrow","_ref2$smartHover","smartHover","finalOptions","toLowerCase","isNaN","isTouch","positionClass","animationEnabled","animationObj","finalAnimationProperties","whiteSpace","tabIndex","Fragment","useDebounce","value","debouncedValue","setDebouncedValue","handler","useWindowSize","_options$delay","screenWidth","innerWidth","screenHeight","innerHeight","screenSize","setScreenSize","timeoutRef","updateScreenSize","addEventListener","removeEventListener"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kitzo",
3
- "version": "2.2.1",
3
+ "version": "2.2.2",
4
4
  "description": "A lightweight React micro-utility.",
5
5
  "type": "module",
6
6
  "sideEffects": false,