kitzo 2.1.28 → 2.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +98 -138
- package/dist/functions/index.js +36 -0
- package/dist/functions/index.js.map +1 -0
- package/dist/functions/types.d.ts +0 -0
- package/dist/react/index.js +676 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/types/functions.d.ts +2 -0
- package/dist/react/types/hooks.d.ts +14 -0
- package/dist/react/types/tooltip.d.ts +1 -0
- package/dist/react/{index.d.ts → types.d.ts} +1 -0
- package/package.json +75 -73
- package/dist/react/react.esm.js +0 -857
- package/dist/vanilla/vanilla.d.ts +0 -95
- package/dist/vanilla/vanilla.esm.js +0 -589
- package/dist/vanilla/vanilla.umd.js +0 -597
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/kitzo/ui/toast/toaster.js","../../src/kitzo/ui/toast/Svgs.jsx","../../src/kitzo/ui/toast/Toast.jsx","../../src/kitzo/ui/toast/ToastContainer.jsx","../../src/kitzo/ui/tooltip/Tooltip.jsx","../../src/kitzo/hooks/useDebounce.jsx","../../src/kitzo/hooks/useWindowSize.jsx"],"sourcesContent":["const toastStyles = `.toast-content,\r\n.toast-content-bottom {\r\n font-size: 0.925rem;\r\n}\r\n.toast-content,\r\n.toast-content-bottom {\r\n pointer-events: all;\r\n}\r\n \r\n.pre-styled {\r\n padding-inline: 0.825rem;\r\n padding-block: 0.625rem;\r\n display: flex;\r\n align-items: center;\r\n gap: 0.5rem;\r\n background-color: white;\r\n border-radius: 0.5525rem;\r\n box-shadow: 0 2px 8px -3px rgba(0, 0, 0, 0.3);\r\n}\r\n\r\n.toast-content {\r\n animation: slide-in 230ms forwards;\r\n}\r\n.toast-content.exit {\r\n animation: slide-out 110ms forwards;\r\n}\r\n\r\n.toast-content-bottom {\r\n animation: bottom-slide-in 230ms forwards;\r\n}\r\n.toast-content-bottom.exit {\r\n animation: bottom-slide-out 110ms forwards;\r\n}\r\n\r\n@keyframes slide-in {\r\n from {\r\n opacity: 0;\r\n translate: 0 -100%;\r\n scale: 0.7;\r\n }\r\n to {\r\n opacity: 1;\r\n translate: 0 0;\r\n scale: 1;\r\n }\r\n}\r\n\r\n@keyframes slide-out {\r\n from {\r\n opacity: 1;\r\n translate: 0 0;\r\n scale: 1;\r\n }\r\n to {\r\n opacity: 0;\r\n translate: 0 -100%;\r\n scale: 0.7;\r\n }\r\n}\r\n\r\n@keyframes bottom-slide-in {\r\n from {\r\n opacity: 0;\r\n translate: 0 100%;\r\n scale: 0.7;\r\n }\r\n to {\r\n opacity: 1;\r\n translate: 0 0;\r\n scale: 1;\r\n }\r\n}\r\n\r\n@keyframes bottom-slide-out {\r\n from {\r\n opacity: 1;\r\n translate: 0 0;\r\n scale: 1;\r\n }\r\n to {\r\n opacity: 0;\r\n translate: 0 100%;\r\n scale: 0.7;\r\n }\r\n}\r\n\r\n.svg-container {\r\n display: grid;\r\n place-items: center;\r\n border-radius: 10rem;\r\n background-color: #61d345;\r\n color: white;\r\n height: 20px;\r\n width: 20px;\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: 14px;\r\n height: 14px;\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: #61d345;\r\n}\r\n.svg-container.error {\r\n background-color: #ff4b4b;\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.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: #61d345;\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.promise-svg-container {\r\n width: 20px;\r\n height: 20px;\r\n display: grid;\r\n place-items: center;\r\n color: #474747;\r\n\r\n svg {\r\n width: 14px;\r\n height: 14px;\r\n stroke-width: 3px;\r\n display: inline-block;\r\n animation: rotate-infinity 1000ms infinite linear;\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\nfunction addToast(toast) {\r\n listeners.forEach((callback) => {\r\n callback(toast);\r\n });\r\n}\r\n\r\nexport function subscribe(callback) {\r\n if (!document.getElementById('kitzo-react-toast-styles')) {\r\n const styleTag = document.createElement('style');\r\n styleTag.id = 'kitzo-react-toast-styles';\r\n styleTag.textContent = toastStyles;\r\n document.head.appendChild(styleTag);\r\n }\r\n\r\n listeners.add(callback);\r\n return () => listeners.delete(callback);\r\n}\r\n\r\nfunction toast(text = 'Toast message', options = {}) {\r\n const id = Date.now();\r\n options = Object.assign(\r\n {\r\n duration: 2800,\r\n id,\r\n style: {},\r\n showIcon: false,\r\n },\r\n options,\r\n );\r\n addToast({ type: 'success', text, options });\r\n}\r\n\r\ntoast.success = (text = 'Toast success', options = {}) => {\r\n const id = Date.now();\r\n options = Object.assign(\r\n {\r\n duration: 2800,\r\n id,\r\n style: {},\r\n showIcon: true,\r\n },\r\n options,\r\n );\r\n addToast({ type: 'success', text, options });\r\n};\r\n\r\ntoast.error = (text = 'Toast denied', options = {}) => {\r\n const id = Date.now();\r\n options = Object.assign(\r\n {\r\n duration: 2800,\r\n id,\r\n style: {},\r\n showIcon: true,\r\n },\r\n options,\r\n );\r\n addToast({ type: 'error', text, options });\r\n};\r\n\r\ntoast.promise = (callback, msgs = {}, options = {}) => {\r\n const id = Date.now();\r\n options = Object.assign(\r\n {\r\n duration: 2800,\r\n id,\r\n style: {},\r\n showIcon: true,\r\n },\r\n options,\r\n );\r\n\r\n msgs = Object.assign(\r\n {\r\n loading: 'Saving...',\r\n success: 'Success',\r\n error: 'Something went wrong',\r\n },\r\n msgs,\r\n );\r\n\r\n addToast({ type: 'loading', text: msgs.loading, options: { ...options, duration: Infinity, id } });\r\n\r\n callback\r\n .then((res) => {\r\n const successMsg = typeof msgs.success === 'function' ? msgs.success(res) : msgs.success;\r\n addToast({ type: 'success', text: successMsg, options });\r\n\r\n return res;\r\n })\r\n .catch((err) => {\r\n const normalizedError = err instanceof Error ? err : new Error(String(err));\r\n const errorMsg = typeof msgs.error === 'function' ? msgs.error(normalizedError) : msgs.error;\r\n\r\n addToast({ type: 'error', text: errorMsg, options });\r\n return Promise.reject(normalizedError);\r\n });\r\n};\r\n\r\ntoast.custom = (render, options = {}) => {\r\n const id = Date.now();\r\n\r\n options = Object.assign(\r\n {\r\n duration: 3000,\r\n id,\r\n exitDelay: 50,\r\n },\r\n options,\r\n );\r\n\r\n addToast({\r\n type: 'custom',\r\n render,\r\n options,\r\n });\r\n\r\n return id;\r\n};\r\n\r\nfunction dismiss(id, exitDelay) {\r\n addToast({ type: 'dismiss', id, exitDelay });\r\n}\r\n\r\nexport { toast, dismiss };\r\n","export function SuccessSvg() {\r\n return (\r\n <div className=\"svg-container success\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\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 xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\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 <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\r\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\r\n </svg>\r\n </div>\r\n );\r\n}\r\n","import { useRef, useLayoutEffect } from 'react';\r\nimport { SuccessSvg, ErrorSvg, LoadingSvg } from './Svgs';\r\nimport { dismiss } from './toaster';\r\n\r\nfunction Toast({ toast, setToasts, position, gap }) {\r\n const { id, leaving, offset, text, type, options } = toast;\r\n const { style, showIcon } = options;\r\n const ref = useRef(null);\r\n\r\n useLayoutEffect(() => {\r\n if (!ref.current) return;\r\n\r\n const height = ref.current.getBoundingClientRect().height;\r\n const totalHeight = height + gap;\r\n\r\n setToasts((prev) => prev.map((t) => (t.id === id ? { ...t, height: totalHeight } : t)));\r\n }, []);\r\n\r\n const transformY = position.includes('bottom') ? `translateY(-${offset || 0}px)` : `translateY(${offset || 0}px)`;\r\n\r\n function renderCustomContent() {\r\n const render = toast.render;\r\n\r\n if (typeof render === 'function') {\r\n return render(() => dismiss(toast.id, toast.options.exitDelay));\r\n }\r\n if (typeof render === 'string') {\r\n return <span>{render}</span>;\r\n }\r\n return render;\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n style={{\r\n maxHeight: 'fit-content',\r\n transform: transformY,\r\n ...getToastPosition(position),\r\n }}\r\n >\r\n <div className={`toast-content${position.includes('bottom') ? '-bottom' : ''} ${leaving ? 'exit' : ''}`}>\r\n {type === 'custom' ? (\r\n renderCustomContent()\r\n ) : (\r\n <div style={{ ...style }} className=\"pre-styled\">\r\n {showIcon && (\r\n <>\r\n {type === 'loading' && <LoadingSvg />}\r\n {type === 'success' && <SuccessSvg />}\r\n {type === 'error' && <ErrorSvg />}\r\n </>\r\n )}\r\n <span>{text}</span>\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default Toast;\r\n\r\nfunction getToastPosition(position) {\r\n const isLeft = position.includes('left');\r\n const isRight = position.includes('right');\r\n\r\n const styles = {\r\n position: 'absolute',\r\n width: '100%',\r\n pointerEvents: 'none',\r\n transition: 'transform 230ms',\r\n display: 'flex',\r\n };\r\n\r\n if (position.includes('top')) {\r\n styles.top = '0';\r\n styles.justifyContent = isLeft ? 'flex-start' : isRight ? 'flex-end' : 'center';\r\n }\r\n if (position.includes('bottom')) {\r\n styles.bottom = '0';\r\n styles.justifyContent = isLeft ? 'flex-start' : isRight ? 'flex-end' : 'center';\r\n }\r\n\r\n return styles;\r\n}\r\n","import { useEffect, useLayoutEffect, useState } from 'react';\r\nimport { subscribe } from './toaster';\r\nimport Toast from './Toast';\r\n\r\nexport default function ToastContainer(props) {\r\n props = Object.assign(\r\n {\r\n position: 'top-center',\r\n gap: 8,\r\n },\r\n props,\r\n );\r\n\r\n const { gap } = props;\r\n const position = props.position;\r\n\r\n const [toasts, setToasts] = useState([]);\r\n\r\n // event listener\r\n useEffect(() => {\r\n const unsub = subscribe((toast) => {\r\n if (toast.type === 'dismiss') {\r\n setTimeout(\r\n () => {\r\n setToasts((prev) => prev.map((t) => (t.options.id === toast.id ? { ...t, leaving: true } : t)));\r\n },\r\n Math.max(0, Number(toast.exitDelay)),\r\n );\r\n\r\n setTimeout(\r\n () => {\r\n setToasts((prev) => prev.filter((t) => t.options.id !== toast.id));\r\n },\r\n Math.max(0, Number(toast.exitDelay) + 300),\r\n );\r\n return;\r\n }\r\n\r\n const duration = toast.options.duration;\r\n const id = toast.options.id;\r\n\r\n setToasts((prev) => {\r\n const exists = prev.some((t) => t.options.id === id);\r\n if (exists) {\r\n return prev.map((t) => (t.options.id === id ? { ...t, ...toast } : t));\r\n }\r\n\r\n return [{ id, ...toast, offset: 0, height: 0, leaving: false }, ...prev];\r\n });\r\n\r\n if (toast.type !== 'loading' && isFinite(duration)) {\r\n setTimeout(\r\n () => {\r\n setToasts((prev) => prev.map((t) => (t.options.id === id ? { ...t, leaving: true } : t)));\r\n },\r\n Math.max(0, duration - 300),\r\n );\r\n\r\n setTimeout(() => {\r\n setToasts((prev) => prev.filter((t) => t.options.id !== id));\r\n }, duration);\r\n }\r\n });\r\n\r\n return () => unsub();\r\n }, []);\r\n\r\n // measue height and offset for each toast\r\n useLayoutEffect(() => {\r\n const grouped = toasts.reduce((acc, t) => {\r\n const pos = t.options.position || position || 'top-center';\r\n (acc[pos] ||= []).push(t);\r\n return acc;\r\n }, {});\r\n\r\n let hasChanged = false;\r\n\r\n const updated = toasts.map((toast) => {\r\n const pos = toast.options.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 offset = group.slice(0, index).reduce((acc, t) => acc + (t.height || 0), 0);\r\n\r\n if (offset !== toast.offset) {\r\n hasChanged = true;\r\n }\r\n\r\n return { ...toast, offset };\r\n });\r\n\r\n if (hasChanged) {\r\n setToasts(updated);\r\n }\r\n }, [toasts]);\r\n\r\n const positions = ['top-left', 'top-center', 'top-right', 'bottom-left', 'bottom-center', 'bottom-right'];\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'fixed',\r\n inset: 0,\r\n zIndex: 100000000,\r\n pointerEvents: 'none',\r\n fontFamily: 'inherit',\r\n\r\n boxSizing: 'border-box',\r\n }}\r\n >\r\n {positions.map((pos) => {\r\n const group = toasts.filter((t) => (t.options.position || position || 'top-center') === pos);\r\n if (!group.length) return null;\r\n\r\n return (\r\n <div key={pos} style={{ position: 'absolute', inset: 0, display: 'grid', padding: '1rem' }}>\r\n <div style={{ position: 'relative' }}>\r\n {group.map((toast) => (\r\n <Toast key={toast.options.id} toast={toast} setToasts={setToasts} position={pos} gap={typeof gap === 'string' ? (isNaN(+gap) ? 8 : +gap) : gap} />\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n })}\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","addToast","toast","forEach","callback","subscribe","document","getElementById","styleTag","createElement","id","textContent","head","appendChild","add","text","arguments","length","undefined","options","Date","now","Object","assign","duration","style","showIcon","type","success","error","promise","msgs","loading","_objectSpread","Infinity","then","res","successMsg","err","normalizedError","Error","String","errorMsg","Promise","reject","custom","render","exitDelay","dismiss","SuccessSvg","React","className","xmlns","width","height","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","d","ErrorSvg","LoadingSvg","Toast","_ref","setToasts","position","gap","leaving","offset","ref","useRef","useLayoutEffect","current","getBoundingClientRect","totalHeight","prev","map","t","transformY","includes","concat","renderCustomContent","maxHeight","transform","getToastPosition","Fragment","isLeft","isRight","styles","pointerEvents","transition","display","top","justifyContent","bottom","ToastContainer","props","_props","_useState","useState","_useState2","_slicedToArray","toasts","useEffect","unsub","setTimeout","Math","max","Number","filter","exists","some","_toConsumableArray","isFinite","grouped","reduce","acc","pos","push","hasChanged","updated","group","index","findIndex","slice","positions","inset","zIndex","fontFamily","boxSizing","key","padding","isNaN","tooltipStyles","allowedPositions","getPositionClass","allowedPos","find","p","_allowedPos$split","split","_allowedPos$split2","dir","state","getAnimationProperties","animation","_animation$delay","_animation$duration","effectiveStartDelay","startDelay","effectiveEndDelay","endDelay","effectiveDelay","delay","effectiveStartDuration","startDuration","effectiveEndDuration","endDuration","effectiveDuration","Tooltip","content","_ref$tooltipOptions","tooltipOptions","_ref$animation","_ref$style","_ref$isHidden","isHidden","children","trim","_ref2","_ref2$position","_ref2$offset","_ref2$hideOnTouch","hideOnTouch","_ref2$arrow","arrow","_ref2$smartHover","smartHover","finalOptions","toLowerCase","isTouch","window","matchMedia","matches","positionClass","animationEnabled","animationObj","finalAnimationProperties","whiteSpace","tabIndex","useDebounce","value","debouncedValue","setDebouncedValue","handler","clearTimeout","useWindowSize","_options$delay","screenWidth","innerWidth","screenHeight","innerHeight","screenSize","setScreenSize","timeoutRef","updateScreenSize","addEventListener","removeEventListener"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
//! useDebounce hook type
|
|
2
|
+
export declare function useDebounce<T>(value: T, delay: number): T;
|
|
3
|
+
|
|
4
|
+
//! useWindowSize hook type
|
|
5
|
+
type UseWindowSizePropsType = {
|
|
6
|
+
delay?: number;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
type ScreenSizeType = {
|
|
10
|
+
screenWidth: number;
|
|
11
|
+
screenHeight: number;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export declare function useWindowSize(options?: UseWindowSizePropsType): ScreenSizeType;
|
package/package.json
CHANGED
|
@@ -1,73 +1,75 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "kitzo",
|
|
3
|
-
"version": "2.1.
|
|
4
|
-
"description": "A lightweight
|
|
5
|
-
"type": "module",
|
|
6
|
-
"
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./dist/
|
|
10
|
-
"import": "./dist/
|
|
11
|
-
"
|
|
12
|
-
},
|
|
13
|
-
"./
|
|
14
|
-
"types": "./dist/
|
|
15
|
-
"import": "./dist/
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
"
|
|
24
|
-
"build
|
|
25
|
-
"
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
"@babel/
|
|
49
|
-
"@
|
|
50
|
-
"@
|
|
51
|
-
"@
|
|
52
|
-
"@rollup/plugin-
|
|
53
|
-
"@
|
|
54
|
-
"@
|
|
55
|
-
"@
|
|
56
|
-
"@
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"eslint
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"react
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "kitzo",
|
|
3
|
+
"version": "2.1.30",
|
|
4
|
+
"description": "A lightweight React micro-utility.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"sideEffects": false,
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./dist/react/types.d.ts",
|
|
10
|
+
"import": "./dist/react/index.js",
|
|
11
|
+
"default": "./dist/react/index.js"
|
|
12
|
+
},
|
|
13
|
+
"./fns": {
|
|
14
|
+
"types": "./dist/functions/types.d.ts",
|
|
15
|
+
"import": "./dist/functions/index.js",
|
|
16
|
+
"default": "./dist/functions/index.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"files": [
|
|
20
|
+
"dist"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"dev": "vite",
|
|
24
|
+
"build": "rollup -c",
|
|
25
|
+
"build-test": "vite build",
|
|
26
|
+
"lint": "eslint .",
|
|
27
|
+
"preview": "vite preview"
|
|
28
|
+
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"tooltip",
|
|
31
|
+
"toast",
|
|
32
|
+
"hooks",
|
|
33
|
+
"function",
|
|
34
|
+
"micro-utility",
|
|
35
|
+
"ui",
|
|
36
|
+
"reactjs",
|
|
37
|
+
"react",
|
|
38
|
+
"kitzo"
|
|
39
|
+
],
|
|
40
|
+
"author": "Riyad",
|
|
41
|
+
"license": "MIT",
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "git+https://github.com/riyad-96/kitzo.git"
|
|
45
|
+
},
|
|
46
|
+
"homepage": "https://github.com/riyad-96/kitzo#readme",
|
|
47
|
+
"devDependencies": {
|
|
48
|
+
"@babel/core": "^7.28.5",
|
|
49
|
+
"@babel/preset-env": "^7.28.5",
|
|
50
|
+
"@babel/preset-react": "^7.28.5",
|
|
51
|
+
"@eslint/js": "^9.39.1",
|
|
52
|
+
"@rollup/plugin-babel": "^6.1.0",
|
|
53
|
+
"@rollup/plugin-commonjs": "^29.0.0",
|
|
54
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
55
|
+
"@tailwindcss/vite": "^4.1.17",
|
|
56
|
+
"@types/react": "^19.2.5",
|
|
57
|
+
"@types/react-dom": "^19.2.3",
|
|
58
|
+
"@vitejs/plugin-react": "^5.1.1",
|
|
59
|
+
"eslint": "^9.39.1",
|
|
60
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
61
|
+
"eslint-plugin-react-refresh": "^0.4.24",
|
|
62
|
+
"globals": "^16.5.0",
|
|
63
|
+
"prettier": "^3.6.2",
|
|
64
|
+
"prettier-plugin-tailwindcss": "^0.7.1",
|
|
65
|
+
"react": "^19.2.0",
|
|
66
|
+
"react-dom": "^19.2.0",
|
|
67
|
+
"react-router-dom": "^7.9.6",
|
|
68
|
+
"tailwindcss": "^4.1.17",
|
|
69
|
+
"vite": "^7.2.4"
|
|
70
|
+
},
|
|
71
|
+
"peerDependencies": {
|
|
72
|
+
"react": ">=19",
|
|
73
|
+
"react-dom": ">=19"
|
|
74
|
+
}
|
|
75
|
+
}
|