@sitharaj08/gamify 1.0.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../node_modules/react/cjs/react-jsx-runtime.production.js","../node_modules/react/cjs/react-jsx-runtime.development.js","../node_modules/react/jsx-runtime.js","../node_modules/clsx/dist/clsx.mjs","../src/components/GamifyAvatar/GamifyAvatar.tsx","../src/components/GamifyBadge/GamifyBadge.tsx","../src/components/GamifyButton/GamifyButton.tsx","../src/components/GamifyCard/GamifyCard.tsx","../src/components/GamifyInput/GamifyInput.tsx","../src/components/GamifyLeaderboard/GamifyLeaderboard.tsx","../src/components/GamifyModal/GamifyModal.tsx","../src/components/GamifySlider/GamifySlider.tsx","../src/components/GamifySpinner/GamifySpinner.tsx","../src/components/GamifySwitch/GamifySwitch.tsx","../src/components/GamifyTabs/GamifyTabs.tsx","../src/theme/GamifyThemeContext.tsx","../src/hooks/useTheme.ts","../src/components/GamifyThemeToggle/GamifyThemeToggle.tsx","../src/components/GamifyToast/GamifyToast.tsx","../src/components/GamifyTooltip/GamifyTooltip.tsx","../src/components/Game/HealthBar.tsx","../src/components/Game/InventorySlot.tsx","../src/components/QuestLog/QuestLog.tsx","../src/components/GamifyShareFab/GamifyShareFab.tsx"],"sourcesContent":["/**\n * @license React\n * react-jsx-runtime.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\");\nfunction jsxProd(type, config, maybeKey) {\n var key = null;\n void 0 !== maybeKey && (key = \"\" + maybeKey);\n void 0 !== config.key && (key = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n config = maybeKey.ref;\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n ref: void 0 !== config ? config : null,\n props: maybeKey\n };\n}\nexports.Fragment = REACT_FRAGMENT_TYPE;\nexports.jsx = jsxProd;\nexports.jsxs = jsxProd;\n","/**\n * @license React\n * react-jsx-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getTaskName(type) {\n if (type === REACT_FRAGMENT_TYPE) return \"<>\";\n if (\n \"object\" === typeof type &&\n null !== type &&\n type.$$typeof === REACT_LAZY_TYPE\n )\n return \"<...>\";\n try {\n var name = getComponentNameFromType(type);\n return name ? \"<\" + name + \">\" : \"<...>\";\n } catch (x) {\n return \"<...>\";\n }\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function UnknownOwner() {\n return Error(\"react-stack-top-frame\");\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, props, owner, debugStack, debugTask) {\n var refProp = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== refProp ? refProp : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.defineProperty(type, \"_debugStack\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugStack\n });\n Object.defineProperty(type, \"_debugTask\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: debugTask\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n debugStack,\n debugTask\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren]);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children);\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(\n type,\n children,\n maybeKey,\n getOwner(),\n debugStack,\n debugTask\n );\n }\n function validateChildKeys(node) {\n isValidElement(node)\n ? node._store && (node._store.validated = 1)\n : \"object\" === typeof node &&\n null !== node &&\n node.$$typeof === REACT_LAZY_TYPE &&\n (\"fulfilled\" === node._payload.status\n ? isValidElement(node._payload.value) &&\n node._payload.value._store &&\n (node._payload.value._store.validated = 1)\n : node._store && (node._store.validated = 1));\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n isArrayImpl = Array.isArray,\n createTask = console.createTask\n ? console.createTask\n : function () {\n return null;\n };\n React = {\n react_stack_bottom_frame: function (callStackForError) {\n return callStackForError();\n }\n };\n var specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var unknownOwnerDebugStack = React.react_stack_bottom_frame.bind(\n React,\n UnknownOwner\n )();\n var unknownOwnerDebugTask = createTask(getTaskName(UnknownOwner));\n var didWarnAboutKeySpread = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsx = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !1,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n exports.jsxs = function (type, config, maybeKey) {\n var trackActualOwner =\n 1e4 > ReactSharedInternals.recentlyCreatedOwnerStacks++;\n return jsxDEVImpl(\n type,\n config,\n maybeKey,\n !0,\n trackActualOwner\n ? Error(\"react-stack-top-frame\")\n : unknownOwnerDebugStack,\n trackActualOwner ? createTask(getTaskName(type)) : unknownOwnerDebugTask\n );\n };\n })();\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-runtime.development.js');\n}\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifyAvatar.css';\n\nexport interface GamifyAvatarProps extends React.HTMLAttributes<HTMLDivElement> {\n src: string;\n alt: string;\n size?: 'sm' | 'md' | 'lg' | 'xl';\n rank?: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary' | 'mythic';\n status?: 'online' | 'offline' | 'busy';\n}\n\nexport const GamifyAvatar: React.FC<GamifyAvatarProps> = ({\n src,\n alt,\n size = 'md',\n rank = 'common',\n status,\n className,\n ...props\n}) => {\n return (\n <div\n className={clsx(\n 'gamify-avatar',\n `gamify-avatar--${size}`,\n `gamify-avatar--${rank}`,\n className\n )}\n {...props}\n >\n <img src={src} alt={alt} className='gamify-avatar__img' />\n {status && (\n <span\n className={clsx(\n 'gamify-avatar__status',\n `gamify-avatar__status--${status}`\n )}\n />\n )}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifyBadge.css';\n\nexport interface GamifyBadgeProps extends React.HTMLAttributes<HTMLSpanElement> {\n variant?: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary' | 'mythic';\n children: React.ReactNode;\n}\n\nexport const GamifyBadge: React.FC<GamifyBadgeProps> = ({\n variant = 'common',\n className,\n children,\n ...props\n}) => {\n return (\n <span\n className={clsx('gamify-badge', `gamify-badge--${variant}`, className)}\n {...props}\n >\n {children}\n </span>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifyButton.css';\n\nexport interface GamifyButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: 'primary' | 'danger' | 'outline' | 'ghost' | 'legendary';\n size?: 'sm' | 'md' | 'lg';\n children: React.ReactNode;\n}\n\nexport const GamifyButton: React.FC<GamifyButtonProps> = ({\n variant = 'primary',\n size = 'md',\n className,\n children,\n ...props\n}) => {\n return (\n <button\n className={clsx(\n 'gamify-btn',\n `gamify-btn--${variant}`,\n `gamify-btn--${size}`,\n className\n )}\n {...props}\n >\n {children}\n </button>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifyCard.css';\n\nexport interface GamifyCardProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: 'default' | 'cyber' | 'neon';\n children: React.ReactNode;\n}\n\nexport const GamifyCard: React.FC<GamifyCardProps> = ({\n variant = 'default',\n className,\n children,\n ...props\n}) => {\n return (\n <div\n className={clsx('gamify-card', `gamify-card--${variant}`, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifyInput.css';\n\nexport interface GamifyInputProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: string;\n error?: string;\n}\n\nexport const GamifyInput: React.FC<GamifyInputProps> = ({\n label,\n error,\n className,\n ...props\n}) => {\n return (\n <div className='gamify-input-wrapper'>\n {label && <label className='gamify-label'>{label}</label>}\n <input\n className={clsx(\n 'gamify-input',\n { 'gamify-input--error': error },\n className\n )}\n {...props}\n />\n {error && <span className='gamify-error-message'>{error}</span>}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport { GamifyAvatar } from '../GamifyAvatar/GamifyAvatar';\nimport './GamifyLeaderboard.css';\n\nexport interface LeaderboardEntry {\n id: string;\n name: string;\n avatar: string;\n score: number;\n}\n\nexport interface GamifyLeaderboardProps extends React.HTMLAttributes<HTMLTableElement> {\n data: LeaderboardEntry[];\n}\n\nexport const GamifyLeaderboard: React.FC<GamifyLeaderboardProps> = ({\n data,\n className,\n ...props\n}) => {\n return (\n <table className={clsx('gamify-leaderboard', className)} {...props}>\n <thead>\n <tr>\n <th>Rank</th>\n <th>Player</th>\n <th style={{ textAlign: 'right' }}>Score</th>\n </tr>\n </thead>\n <tbody>\n {data.map((entry, index) => (\n <tr key={entry.id} className={`gamify-leaderboard-row--${index + 1}`}>\n <td className='gamify-leaderboard__rank'>#{index + 1}</td>\n <td>\n <div className='gamify-leaderboard__player'>\n <GamifyAvatar src={entry.avatar} alt={entry.name} size='sm' />\n {entry.name}\n </div>\n </td>\n <td className='gamify-leaderboard__score'>{entry.score.toLocaleString()}</td>\n </tr>\n ))}\n </tbody>\n </table>\n );\n};\n","import React, { useEffect } from 'react';\nimport clsx from 'clsx';\nimport { GamifyButton } from '../GamifyButton/GamifyButton';\nimport './GamifyModal.css';\n\nexport interface GamifyModalProps {\n isOpen: boolean;\n onClose: () => void;\n title: string;\n children: React.ReactNode;\n variant?: 'default' | 'alert';\n footer?: React.ReactNode;\n}\n\nexport const GamifyModal: React.FC<GamifyModalProps> = ({\n isOpen,\n onClose,\n title,\n children,\n variant = 'default',\n footer,\n}) => {\n useEffect(() => {\n const handleEsc = (e: KeyboardEvent) => {\n if (e.key === 'Escape') onClose();\n };\n if (isOpen) window.addEventListener('keydown', handleEsc);\n return () => window.removeEventListener('keydown', handleEsc);\n }, [isOpen, onClose]);\n\n if (!isOpen) return null;\n\n return (\n <div className='gamify-modal-overlay' onClick={onClose}>\n <div\n className={clsx('gamify-modal', `gamify-modal--${variant}`)}\n onClick={(e) => e.stopPropagation()}\n >\n <div className='gamify-modal__header'>\n <h3 className='gamify-modal__title'>{title}</h3>\n <button className='gamify-modal__close' onClick={onClose}>&times;</button>\n </div>\n <div className='gamify-modal__content'>\n {children}\n </div>\n <div className='gamify-modal__footer'>\n {footer ? footer : (\n <GamifyButton size='sm' variant='ghost' onClick={onClose}>Close</GamifyButton>\n )}\n </div>\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifySlider.css';\n\nexport interface GamifySliderProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {\n label?: string;\n showValue?: boolean;\n}\n\nexport const GamifySlider: React.FC<GamifySliderProps> = ({\n label,\n value,\n showValue = true,\n className,\n ...props\n}) => {\n return (\n <div className={clsx('gamify-slider-container', className)}>\n {(label || showValue) && (\n <div className='gamify-slider-label'>\n {label && <span>{label}</span>}\n {showValue && <span className='gamify-slider-value'>{value}</span>}\n </div>\n )}\n <input\n type='range'\n className='gamify-slider'\n value={value}\n {...props}\n />\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifySpinner.css';\n\nexport interface GamifySpinnerProps {\n size?: 'sm' | 'md' | 'lg';\n className?: string;\n}\n\nexport const GamifySpinner: React.FC<GamifySpinnerProps> = ({\n size = 'md',\n className,\n}) => {\n return (\n <div className={clsx('gamify-spinner', `gamify-spinner--${size}`, className)}>\n <div className='gamify-spinner__ring'></div>\n <div className='gamify-spinner__ring'></div>\n <div className='gamify-spinner__ring'></div>\n <div className='gamify-spinner__ring'></div>\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifySwitch.css';\n\nexport interface GamifySwitchProps extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: string;\n}\n\nexport const GamifySwitch: React.FC<GamifySwitchProps> = ({\n label,\n className,\n checked,\n ...props\n}) => {\n return (\n <label className={clsx('gamify-switch-label', className)}>\n <div className='gamify-switch'>\n <input type='checkbox' checked={checked} {...props} />\n <span className='gamify-switch__slider'></span>\n </div>\n {label && <span>{label}</span>}\n </label>\n );\n};\n","import React, { useRef } from 'react';\nimport clsx from 'clsx';\nimport './GamifyTabs.css';\n\nexport interface TabItem {\n id: string;\n label: string;\n}\n\nexport interface GamifyTabsProps {\n tabs: TabItem[];\n activeTabId: string;\n onTabChange: (id: string) => void;\n className?: string;\n}\n\nexport const GamifyTabs: React.FC<GamifyTabsProps> = ({\n tabs,\n activeTabId,\n onTabChange,\n className,\n}) => {\n const tabsRef = useRef<HTMLDivElement>(null);\n\n const handleTabClick = (tabId: string, index: number) => {\n onTabChange(tabId);\n\n // Auto-scroll to show next tab if clicking near the edge\n if (tabsRef.current) {\n const container = tabsRef.current;\n const buttons = container.querySelectorAll('.gamify-tab');\n const clickedButton = buttons[index] as HTMLElement;\n\n if (clickedButton) {\n // Scroll so the clicked tab is visible with some of the next tab showing\n const scrollOffset = clickedButton.offsetLeft - 16; // Small left padding\n container.scrollTo({\n left: scrollOffset,\n behavior: 'smooth'\n });\n }\n }\n };\n\n return (\n <div className={clsx('gamify-tabs', className)} ref={tabsRef}>\n {tabs.map((tab, index) => (\n <button\n key={tab.id}\n className={clsx(\n 'gamify-tab',\n activeTabId === tab.id && 'gamify-tab--active'\n )}\n onClick={() => handleTabClick(tab.id, index)}\n >\n {tab.label}\n </button>\n ))}\n </div>\n );\n};\n","import React, { createContext, useContext, useEffect, useState } from 'react';\n\ntype Theme = 'light' | 'dark';\n\ninterface GamifyThemeContextType {\n theme: Theme;\n toggleTheme: () => void;\n setTheme: (theme: Theme) => void;\n}\n\nconst GamifyThemeContext = createContext<GamifyThemeContextType | undefined>(undefined);\n\nexport const GamifyThemeProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [theme, setThemeState] = useState<Theme>(() => {\n // Check local storage or system preference\n const saved = localStorage.getItem('gamify-theme');\n if (saved === 'light' || saved === 'dark') return saved;\n return 'dark';\n });\n\n useEffect(() => {\n const root = document.documentElement;\n root.setAttribute('data-theme', theme);\n localStorage.setItem('gamify-theme', theme);\n }, [theme]);\n\n const toggleTheme = () => {\n setThemeState((prev) => (prev === 'light' ? 'dark' : 'light'));\n };\n\n const setTheme = (newTheme: Theme) => {\n setThemeState(newTheme);\n };\n\n return (\n <GamifyThemeContext.Provider value={{ theme, toggleTheme, setTheme }}>\n {children}\n </GamifyThemeContext.Provider>\n );\n};\n\nexport const useThemeContext = () => { // Internal use, prefers the hook below\n const context = useContext(GamifyThemeContext);\n if (!context) throw new Error('useThemeContext must be used within GamifyThemeProvider');\n return context;\n};\n","import { useThemeContext } from '../theme/GamifyThemeContext';\n\nexport const useTheme = () => {\n const { theme, toggleTheme, setTheme } = useThemeContext();\n return { theme, toggleTheme, setTheme };\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport { useTheme } from '../../hooks/useTheme';\nimport './GamifyThemeToggle.css';\n\nexport const GamifyThemeToggle: React.FC<{ className?: string }> = ({ className }) => {\n const { theme, toggleTheme } = useTheme();\n\n return (\n <button\n className={clsx('gamify-theme-toggle', className)}\n onClick={toggleTheme}\n aria-label=\"Toggle Theme\"\n title={`Switch to ${theme === 'dark' ? 'light' : 'dark'} mode`}\n >\n {theme === 'dark' ? (\n <svg viewBox=\"0 0 24 24\">\n {/* Sun Icon */}\n <path d=\"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zM2 13h2c.55 0 1-.45 1-1s-.45-1-1-1H2c-.55 0-1 .45-1 1s.45 1 1 1zm18 0h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1zM11 2v2c0 .55.45 1 1 1s1-.45 1-1V2c0-.55-.45-1-1-1s-1 .45-1 1zm0 18v2c0 .55.45 1 1 1s1-.45 1-1v-2c0-.55-.45-1-1-1s-1 .45-1 1zM5.99 4.58c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0s.39-1.03 0-1.41L5.99 4.58zm12.37 12.37c-.39-.39-1.03-.39-1.41 0-.39.39-.39 1.03 0 1.41l1.06 1.06c.39.39 1.03.39 1.41 0 .39-.39.39-1.03 0-1.41l-1.06-1.06zm1.06-10.96c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06zM7.05 18.36c.39-.39.39-1.03 0-1.41-.39-.39-1.03-.39-1.41 0l-1.06 1.06c-.39.39-.39 1.03 0 1.41s1.03.39 1.41 0l1.06-1.06z\" />\n </svg>\n ) : (\n <svg viewBox=\"0 0 24 24\">\n {/* Moon Icon */}\n <path d=\"M12 3c-4.97 0-9 4.03-9 9s4.03 9 9 9 9-4.03 9-9c0-.46-.04-.92-.1-1.36-.98 1.37-2.58 2.26-4.4 2.26-2.98 0-5.4-2.42-5.4-5.4 0-1.81.89-3.42 2.26-4.4-.44-.06-.9-.1-1.36-.1z\" />\n </svg>\n )}\n </button>\n );\n};\n","import React, { createContext, useContext, useState, useCallback, useRef } from 'react';\nimport './GamifyToast.css';\n\ninterface Toast {\n id: string;\n title: string;\n message: string;\n duration?: number;\n}\n\ninterface ToastContextType {\n addToast: (title: string, message: string, duration?: number) => void;\n}\n\nconst ToastContext = createContext<ToastContextType | undefined>(undefined);\n\nexport const GamifyToastProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [toasts, setToasts] = useState<Toast[]>([]);\n const idCounter = useRef(0);\n\n const addToast = useCallback((title: string, message: string, duration = 3000) => {\n const id = `toast-${idCounter.current++}`;\n setToasts((prev) => [...prev, { id, title, message, duration }]);\n\n setTimeout(() => {\n setToasts((prev) => prev.filter((t) => t.id !== id));\n }, duration);\n }, []);\n\n return (\n <ToastContext.Provider value={{ addToast }}>\n {children}\n <div className='gamify-toast-container'>\n {toasts.map((toast) => (\n <div key={toast.id} className='gamify-toast' style={{ '--duration': `${toast.duration}ms` } as React.CSSProperties}>\n <div className='gamify-toast__icon'>🏆</div>\n <div className='gamify-toast__content'>\n <div className='gamify-toast__title'>{toast.title}</div>\n <div className='gamify-toast__message'>{toast.message}</div>\n </div>\n </div>\n ))}\n </div>\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = () => {\n const context = useContext(ToastContext);\n if (!context) {\n throw new Error('useToast must be used within a GamifyToastProvider');\n }\n return context;\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './GamifyTooltip.css';\n\nexport interface GamifyTooltipProps {\n content: React.ReactNode;\n children: React.ReactNode;\n rarity?: 'common' | 'rare' | 'epic' | 'legendary';\n}\n\nexport const GamifyTooltip: React.FC<GamifyTooltipProps> = ({\n content,\n children,\n rarity = 'common',\n}) => {\n return (\n <div className='gamify-tooltip-wrapper'>\n {children}\n <div className={clsx('gamify-tooltip', `gamify-tooltip--${rarity}`)}>\n {content}\n </div>\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './HealthBar.css';\n\nexport interface HealthBarProps extends React.HTMLAttributes<HTMLDivElement> {\n value: number;\n max: number;\n variant?: 'hp' | 'mana' | 'xp';\n showLabel?: boolean;\n}\n\nexport const HealthBar: React.FC<HealthBarProps> = ({\n value,\n max,\n variant = 'hp',\n showLabel = true,\n className,\n ...props\n}) => {\n const percentage = Math.min(100, Math.max(0, (value / max) * 100));\n\n return (\n <div\n className={clsx('gamify-health-bar', `gamify-health-bar--${variant}`, className)}\n {...props}\n >\n <div\n className='gamify-health-bar__fill'\n style={{ width: `${percentage}%` }}\n />\n {showLabel && (\n <span className='gamify-health-bar__text'>\n {value} / {max}\n </span>\n )}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './InventorySlot.css';\n\nexport interface InventorySlotProps extends React.HTMLAttributes<HTMLDivElement> {\n itemSrc?: string;\n count?: number;\n rarity?: 'common' | 'uncommon' | 'rare' | 'epic' | 'legendary' | 'mythic';\n isActive?: boolean;\n size?: 'sm' | 'md' | 'lg';\n}\n\nexport const InventorySlot: React.FC<InventorySlotProps> = ({\n itemSrc,\n count,\n rarity,\n isActive,\n size = 'md',\n className,\n ...props\n}) => {\n return (\n <div\n className={clsx(\n 'gamify-inventory-slot',\n `gamify-inventory-slot--${size}`,\n rarity && `gamify-inventory-slot--${rarity}`,\n isActive && 'gamify-inventory-slot--active',\n className\n )}\n {...props}\n >\n {itemSrc && <img src={itemSrc} alt=\"Item\" className='gamify-inventory-slot__img' />}\n {count && count > 1 && <span className='gamify-inventory-slot__count'>{count}</span>}\n </div>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport './QuestLog.css';\nimport { GamifyBadge } from '../GamifyBadge/GamifyBadge';\n\nexport interface Quest {\n id: string;\n title: string;\n description: string;\n status: 'active' | 'completed' | 'failed';\n rewards?: string[];\n}\n\nexport interface QuestLogProps extends React.HTMLAttributes<HTMLDivElement> {\n quests: Quest[];\n onQuestClick?: (quest: Quest) => void;\n}\n\nexport const QuestLog: React.FC<QuestLogProps> = ({\n quests,\n onQuestClick,\n className,\n ...props\n}) => {\n return (\n <div className={clsx('gamify-quest-log', className)} {...props}>\n {quests.map((quest) => (\n <div\n key={quest.id}\n className={clsx(\n 'gamify-quest-item',\n `gamify-quest-item--${quest.status}`\n )}\n onClick={() => onQuestClick?.(quest)}\n >\n <div className='gamify-quest-item__title'>\n {quest.title}\n {quest.status === 'completed' && <GamifyBadge variant='uncommon'>DONE</GamifyBadge>}\n {quest.status === 'active' && <GamifyBadge variant='legendary'>ACTIVE</GamifyBadge>}\n {quest.status === 'failed' && <GamifyBadge variant='mythic'>FAILED</GamifyBadge>}\n </div>\n <div className='gamify-quest-item__desc'>{quest.description}</div>\n </div>\n ))}\n </div>\n );\n};\n","import React from 'react';\nimport './GamifyShareFab.css';\nimport { useToast } from '../GamifyToast/GamifyToast';\n\nexport const GamifyShareFab: React.FC = () => {\n const { addToast } = useToast();\n\n const handleShare = async () => {\n const shareData = {\n title: 'Gamify - Cyberpunk React UI Library',\n text: 'Check out Gamify! 🎮 The ultimate cyberpunk React component library for gaming apps. ⚡️',\n url: window.location.href\n };\n\n if (navigator.share) {\n try {\n await navigator.share(shareData);\n // On mobile share, success might not be returned immediately or reliably, but harmless to toast\n // addToast('Shared!', 'Thanks for spreading the word.', 2000); \n } catch (err) {\n // User cancelled or error, ignore\n }\n } else {\n // Fallback for desktop/unsupported browsers\n try {\n await navigator.clipboard.writeText(`${shareData.text}\\n${shareData.url}`);\n addToast('Link Copied!', 'Share this with your friends! 🚀', 3000);\n } catch (err) {\n addToast('Error', 'Could not access clipboard.', 2000);\n }\n }\n };\n\n return (\n <button\n className=\"gamify-share-fab\"\n onClick={handleShare}\n aria-label=\"Share Loot UI\"\n title=\"Share this page\"\n >\n <svg className=\"gamify-share-fab__icon\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M18 16.08c-.76 0-1.44.3-1.96.77L8.91 12.7c.05-.23.09-.46.09-.7s-.04-.47-.09-.7l7.05-4.11c.54.5 1.25.81 2.04.81 1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3c0 .24.04.47.09.7L8.04 9.81C7.5 9.31 6.79 9 6 9c-1.66 0-3 1.34-3 3s1.34 3 3 3c.79 0 1.5-.31 2.04-.81l7.12 4.16c-.05.21-.08.43-.08.65 0 1.61 1.31 2.92 2.92 2.92 1.61 0 2.92-1.31 2.92-2.92s-1.31-2.92-2.92-2.92z\" />\n </svg>\n </button>\n );\n};\n"],"names":["REACT_ELEMENT_TYPE","REACT_FRAGMENT_TYPE","jsxProd","type","config","maybeKey","key","propName","reactJsxRuntime_production","getComponentNameFromType","REACT_CLIENT_REFERENCE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_ACTIVITY_TYPE","REACT_PORTAL_TYPE","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","REACT_FORWARD_REF_TYPE","innerType","REACT_MEMO_TYPE","REACT_LAZY_TYPE","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","getTaskName","name","getOwner","dispatcher","ReactSharedInternals","UnknownOwner","hasValidKey","hasOwnProperty","getter","defineKeyPropWarningGetter","props","displayName","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ReactElement","owner","debugStack","debugTask","refProp","jsxDEVImpl","isStaticChildren","children","isArrayImpl","validateChildKeys","keys","k","didWarnAboutKeySpread","node","isValidElement","object","React","require$$0","createTask","callStackForError","unknownOwnerDebugStack","unknownOwnerDebugTask","reactJsxRuntime_development","trackActualOwner","jsxRuntimeModule","require$$1","r","e","f","o","clsx","GamifyAvatar","src","alt","size","rank","status","className","jsxs","jsx","GamifyBadge","variant","GamifyButton","GamifyCard","GamifyInput","label","error","GamifyLeaderboard","data","entry","index","GamifyModal","isOpen","onClose","title","footer","useEffect","handleEsc","GamifySlider","showValue","GamifySpinner","GamifySwitch","checked","GamifyTabs","tabs","activeTabId","onTabChange","tabsRef","useRef","handleTabClick","tabId","container","clickedButton","scrollOffset","tab","GamifyThemeContext","createContext","GamifyThemeProvider","theme","setThemeState","useState","saved","toggleTheme","prev","setTheme","newTheme","useThemeContext","context","useContext","useTheme","GamifyThemeToggle","ToastContext","GamifyToastProvider","toasts","setToasts","idCounter","addToast","useCallback","message","duration","id","t","toast","useToast","GamifyTooltip","content","rarity","HealthBar","max","showLabel","percentage","InventorySlot","itemSrc","count","isActive","QuestLog","quests","onQuestClick","quest","GamifyShareFab","handleShare","shareData"],"mappings":"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","x_google_ignoreList":[0,1,2,3]}
package/dist/vite.svg ADDED
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" class="iconify iconify--logos" width="31.88" height="32" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 257"><defs><linearGradient id="IconifyId1813088fe1fbc01fb466" x1="-.828%" x2="57.636%" y1="7.652%" y2="78.411%"><stop offset="0%" stop-color="#41D1FF"></stop><stop offset="100%" stop-color="#BD34FE"></stop></linearGradient><linearGradient id="IconifyId1813088fe1fbc01fb467" x1="43.376%" x2="50.316%" y1="2.242%" y2="89.03%"><stop offset="0%" stop-color="#FFEA83"></stop><stop offset="8.333%" stop-color="#FFDD35"></stop><stop offset="100%" stop-color="#FFA800"></stop></linearGradient></defs><path fill="url(#IconifyId1813088fe1fbc01fb466)" d="M255.153 37.938L134.897 252.976c-2.483 4.44-8.862 4.466-11.382.048L.875 37.958c-2.746-4.814 1.371-10.646 6.827-9.67l120.385 21.517a6.537 6.537 0 0 0 2.322-.004l117.867-21.483c5.438-.991 9.574 4.796 6.877 9.62Z"></path><path fill="url(#IconifyId1813088fe1fbc01fb467)" d="M185.432.063L96.44 17.501a3.268 3.268 0 0 0-2.634 3.014l-5.474 92.456a3.268 3.268 0 0 0 3.997 3.378l24.777-5.718c2.318-.535 4.413 1.507 3.936 3.838l-7.361 36.047c-.495 2.426 1.782 4.5 4.151 3.78l15.304-4.649c2.372-.72 4.652 1.36 4.15 3.788l-11.698 56.621c-.732 3.542 3.979 5.473 5.943 2.437l1.313-2.028l72.516-144.72c1.215-2.423-.88-5.186-3.54-4.672l-25.505 4.922c-2.396.462-4.435-1.77-3.759-4.114l16.646-57.705c.677-2.35-1.37-4.583-3.769-4.113Z"></path></svg>
package/package.json ADDED
@@ -0,0 +1,80 @@
1
+ {
2
+ "name": "@sitharaj08/gamify",
3
+ "version": "1.0.0",
4
+ "description": "Gamify - A comprehensive React UI component library for gaming applications with cyberpunk-inspired aesthetics",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/index.js",
12
+ "require": "./dist/index.cjs",
13
+ "types": "./dist/index.d.ts"
14
+ },
15
+ "./style.css": "./dist/index.css"
16
+ },
17
+ "files": [
18
+ "dist",
19
+ "README.md",
20
+ "LICENSE"
21
+ ],
22
+ "scripts": {
23
+ "dev": "vite",
24
+ "build": "tsc -b && vite build",
25
+ "build:lib": "tsc -p tsconfig.lib.json && vite build --config vite.lib.config.ts",
26
+ "lint": "eslint .",
27
+ "preview": "vite preview"
28
+ },
29
+ "keywords": [
30
+ "react",
31
+ "ui",
32
+ "components",
33
+ "gaming",
34
+ "gamify",
35
+ "cyberpunk",
36
+ "dark-mode",
37
+ "theme",
38
+ "health-bar",
39
+ "inventory",
40
+ "rpg",
41
+ "game-ui"
42
+ ],
43
+ "author": "Sitharaj Seenivasan",
44
+ "license": "MIT",
45
+ "repository": {
46
+ "type": "git",
47
+ "url": "https://github.com/sitharaj08/gamify.git"
48
+ },
49
+ "homepage": "https://sitharaj08.github.io/gamify/",
50
+ "bugs": {
51
+ "url": "https://github.com/sitharaj08/gamify/issues"
52
+ },
53
+ "peerDependencies": {
54
+ "react": ">=18.0.0",
55
+ "react-dom": ">=18.0.0"
56
+ },
57
+ "dependencies": {
58
+ "clsx": "^2.1.1",
59
+ "react": "^19.2.0",
60
+ "react-dom": "^19.2.0",
61
+ "react-router-dom": "^7.11.0"
62
+ },
63
+ "devDependencies": {
64
+ "@eslint/js": "^9.39.1",
65
+ "@types/node": "^24.10.1",
66
+ "@types/react": "^19.2.5",
67
+ "@types/react-dom": "^19.2.3",
68
+ "@vitejs/plugin-react": "^5.1.1",
69
+ "eslint": "^9.39.1",
70
+ "eslint-config-prettier": "^10.1.8",
71
+ "eslint-plugin-prettier": "^5.5.4",
72
+ "eslint-plugin-react-hooks": "^7.0.1",
73
+ "eslint-plugin-react-refresh": "^0.4.24",
74
+ "globals": "^16.5.0",
75
+ "prettier": "^3.7.4",
76
+ "typescript": "~5.9.3",
77
+ "typescript-eslint": "^8.46.4",
78
+ "vite": "^7.2.4"
79
+ }
80
+ }