@julseb-lib/react 1.1.33 → 1.1.34

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,"sources":["../src/lib/utils/design-tokens.ts","../src/lib/utils/linkify-text.tsx","../src/lib/utils/gen-link-color.ts","../src/lib/utils/gen-text-align.ts","../src/lib/utils/gen-text-color.ts","../src/lib/utils/gen-bg-color.ts","../src/lib/utils/gen-border-color.ts","../src/lib/utils/gen-gap.ts","../src/lib/utils/clsx.tsx","../src/lib/utils/tools.ts","../src/lib/utils/gen-align.ts","../src/lib/utils/gen-justify.ts","../src/lib/utils/gen-max-width.ts","../src/lib/utils/gen-border-radius.ts","../src/lib/utils/gen-object-fit.ts","../src/lib/utils/gen-button-color.ts","../src/lib/utils/gen-box-shadow.ts","../src/lib/utils/gen-vertical-align.ts","../src/lib/components/Text/Text.tsx","../src/lib/components/Table/Table.tsx","../src/lib/components/Flexbox/Flexbox.tsx","../src/lib/utils/options-markdown.tsx","../src/lib/utils/gen-ring-color.ts","../src/lib/utils/detect-language.ts","../src/lib/utils/disable-scroll.ts","../src/lib/utils/enable-scroll.ts","../src/lib/utils/scroll-to-top.ts","../src/lib/utils/gen-font-size.ts","../src/lib/utils/gen-font-weight.ts","../src/lib/components/Text/templates/H1.tsx","../src/lib/components/Text/templates/H2.tsx","../src/lib/components/Text/templates/H3.tsx","../src/lib/components/Text/templates/H4.tsx","../src/lib/components/Text/templates/H5.tsx","../src/lib/components/Text/templates/H6.tsx","../src/lib/components/Text/templates/P.tsx","../src/lib/components/Text/templates/Small.tsx","../src/lib/components/Text/templates/Strong.tsx","../src/lib/components/Text/templates/Em.tsx","../src/lib/components/Text/templates/Blockquote.tsx","../src/lib/components/Text/templates/Ul.tsx","../src/lib/components/Text/templates/Ol.tsx","../src/lib/components/Text/templates/Dl.tsx","../src/lib/components/Image/Image.tsx"],"sourcesContent":["/** Maps display text heading tags (h1–h5) to their HTML element names. */\nconst libTextDisplayTags = {\n\th1: \"h1\",\n\th2: \"h2\",\n\th3: \"h3\",\n\th4: \"h4\",\n\th5: \"h5\",\n}\n\n/** Design tokens used across the component library for consistent styling. */\nexport const designTokens = {\n\tlibColors: {\n\t\t/**\n\t\t * All the colors in the lib\n\t\t * Primary 50 — #eff6ff\n\t\t * Primary 100 — #dbeafe\n\t\t * Primary 200 — #bfdbfe\n\t\t * Primary 300 — #93c5fd\n\t\t * Primary 400 — #60a5fa\n\t\t * Primary 500 — #3b82f6\n\t\t * Primary 600 — #2563eb\n\t\t * Primary 700 — #1d4ed8\n\t\t * Primary 800 — #1e40af\n\t\t * Primary 900 — #1e3a8a\n\t\t * Primary 950 — #172554\n\t\t * Secondary 50 — #ecfeff\n\t\t * Secondary 100 — #cffafe\n\t\t * Secondary 200 — #a5f3fc\n\t\t * Secondary 300 — #67e8f9\n\t\t * Secondary 400 — #22d3ee\n\t\t * Secondary 500 — #06b6d4\n\t\t * Secondary 600 — #0891b2\n\t\t * Secondary 700 — #0e7490\n\t\t * Secondary 800 — #155e75\n\t\t * Secondary 900 — #164e63\n\t\t * Secondary 950 — #083344\n\t\t * Success 50 — #f0fdf4\n\t\t * Success 100 — #dcfce7\n\t\t * Success 200 — #bbf7d0\n\t\t * Success 300 — #86efac\n\t\t * Success 400 — #4ade80\n\t\t * Success 500 — #22c55e\n\t\t * Success 600 — #16a34a\n\t\t * Success 700 — #15803d\n\t\t * Success 800 — #166534\n\t\t * Success 900 — #14532d\n\t\t * Success 950 — #052e16\n\t\t * Danger 50 — #fef2f2\n\t\t * Danger 100 — #fee2e2\n\t\t * Danger 200 — #fecaca\n\t\t * Danger 300 — #fca5a5\n\t\t * Danger 400 — #f87171\n\t\t * Danger 500 — #ef4444\n\t\t * Danger 600 — #dc2626\n\t\t * Danger 700 — #b91c1c\n\t\t * Danger 800 — #991b1b\n\t\t * Danger 900 — #7f1d1d\n\t\t * Danger 950 — #450a0a\n\t\t * Warning 50 — #fffbeb\n\t\t * Warning 100 — #fef3c7\n\t\t * Warning 200 — #fde68a\n\t\t * Warning 300 — #fcd34d\n\t\t * Warning 400 — #fbbf24\n\t\t * Warning 500 — #f59e42\n\t\t * Warning 600 — #d97706\n\t\t * Warning 700 — #b45309\n\t\t * Warning 800 — #92400e\n\t\t * Warning 900 — #78350f\n\t\t * Warning 950 — #451a03\n\t\t * Gray 50 — #f9fafb\n\t\t * Gray 100 — #f3f4f6\n\t\t * Gray 200 — #e5e7eb\n\t\t * Gray 300 — #d1d5db\n\t\t * Gray 400 — #9ca3af\n\t\t * Gray 500 — #6b7280\n\t\t * Gray 600 — #4b5563\n\t\t * Gray 700 — #374151\n\t\t * Gray 800 — #1f2937\n\t\t * Gray 900 — #111827\n\t\t * Gray 950 — #030712\n\t\t * Black — #000000\n\t\t * White — #ffffff\n\t\t */\n\t\t\"primary-50\": \"#eff6ff\",\n\t\t\"primary-100\": \"#dbeafe\",\n\t\t\"primary-200\": \"#bfdbfe\",\n\t\t\"primary-300\": \"#93c5fd\",\n\t\t\"primary-400\": \"#60a5fa\",\n\t\t\"primary-500\": \"#3b82f6\",\n\t\t\"primary-600\": \"#2563eb\",\n\t\t\"primary-700\": \"#1d4ed8\",\n\t\t\"primary-800\": \"#1e40af\",\n\t\t\"primary-900\": \"#1e3a8a\",\n\t\t\"primary-950\": \"#172554\",\n\n\t\t\"secondary-50\": \"#ecfeff\",\n\t\t\"secondary-100\": \"#cffafe\",\n\t\t\"secondary-200\": \"#a5f3fc\",\n\t\t\"secondary-300\": \"#67e8f9\",\n\t\t\"secondary-400\": \"#22d3ee\",\n\t\t\"secondary-500\": \"#06b6d4\",\n\t\t\"secondary-600\": \"#0891b2\",\n\t\t\"secondary-700\": \"#0e7490\",\n\t\t\"secondary-800\": \"#155e75\",\n\t\t\"secondary-900\": \"#164e63\",\n\t\t\"secondary-950\": \"#083344\",\n\n\t\t\"success-50\": \"#f0fdf4\",\n\t\t\"success-100\": \"#dcfce7\",\n\t\t\"success-200\": \"#bbf7d0\",\n\t\t\"success-300\": \"#86efac\",\n\t\t\"success-400\": \"#4ade80\",\n\t\t\"success-500\": \"#22c55e\",\n\t\t\"success-600\": \"#16a34a\",\n\t\t\"success-700\": \"#15803d\",\n\t\t\"success-800\": \"#166534\",\n\t\t\"success-900\": \"#14532d\",\n\t\t\"success-950\": \"#052e16\",\n\n\t\t\"danger-50\": \"#fef2f2\",\n\t\t\"danger-100\": \"#fee2e2\",\n\t\t\"danger-200\": \"#fecaca\",\n\t\t\"danger-300\": \"#fca5a5\",\n\t\t\"danger-400\": \"#f87171\",\n\t\t\"danger-500\": \"#ef4444\",\n\t\t\"danger-600\": \"#dc2626\",\n\t\t\"danger-700\": \"#b91c1c\",\n\t\t\"danger-800\": \"#991b1b\",\n\t\t\"danger-900\": \"#7f1d1d\",\n\t\t\"danger-950\": \"#450a0a\",\n\n\t\t\"warning-50\": \"#fffbeb\",\n\t\t\"warning-100\": \"#fef3c7\",\n\t\t\"warning-200\": \"#fde68a\",\n\t\t\"warning-300\": \"#fcd34d\",\n\t\t\"warning-400\": \"#fbbf24\",\n\t\t\"warning-500\": \"#f59e42\",\n\t\t\"warning-600\": \"#d97706\",\n\t\t\"warning-700\": \"#b45309\",\n\t\t\"warning-800\": \"#92400e\",\n\t\t\"warning-900\": \"#78350f\",\n\t\t\"warning-950\": \"#451a03\",\n\n\t\t\"gray-50\": \"#f9fafb\",\n\t\t\"gray-100\": \"#f3f4f6\",\n\t\t\"gray-200\": \"#e5e7eb\",\n\t\t\"gray-300\": \"#d1d5db\",\n\t\t\"gray-400\": \"#9ca3af\",\n\t\t\"gray-500\": \"#6b7280\",\n\t\t\"gray-600\": \"#4b5563\",\n\t\t\"gray-700\": \"#374151\",\n\t\t\"gray-800\": \"#1f2937\",\n\t\t\"gray-900\": \"#111827\",\n\t\t\"gray-950\": \"#030712\",\n\n\t\tblack: \"#000000\",\n\t\twhite: \"#ffffff\",\n\n\t\tcurrent: \"currentColor\",\n\t\ttransparent: \"transparent\",\n\t\tbackground: \"background\",\n\t\tfont: \"font\",\n\t},\n\n\tlibColorsShort: {\n\t\t/**\n\t\t * Shorthand for each color (value is <color>-500)\n\t\t * Primary — #3b82f6\n\t\t * Secondary — #06b6d4\n\t\t * Success — #22c55e\n\t\t * Danger — #ef4444\n\t\t * Warning — #f59e42\n\t\t * Gray — #6b7280\n\t\t * Black — #000000\n\t\t * White — #ffffff\n\t\t * Current - currentColor\n\t\t * Transparent - transparent\n\t\t * Background: #ffffff in light mode, #000000 in dark mode\n\t\t */\n\t\tprimary: \"primary\",\n\t\tsecondary: \"secondary\",\n\t\tsuccess: \"success\",\n\t\tdanger: \"danger\",\n\t\twarning: \"warning\",\n\t\tgray: \"gray\",\n\t\tblack: \"black\",\n\t\twhite: \"white\",\n\t\tcurrent: \"current\",\n\t\ttransparent: \"transparent\",\n\t\tbackground: \"background\",\n\t},\n\n\tlibColorsHover: {\n\t\t/**\n\t\t * Colors used when an item is hovered\n\t\t * Primary: Default Primary 500 — #3b82f6; Hover: Primary 300 — #93c5fd; Active: Primary 600 — #2563eb\n\t\t * Secondary: Default: Secondary 500 — #06b6d4; Hover: Secondary 300 — #67e8f9; Active: Secondary 600 — #0891b2\n\t\t * Success: Default: Success 500 — #22c55e; Hover: Success 300 — #86efac; Active: Success 600 — #16a34a\n\t\t * Danger: Default: Danger 500 — #ef4444; Hover: Danger 300 — #fca5a5; Active: Danger 600 — #dc2626\n\t\t * Warning: Default: Warning 500 — #f59e42; Hover: Warning 300 — #fcd34d; Active: Warning 600 — #d97706\n\t\t * Gray: Default: Gray 500 — #6b7280; Hover: Gray 300 — #d1d5db; Active: Gray 600 — #4b5563\n\t\t * White: Default: White - #ffffff; Hover: Gray 300 - #d1d5db; Active: Gray 100 - #f3f4f6\n\t\t */\n\t\tprimary: \"primary\",\n\t\tsecondary: \"secondary\",\n\t\tsuccess: \"success\",\n\t\tdanger: \"danger\",\n\t\twarning: \"warning\",\n\t\tgray: \"gray\",\n\t\twhite: \"white\",\n\t},\n\n\tlibOverlays: {\n\t\t/**\n\t\t * Overlay colors\n\t\t * Black 50 - rgba(0, 0, 0, 0.5)\n\t\t * Black 80 - rgba(0, 0, 0, 0.8)\n\t\t * White 50 - rgba(255, 255, 255, 0.5)\n\t\t * White 80 - rgba(255, 255, 255, 0.8)\n\t\t * Gradient Black - linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 0.56) 100%)\n\t\t * Gradient White - linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(255, 255, 255, 0.35) 100%)\n\t\t */\n\t\t\"black-50\": \"black-50\",\n\t\t\"black-80\": \"black-80\",\n\t\t\"white-50\": \"white-50\",\n\t\t\"white-80\": \"white-80\",\n\t\t\"gradient-black\": \"gradient-black\",\n\t\t\"gradient-white\": \"gradient-white\",\n\t},\n\n\tlibFontFamilies: {\n\t\t/**\n\t\t * Font Families\n\t\t * Body - Lato\n\t\t * Code - monospace\n\t\t */\n\t\tbody: \"body\",\n\t\tcode: \"code\",\n\t},\n\n\tlibSpacers: {\n\t\t/** Spacers\n\t\t * 2xs - 4px\n\t\t * xs - 8px\n\t\t * sm - 12px\n\t\t * md - 16px\n\t\t * lg - 24px\n\t\t * xl - 32px\n\t\t * 2xl - 48px\n\t\t */\n\t\t\"2xs\": \"2xs\",\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t},\n\n\tlibBreakpoints: {\n\t\t/**\n\t\t * Tailwind Breakpoints\n\t\t * sm - 640px\n\t\t * md - 768px\n\t\t * lg - 1024px\n\t\t * xl - 1280px\n\t\t * 2xl - 1536px\n\t\t */\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t},\n\n\tlibFontSizes: {\n\t\t/**\n\t\t * Tailwind & Lib Font Sizes\n\t\t * xs - 12px (0.75rem)\n\t\t * sm - 14px (0.875rem)\n\t\t * base - 16px (1rem)\n\t\t * lg - 18px (1.125rem)\n\t\t * xl - 20px (1.25rem)\n\t\t * 2xl - 24px (1.5rem)\n\t\t * 3xl - 30px (1.875rem)\n\t\t * 4xl - 36px (2.25rem)\n\t\t * 5xl - 48px (3rem)\n\t\t * 6xl - 60px (3.75rem)\n\t\t * 7xl - 72px (4.5rem)\n\t\t * 8xl - 96px (6rem)\n\t\t * 9xl - 128px (8rem)\n\t\t * display-h1 - 80px (5rem)\n\t\t * display-h2 - 64px (4rem)\n\t\t * display-h3 - 56px (3.5rem)\n\t\t * display-h4 - 48px (3rem)\n\t\t * display-h5 - 40px (2.5rem)\n\t\t * h1 - 40px (2.5rem)\n\t\t * h2 - 32px (2rem)\n\t\t * h3 - 28.8px (1.8rem)\n\t\t * h4 - 24px (1.5rem)\n\t\t * h5 - 20.8px (1.3rem)\n\t\t * h6 - 17.6px (1.1rem)\n\t\t * body - 16px (1rem)\n\t\t * small - 14px (0.875rem)\n\t\t */\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tbase: \"base\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t\t\"3xl\": \"3xl\",\n\t\t\"4xl\": \"4xl\",\n\t\t\"5xl\": \"5xl\",\n\t\t\"6xl\": \"6xl\",\n\t\t\"7xl\": \"7xl\",\n\t\t\"8xl\": \"8xl\",\n\t\t\"9xl\": \"9xl\",\n\t\t\"display-h1\": \"display-h1\",\n\t\t\"display-h2\": \"display-h2\",\n\t\t\"display-h3\": \"display-h3\",\n\t\t\"display-h4\": \"display-h4\",\n\t\t\"display-h5\": \"display-h5\",\n\t\th1: \"h1\",\n\t\th2: \"h2\",\n\t\th3: \"h3\",\n\t\th4: \"h4\",\n\t\th5: \"h5\",\n\t\th6: \"h6\",\n\t\tbody: \"body\",\n\t\tsmall: \"small\",\n\t},\n\n\tlibFontWeights: {\n\t\t/**\n\t\t * Font weights for Lato\n\t\t * Thin - 100\n\t\t * Light - 300\n\t\t * Normal - 400\n\t\t * Bold - 700\n\t\t * Black - 900\n\t\t */\n\t\tthin: \"thin\",\n\t\tlight: \"light\",\n\t\tnormal: \"normal\",\n\t\tbold: \"bold\",\n\t\tblack: \"black\",\n\t},\n\n\t/**\n\t * Letter spacing (tracking) values.\n\t * Tighter — -0.05em\n\t * Tight — -0.025em\n\t * Normal — 0em\n\t * Wide — 0.025em\n\t * Wider — 0.05em\n\t * Widest — 0.1em\n\t */\n\tlibTracking: {\n\t\ttighter: \"tighter\",\n\t\ttight: \"tight\",\n\t\tnormal: \"normal\",\n\t\twide: \"wide\",\n\t\twider: \"wider\",\n\t\twidest: \"widest\",\n\t},\n\n\t/**\n\t * Line height (leading) values.\n\t * Tight — 1.25\n\t * Snug — 1.375\n\t * Normal — 1.5\n\t * Relaxed — 1.625\n\t * Loose — 2\n\t * None — 1\n\t */\n\tlibLeading: {\n\t\ttight: \"tight\",\n\t\tsnug: \"snug\",\n\t\tnormal: \"normal\",\n\t\trelaxed: \"relaxed\",\n\t\tloose: \"loose\",\n\t\tnone: \"none\",\n\t},\n\n\t/**\n\t * Border radius values.\n\t * xs — 0.125rem\n\t * sm — 0.25rem\n\t * md — 0.375rem\n\t * lg — 0.5rem\n\t * xl — 0.75rem\n\t * 2xl — 1rem\n\t * 3xl — 1.5rem\n\t * 4xl — 2rem\n\t * full — 9999px\n\t */\n\tlibRadius: {\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t\t\"3xl\": \"3xl\",\n\t\t\"4xl\": \"4xl\",\n\t\tfull: \"full\",\n\t},\n\n\t/** Box shadow size values. */\n\tlibShadows: {\n\t\t\"2xs\": \"2xs\",\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t\tnone: \"none\",\n\t},\n\n\t/** Inset (inner) shadow size values. */\n\tlibInsetShadows: {\n\t\t\"2xs\": \"2xs\",\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t},\n\n\t/** Drop shadow filter size values. */\n\tlibDropShadows: {\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t},\n\n\t/** Text shadow size values. */\n\tlibTextShadow: {\n\t\t\"2xs\": \"2xs\",\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t},\n\n\t/** CSS transition timing function values. */\n\tlibTransitionTimingFunctions: {\n\t\t\"--ease-in\": \"--ease-in\",\n\t\t\"--ease-out\": \"--ease-out\",\n\t\t\"--ease-in-out\": \"--ease-in-out\",\n\t},\n\n\t/** CSS animation presets. */\n\tlibAnimate: {\n\t\tspin: \"spin\",\n\t\tping: \"ping\",\n\t\tpulse: \"pulse\",\n\t\tbounce: \"bounce\",\n\t},\n\n\t/** Blur filter size values. */\n\tlibBlur: {\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t\t\"3xl\": \"3xl\",\n\t},\n\n\t/** CSS perspective distance values for 3D transforms. */\n\tlibPerspective: {\n\t\tdramatic: \"dramatic\",\n\t\tnear: \"near\",\n\t\tnormal: \"normal\",\n\t\tmidrange: \"midrange\",\n\t\tdistant: \"distant\",\n\t},\n\n\t/** Video aspect ratio token (16:9). */\n\tlibAspectVideo: {},\n\n\t/** Display heading tags (h1–h5) reference. */\n\tlibTextDisplayTags,\n\n\t/** Text-level HTML element tags (h6, p, strong, em, small, blockquote, ul, ol, dl). */\n\tlibTextTags: {\n\t\th6: \"h6\",\n\t\tp: \"p\",\n\t\tstrong: \"strong\",\n\t\tem: \"em\",\n\t\tsmall: \"small\",\n\t\tblockquote: \"blockquote\",\n\t\tul: \"ul\",\n\t\tol: \"ol\",\n\t\tdl: \"dl\",\n\t},\n\n\t/** CSS transition property targets. */\n\tlibTransitions: {\n\t\tnone: \"none\",\n\t\tall: \"all\",\n\t\tdefault: \"default\",\n\t\tcolors: \"colors\",\n\t\topacity: \"opacity\",\n\t\tshadow: \"shadow\",\n\t\ttransform: \"transform\",\n\t},\n\n\t/** Color theme modes. */\n\tlibThemes: {\n\t\tlight: \"light\",\n\t\tdark: \"dark\",\n\t},\n\n\t/** Input field border radius variants. */\n\tlibInputVariants: {\n\t\trounded: \"rounded\",\n\t\tpill: \"pill\",\n\t},\n\n\t/** Input field background color modes. */\n\tlibInputBackgrounds: {\n\t\tlight: \"light\",\n\t\tdark: \"dark\",\n\t},\n\n\t/** Main content area width presets. */\n\tlibMainSizes: {\n\t\tdefault: \"default\",\n\t\tlarge: \"large\",\n\t\tform: \"form\",\n\t},\n\n\t/** Aside panel width presets. */\n\tlibAsideSizes: {\n\t\tdefault: \"default\",\n\t\tsmall: \"small\",\n\t},\n\n\t/** Z-index layer values (0–50, with negative counterparts). */\n\tlibZIndex: {\n\t\t\"0\": \"0\",\n\t\t\"10\": \"10\",\n\t\t\"20\": \"20\",\n\t\t\"30\": \"30\",\n\t\t\"40\": \"40\",\n\t\t\"50\": \"50\",\n\t\t\"-0\": \"-0\",\n\t\t\"-10\": \"-10\",\n\t\t\"-20\": \"-20\",\n\t\t\"-30\": \"-30\",\n\t\t\"-40\": \"-40\",\n\t\t\"-50\": \"-50\",\n\t},\n\n\t/** CSS position property values. */\n\tlibPosition: {\n\t\trelative: \"relative\",\n\t\tabsolute: \"absolute\",\n\t\tfixed: \"fixed\",\n\t},\n\n\t/** Minimum height sizing values. */\n\tlibMinHeights: {\n\t\tpx: \"px\",\n\t\tfull: \"full\",\n\t\tscreen: \"screen\",\n\t\tdvh: \"dvh\",\n\t\tdvw: \"dvw\",\n\t\tlvh: \"lvh\",\n\t\tlvw: \"lvw\",\n\t\tsvw: \"svw\",\n\t\tsvh: \"svh\",\n\t\tauto: \"auto\",\n\t\tmin: \"min\",\n\t\tmax: \"max\",\n\t\tfit: \"fit\",\n\t\tlh: \"lh\",\n\t},\n\n\t/** Keyboard Key component size variants. */\n\tlibKeySizes: { large: \"large\", small: \"small\" },\n\n\t/** Maximum width sizing values. */\n\tlibMaxWidths: {\n\t\t\"3xs\": \"3xs\",\n\t\t\"2xs\": \"2xs\",\n\t\txs: \"xs\",\n\t\tsm: \"sm\",\n\t\tmd: \"md\",\n\t\tlg: \"lg\",\n\t\txl: \"xl\",\n\t\t\"2xl\": \"2xl\",\n\t\t\"3xl\": \"3xl\",\n\t\t\"4xl\": \"4xl\",\n\t\t\"5xl\": \"5xl\",\n\t\t\"6xl\": \"6xl\",\n\t\t\"7xl\": \"7xl\",\n\t\tnone: \"none\",\n\t\tpx: \"px\",\n\t\tfull: \"full\",\n\t\tdvw: \"dvw\",\n\t\tdvh: \"dvh\",\n\t\tlvw: \"lvw\",\n\t\tlvh: \"lvh\",\n\t\tsvw: \"svw\",\n\t\tsvh: \"svh\",\n\t\tscreen: \"screen\",\n\t\tmin: \"min\",\n\t\tmax: \"max\",\n\t\tfit: \"fit\",\n\t},\n\n\t/** Skeleton loading animation styles. */\n\tlibSkeletonAnimations: { pulse: \"pulse\", shine: \"shine\", none: \"none\" },\n\n\t/** Tooltip positioning options. */\n\tlibTooltipPositions: {\n\t\ttop: \"top\",\n\t\tbottom: \"bottom\",\n\t\tleft: \"left\",\n\t\tright: \"right\",\n\t},\n\n\t/** Tooltip trigger interaction modes. */\n\tlibTooltipTriggers: { hover: \"hover\", click: \"click\" },\n\n\t/** Loader spinner visual variants. */\n\tlibLoaderVariants: { 1: 1, 2: 2, 3: 3 },\n\n\t/** Button visual style variants. */\n\tlibButtonVariants: {\n\t\tplain: \"plain\",\n\t\tghost: \"ghost\",\n\t\ttransparent: \"transparent\",\n\t},\n\n\t/** Button size presets. */\n\tlibButtonSize: { default: \"default\", small: \"small\" },\n\n\t/** ButtonGroup toggle selection modes (single or multi). */\n\tlibButtonGroupToggle: { single: \"single\", multi: \"multi\" },\n\n\t/** Tag visual style variants. */\n\tlibTagVariant: { plain: \"plain\", outline: \"outline\" },\n\n\t/** HTML input type values supported by the Input component. */\n\tlibInputTypes: {\n\t\tcolor: \"color\",\n\t\tdate: \"date\",\n\t\t\"datetime-local\": \"datetime-local\",\n\t\tmonth: \"month\",\n\t\tweek: \"week\",\n\t\tfile: \"file\",\n\t\tpassword: \"password\",\n\t\tsearch: \"search\",\n\t\temail: \"email\",\n\t\tnumber: \"number\",\n\t\ttel: \"tel\",\n\t\ttext: \"text\",\n\t\turl: \"url\",\n\t\ttime: \"time\",\n\t\tselect: \"select\",\n\t\ttextarea: \"textarea\",\n\t},\n\n\t/** Checkbox/radio input visual variants (tile, toggle, selector). */\n\tlibCheckInputVariants: {\n\t\ttile: \"tile\",\n\t\ttoggle: \"toggle\",\n\t\tselector: \"selector\",\n\t},\n\n\t/** Dropdown list expansion direction. */\n\tlibListInputDirections: { up: \"up\", down: \"down\" },\n\n\t/** Accordion visual style variants. */\n\tlibAccordionVariant: { basic: \"basic\", rounded: \"rounded\" },\n\n\t/** Accordion expand/collapse icon styles. */\n\tlibAccordionIcon: { plus: \"plus\", chevron: \"chevron\" },\n\n\t/** Toast notification status types. */\n\tlibToastStatus: {\n\t\tsuccess: \"success\",\n\t\terror: \"error\",\n\t\twarning: \"warning\",\n\t\tinfo: \"info\",\n\t\tloading: \"loading\",\n\t},\n\n\t/** Tabs button alignment options. */\n\tlibTabsJustify: { start: \"start\", stretch: \"stretch\" },\n\n\t/** Tabs visual style variants. */\n\tlibTabsVariant: { basic: \"basic\", rounded: \"rounded\" },\n\n\t/** Slideshow pagination indicator styles. */\n\tlibSlideshowPagination: {\n\t\tdots: \"dots\",\n\t\t\"dots-outline\": \"dots-outline\",\n\t\tbars: \"bars\",\n\t\tthumbnails: \"thumbnails\",\n\t},\n\n\t/** Slideshow pagination placement (inside or outside the slide area). */\n\tlibSlideshowPaginationPosition: { inside: \"inside\", outside: \"outside\" },\n\n\t/** Slideshow navigation button alignment. */\n\tlibSlideshowButtonsPositions: { left: \"left\", right: \"right\" },\n\n\t/** Slideshow navigation button size presets. */\n\tlibSlideshowButtonsSizes: { small: \"small\", large: \"large\" },\n\n\t/** Table visual style variants. */\n\tlibTableVariants: {\n\t\tbordered: \"bordered\",\n\t\tstripped: \"stripped\",\n\t\t\"border-bottom\": \"border-bottom\",\n\t},\n\n\t/** Markdown editor view modes (code, live preview, preview only). */\n\tlibMdEditorViews: {\n\t\tviewCode: \"viewCode\",\n\t\tviewLive: \"viewLive\",\n\t\tviewPreview: \"viewPreview\",\n\t},\n\n\t/** Markdown editor toolbar formatting buttons. */\n\tlibMdEditorButtons: {\n\t\tbold: \"bold\",\n\t\titalic: \"italic\",\n\t\tstrikethrough: \"strikethrough\",\n\t\tunderline: \"underline\",\n\t\tul: \"ul\",\n\t\tol: \"ol\",\n\t\tlink: \"link\",\n\t\tquote: \"quote\",\n\t\thr: \"hr\",\n\t\tcode: \"code\",\n\t\tcodeBlock: \"codeBlock\",\n\t\tcomment: \"comment\",\n\t\timage: \"image\",\n\t},\n\n\t/** Markdown editor heading level options (h1–h6). */\n\tlibMdEditorTitles: { ...libTextDisplayTags, h6: \"h6\" },\n\n\t/** Drawer panel slide-in positions. */\n\tlibDrawerPositions: { left: \"left\", right: \"right\" },\n\n\t/** Mobile navigation burger button position. */\n\tlibNavBurgerPositions: { left: \"left\", right: \"right\" },\n\n\t/** Mobile navigation display variants. */\n\tlibNavMobileVariants: { full: \"full\", top: \"top\", drawer: \"drawer\" },\n\n\t/** Footer links layout direction. */\n\tlibFooterDirection: { horizontal: \"horizontal\", vertical: \"vertical\" },\n\n\t/** Footer links separator character styles. */\n\tlibFooterLinksSeparator: { dot: \"dot\", dash: \"dash\" },\n\n\t/** ISO 3166-1 alpha-2 country codes for the InputPhone component. */\n\tlibCountryCodes: {\n\t\taf: \"af\",\n\t\tax: \"ax\",\n\t\tal: \"al\",\n\t\tdz: \"dz\",\n\t\tas: \"as\",\n\t\tad: \"ad\",\n\t\tao: \"ao\",\n\t\tai: \"ai\",\n\t\taq: \"aq\",\n\t\tag: \"ag\",\n\t\tar: \"ar\",\n\t\tam: \"am\",\n\t\taw: \"aw\",\n\t\tau: \"au\",\n\t\tat: \"at\",\n\t\taz: \"az\",\n\t\tbs: \"bs\",\n\t\tbh: \"bh\",\n\t\tbd: \"bd\",\n\t\tbb: \"bb\",\n\t\tby: \"by\",\n\t\tbe: \"be\",\n\t\tbz: \"bz\",\n\t\tbj: \"bj\",\n\t\tbm: \"bm\",\n\t\tbt: \"bt\",\n\t\tbo: \"bo\",\n\t\tba: \"ba\",\n\t\tbw: \"bw\",\n\t\tbr: \"br\",\n\t\tio: \"io\",\n\t\tbn: \"bn\",\n\t\tbg: \"bg\",\n\t\tbf: \"bf\",\n\t\tbi: \"bi\",\n\t\tkh: \"kh\",\n\t\tcm: \"cm\",\n\t\tca: \"ca\",\n\t\tcv: \"cv\",\n\t\tky: \"ky\",\n\t\tcf: \"cf\",\n\t\ttd: \"td\",\n\t\tcl: \"cl\",\n\t\tcn: \"cn\",\n\t\tcx: \"cx\",\n\t\tcc: \"cc\",\n\t\tco: \"co\",\n\t\tkm: \"km\",\n\t\tcg: \"cg\",\n\t\tcd: \"cd\",\n\t\tck: \"ck\",\n\t\tcr: \"cr\",\n\t\tci: \"ci\",\n\t\thr: \"hr\",\n\t\tcu: \"cu\",\n\t\tcy: \"cy\",\n\t\tcz: \"cz\",\n\t\tdk: \"dk\",\n\t\tdj: \"dj\",\n\t\tdm: \"dm\",\n\t\tdo: \"do\",\n\t\tec: \"ec\",\n\t\teg: \"eg\",\n\t\tsv: \"sv\",\n\t\tgq: \"gq\",\n\t\ter: \"er\",\n\t\tee: \"ee\",\n\t\tet: \"et\",\n\t\tfk: \"fk\",\n\t\tfo: \"fo\",\n\t\tfj: \"fj\",\n\t\tfi: \"fi\",\n\t\tfr: \"fr\",\n\t\tgf: \"gf\",\n\t\tpf: \"pf\",\n\t\tga: \"ga\",\n\t\tgm: \"gm\",\n\t\tge: \"ge\",\n\t\tde: \"de\",\n\t\tgh: \"gh\",\n\t\tgi: \"gi\",\n\t\tgr: \"gr\",\n\t\tgl: \"gl\",\n\t\tgd: \"gd\",\n\t\tgp: \"gp\",\n\t\tgu: \"gu\",\n\t\tgt: \"gt\",\n\t\tgg: \"gg\",\n\t\tgn: \"gn\",\n\t\tgw: \"gw\",\n\t\tgy: \"gy\",\n\t\tht: \"ht\",\n\t\tva: \"va\",\n\t\thn: \"hn\",\n\t\thk: \"hk\",\n\t\thu: \"hu\",\n\t\tis: \"is\",\n\t\tin: \"in\",\n\t\tid: \"id\",\n\t\tir: \"ir\",\n\t\tiq: \"iq\",\n\t\tie: \"ie\",\n\t\tim: \"im\",\n\t\til: \"il\",\n\t\tit: \"it\",\n\t\tjm: \"jm\",\n\t\tjp: \"jp\",\n\t\tje: \"je\",\n\t\tjo: \"jo\",\n\t\tkz: \"kz\",\n\t\tke: \"ke\",\n\t\tki: \"ki\",\n\t\tkp: \"kp\",\n\t\tkr: \"kr\",\n\t\tkw: \"kw\",\n\t\tkg: \"kg\",\n\t\tla: \"la\",\n\t\tlv: \"lv\",\n\t\tlb: \"lb\",\n\t\tls: \"ls\",\n\t\tlr: \"lr\",\n\t\tly: \"ly\",\n\t\tli: \"li\",\n\t\tlt: \"lt\",\n\t\tlu: \"lu\",\n\t\tmo: \"mo\",\n\t\tmk: \"mk\",\n\t\tmg: \"mg\",\n\t\tmw: \"mw\",\n\t\tmy: \"my\",\n\t\tmv: \"mv\",\n\t\tml: \"ml\",\n\t\tmt: \"mt\",\n\t\tmh: \"mh\",\n\t\tmq: \"mq\",\n\t\tmr: \"mr\",\n\t\tmu: \"mu\",\n\t\tyt: \"yt\",\n\t\tmx: \"mx\",\n\t\tfm: \"fm\",\n\t\tmd: \"md\",\n\t\tmc: \"mc\",\n\t\tmn: \"mn\",\n\t\tme: \"me\",\n\t\tms: \"ms\",\n\t\tma: \"ma\",\n\t\tmz: \"mz\",\n\t\tmm: \"mm\",\n\t\tna: \"na\",\n\t\tnr: \"nr\",\n\t\tnp: \"np\",\n\t\tnl: \"nl\",\n\t\tnc: \"nc\",\n\t\tnz: \"nz\",\n\t\tni: \"ni\",\n\t\tne: \"ne\",\n\t\tng: \"ng\",\n\t\tnu: \"nu\",\n\t\tnf: \"nf\",\n\t\tmp: \"mp\",\n\t\tno: \"no\",\n\t\tom: \"om\",\n\t\tpk: \"pk\",\n\t\tpw: \"pw\",\n\t\tps: \"ps\",\n\t\tpa: \"pa\",\n\t\tpg: \"pg\",\n\t\tpy: \"py\",\n\t\tpe: \"pe\",\n\t\tph: \"ph\",\n\t\tpn: \"pn\",\n\t\tpl: \"pl\",\n\t\tpt: \"pt\",\n\t\tpr: \"pr\",\n\t\tqa: \"qa\",\n\t\tro: \"ro\",\n\t\tru: \"ru\",\n\t\trw: \"rw\",\n\t\tre: \"re\",\n\t\tbl: \"bl\",\n\t\tsh: \"sh\",\n\t\tkn: \"kn\",\n\t\tlc: \"lc\",\n\t\tmf: \"mf\",\n\t\tpm: \"pm\",\n\t\tvc: \"vc\",\n\t\tws: \"ws\",\n\t\tsm: \"sm\",\n\t\tst: \"st\",\n\t\tsa: \"sa\",\n\t\tsn: \"sn\",\n\t\trs: \"rs\",\n\t\tsc: \"sc\",\n\t\tsl: \"sl\",\n\t\tsg: \"sg\",\n\t\tsk: \"sk\",\n\t\tsi: \"si\",\n\t\tsb: \"sb\",\n\t\tso: \"so\",\n\t\tza: \"za\",\n\t\tss: \"ss\",\n\t\tgs: \"gs\",\n\t\tes: \"es\",\n\t\tlk: \"lk\",\n\t\tsd: \"sd\",\n\t\tsr: \"sr\",\n\t\tsj: \"sj\",\n\t\tsz: \"sz\",\n\t\tse: \"se\",\n\t\tch: \"ch\",\n\t\tsy: \"sy\",\n\t\ttw: \"tw\",\n\t\ttj: \"tj\",\n\t\ttz: \"tz\",\n\t\tth: \"th\",\n\t\ttl: \"tl\",\n\t\ttg: \"tg\",\n\t\ttk: \"tk\",\n\t\tto: \"to\",\n\t\ttt: \"tt\",\n\t\ttn: \"tn\",\n\t\ttr: \"tr\",\n\t\ttm: \"tm\",\n\t\ttc: \"tc\",\n\t\ttv: \"tv\",\n\t\tug: \"ug\",\n\t\tua: \"ua\",\n\t\tae: \"ae\",\n\t\tgb: \"gb\",\n\t\tus: \"us\",\n\t\tuy: \"uy\",\n\t\tuz: \"uz\",\n\t\tvu: \"vu\",\n\t\tve: \"ve\",\n\t\tvn: \"vn\",\n\t\tvg: \"vg\",\n\t\tvi: \"vi\",\n\t\twf: \"wf\",\n\t\tye: \"ye\",\n\t\tzm: \"zm\",\n\t\tzw: \"zw\",\n\t},\n} as const\n","import { Fragment } from \"react\"\nimport { uuid } from \"@julseb-lib/utils\"\n\n/**\n * Regular expression to match URLs in a string.\n * Matches HTTP/HTTPS URLs with optional www, ports, and paths.\n *\n * @type {RegExp}\n */\nexport const URL_REGEX =\n\t/^(http:\\/\\/www\\.|https:\\/\\/www\\.|http:\\/\\/|https:\\/\\/)?[a-z0-9]+([\\-\\.]{1}[a-z0-9]+)*\\.[a-z]{2,5}(:[0-9]{1,5})?(\\/.*)?$/gm\n\n/**\n * Splits a string into words and wraps detected URLs in anchor tags, optionally opening them in a new tab.\n *\n * @param {string} text - The input text to linkify.\n * @param {boolean} [blank] - If true, links open in a new tab.\n * @returns {Array<JSX.Element | string>} Array of JSX elements and strings with URLs linkified.\n *\n * @example\n * linkifyText(\"Visit https://example.com\", true)\n */\nexport const linkifyText = (text: string, blank?: boolean) => {\n\tconst words: Array<string> = text?.split(\" \")\n\n\treturn words?.map((word: string) =>\n\t\tword.match(URL_REGEX) ? (\n\t\t\t<Fragment key={uuid()}>\n\t\t\t\t<a\n\t\t\t\t\thref={word}\n\t\t\t\t\ttarget={blank ? \"_blank\" : undefined}\n\t\t\t\t\trel={blank ? \"noreferrer noopener\" : undefined}\n\t\t\t\t\tclassName=\"font-black\"\n\t\t\t\t>\n\t\t\t\t\t{word}\n\t\t\t\t</a>{\" \"}\n\t\t\t</Fragment>\n\t\t) : (\n\t\t\tword + \" \"\n\t\t),\n\t)\n}\n","import type { LibColorsHover } from \"../types\"\n\n/**\n * Maps color tokens to Tailwind CSS classes for styling anchor tags (`<a>`) with color, hover, and active states.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genLinkColor.primary // \"[&_a]:font-black [&_a]:text-primary-500 [&_a]:hover:text-primary-300 [&_a]:active:text-primary-600\"\n */\nexport const genLinkColor: Record<LibColorsHover, string> = {\n\tprimary:\n\t\t\"[&_a]:font-black [&_a]:text-primary-500 [&_a]:hover:text-primary-300 [&_a]:active:text-primary-600\",\n\tsecondary:\n\t\t\"[&_a]:font-black [&_a]:text-secondary-500 [&_a]:hover:text-secondary-300 [&_a]:active:text-secondary-600\",\n\tsuccess:\n\t\t\"[&_a]:font-black [&_a]:text-success-500 [&_a]:hover:text-success-300 [&_a]:active:text-success-600\",\n\tdanger: \"[&_a]:font-black [&_a]:text-danger-500 [&_a]:hover:text-danger-300 [&_a]:active:text-danger-600\",\n\twarning:\n\t\t\"[&_a]:font-black [&_a]:text-warning-500 [&_a]:hover:text-warning-300 [&_a]:active:text-warning-600\",\n\tgray: \"[&_a]:font-black [&_a]:text-gray-500 [&_a]:hover:text-gray-300 [&_a]:active:text-gray-600\",\n\twhite: \"[&_a]:font-black [&_a]:text-white [&_a]:hover:text-gray-300 [&_a]:active:text-gray-100\",\n}\n\n/**\n * Maps color tokens to Tailwind CSS classes for styling button tags (`<button>`) with color, hover, and active states.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genButtonColor.secondary // \"[&_button]:font-black [&_button]:text-secondary-500 [&_button]:hover:text-secondary-300 [&_button]:active:text-secondary-600\"\n */\nexport const genButtonColor: Record<LibColorsHover, string> = {\n\tprimary:\n\t\t\"[&_button]:font-black [&_button]:text-primary-500 [&_button]:hover:text-primary-300 [&_button]:active:text-primary-600\",\n\tsecondary:\n\t\t\"[&_button]:font-black [&_button]:text-secondary-500 [&_button]:hover:text-secondary-300 [&_button]:active:text-secondary-600\",\n\tsuccess:\n\t\t\"[&_button]:font-black [&_button]:text-success-500 [&_button]:hover:text-success-300 [&_button]:active:text-success-600\",\n\tdanger: \"[&_button]:font-black [&_button]:text-danger-500 [&_button]:hover:text-danger-300 [&_button]:active:text-danger-600\",\n\twarning:\n\t\t\"[&_button]:font-black [&_button]:text-warning-500 [&_button]:hover:text-warning-300 [&_button]:active:text-warning-600\",\n\tgray: \"[&_button]:font-black [&_button]:text-gray-500 [&_button]:hover:text-gray-300 [&_button]:active:text-gray-600\",\n\twhite: \"[&_button]:font-black [&_button]:text-white [&_button]:hover:text-gray-300 [&_button]:active:text-gray-100\",\n}\n","import type { CssTextAlign } from \"../types\"\n\n/**\n * Maps CSS `text-align` values to their corresponding Tailwind CSS text alignment utility classes.\n *\n * @type {Record<CssTextAlign, string>}\n * @example\n * genTextAlign.center // \"text-center\"\n */\nexport const genTextAlign: Record<CssTextAlign, string> = {\n\tleft: \"text-left\",\n\tcenter: \"text-center\",\n\tright: \"text-right\",\n\tjustify: \"text-justify\",\n\tstart: \"text-start\",\n\tend: \"text-end\",\n}\n","import type {\n\tLibAllColors,\n\tLibColors,\n\tLibColorsHover,\n\tLibColorsShort,\n} from \"../types\"\n\n/**\n * Maps color tokens to their corresponding Tailwind CSS text color utility classes.\n *\n * @type {Record<LibColors, string>}\n * @example\n * genTextColor[\"primary-500\"] // \"text-primary-500\"\n */\nexport const genTextColor: Record<LibColors, string> = {\n\tblack: \"text-black\",\n\twhite: \"text-white\",\n\t\"primary-50\": \"text-primary-50\",\n\t\"primary-100\": \"text-primary-100\",\n\t\"primary-200\": \"text-primary-200\",\n\t\"primary-300\": \"text-primary-300\",\n\t\"primary-400\": \"text-primary-400\",\n\t\"primary-500\": \"text-primary-500\",\n\t\"primary-600\": \"text-primary-600\",\n\t\"primary-700\": \"text-primary-700\",\n\t\"primary-800\": \"text-primary-800\",\n\t\"primary-900\": \"text-primary-900\",\n\t\"primary-950\": \"text-primary-950\",\n\t\"secondary-50\": \"text-secondary-50\",\n\t\"secondary-100\": \"text-secondary-100\",\n\t\"secondary-200\": \"text-secondary-200\",\n\t\"secondary-300\": \"text-secondary-300\",\n\t\"secondary-400\": \"text-secondary-400\",\n\t\"secondary-500\": \"text-secondary-500\",\n\t\"secondary-600\": \"text-secondary-600\",\n\t\"secondary-700\": \"text-secondary-700\",\n\t\"secondary-800\": \"text-secondary-800\",\n\t\"secondary-900\": \"text-secondary-900\",\n\t\"secondary-950\": \"text-secondary-950\",\n\t\"success-50\": \"text-success-50\",\n\t\"success-100\": \"text-success-100\",\n\t\"success-200\": \"text-success-200\",\n\t\"success-300\": \"text-success-300\",\n\t\"success-400\": \"text-success-400\",\n\t\"success-500\": \"text-success-500\",\n\t\"success-600\": \"text-success-600\",\n\t\"success-700\": \"text-success-700\",\n\t\"success-800\": \"text-success-800\",\n\t\"success-900\": \"text-success-900\",\n\t\"success-950\": \"text-success-950\",\n\t\"danger-50\": \"text-danger-50\",\n\t\"danger-100\": \"text-danger-100\",\n\t\"danger-200\": \"text-danger-200\",\n\t\"danger-300\": \"text-danger-300\",\n\t\"danger-400\": \"text-danger-400\",\n\t\"danger-500\": \"text-danger-500\",\n\t\"danger-600\": \"text-danger-600\",\n\t\"danger-700\": \"text-danger-700\",\n\t\"danger-800\": \"text-danger-800\",\n\t\"danger-900\": \"text-danger-900\",\n\t\"danger-950\": \"text-danger-950\",\n\t\"warning-50\": \"text-warning-50\",\n\t\"warning-100\": \"text-warning-100\",\n\t\"warning-200\": \"text-warning-200\",\n\t\"warning-300\": \"text-warning-300\",\n\t\"warning-400\": \"text-warning-400\",\n\t\"warning-500\": \"text-warning-500\",\n\t\"warning-600\": \"text-warning-600\",\n\t\"warning-700\": \"text-warning-700\",\n\t\"warning-800\": \"text-warning-800\",\n\t\"warning-900\": \"text-warning-900\",\n\t\"warning-950\": \"text-warning-950\",\n\t\"gray-50\": \"text-gray-50\",\n\t\"gray-100\": \"text-gray-100\",\n\t\"gray-200\": \"text-gray-200\",\n\t\"gray-300\": \"text-gray-300\",\n\t\"gray-400\": \"text-gray-400\",\n\t\"gray-500\": \"text-gray-500\",\n\t\"gray-600\": \"text-gray-600\",\n\t\"gray-700\": \"text-gray-700\",\n\t\"gray-800\": \"text-gray-800\",\n\t\"gray-900\": \"text-gray-900\",\n\t\"gray-950\": \"text-gray-950\",\n\tcurrent: \"text-current\",\n\ttransparent: \"text-transparent\",\n\tbackground: \"text-background\",\n\tfont: \"text-font\",\n}\n\n/**\n * Maps shorthand color tokens to their corresponding Tailwind CSS text color utility classes (uses the 500 shade).\n *\n * @type {Record<LibColorsShort, string>}\n * @example\n * genTextColorShort.primary // \"text-primary-500\"\n */\nexport const genTextColorShort: Record<LibColorsShort, string> = {\n\tprimary: \"text-primary-500\",\n\tsecondary: \"text-secondary-500\",\n\tsuccess: \"text-success-500\",\n\tdanger: \"text-danger-500\",\n\twarning: \"text-warning-500\",\n\tgray: \"text-gray-500\",\n\tblack: \"text-black\",\n\twhite: \"text-white\",\n\tcurrent: \"text-current\",\n\ttransparent: \"text-transparent\",\n\tbackground: \"text-background\",\n}\n\n/**\n * Maps color tokens to Tailwind CSS text color utility classes with hover and active states.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genTextColorHover.danger // \"text-danger-500 hover:text-danger-300 active:text-danger-600\"\n */\nexport const genTextColorHover: Record<LibColorsHover, string> = {\n\tprimary: \"text-primary-500 hover:text-primary-300 active:text-primary-600\",\n\tsecondary:\n\t\t\"text-secondary-500 hover:text-secondary-300 active:text-secondary-600\",\n\tsuccess: \"text-success-500 hover:text-success-300 active:text-success-600\",\n\tdanger: \"text-danger-500 hover:text-danger-300 active:text-danger-600\",\n\twarning: \"text-warning-500 hover:text-warning-300 active:text-warning-600\",\n\tgray: \"text-gray-500 hover:text-gray-300 active:text-gray-600\",\n\twhite: \"text-white hover:text-gray-300! active:text-gray-100!\",\n}\n\n/**\n * Combined map of all color tokens (full and shorthand) to their Tailwind CSS text color utility classes.\n *\n * @type {Record<LibAllColors, string>}\n * @example\n * genTextAllColor.primary // \"text-primary-500\"\n * genTextAllColor[\"primary-100\"] // \"text-primary-100\"\n */\nexport const genTextAllColor: Record<LibAllColors, string> = {\n\t...genTextColor,\n\t...genTextColorShort,\n}\n","import type {\n\tLibAllColors,\n\tLibAllColorsAndOverlays,\n\tLibColors,\n\tLibColorsHover,\n\tLibColorsShort,\n\tLibOverlays,\n} from \"../types\"\n\n/**\n * Maps all library color tokens to their corresponding Tailwind CSS `bg-` classes.\n *\n * @type {Record<LibColors, string>}\n * @example\n * genBgColor[\"primary-500\"] // \"bg-primary-500\"\n */\nexport const genBgColor: Record<LibColors, string> = {\n\tblack: \"bg-black\",\n\twhite: \"bg-white\",\n\t\"primary-50\": \"bg-primary-50\",\n\t\"primary-100\": \"bg-primary-100\",\n\t\"primary-200\": \"bg-primary-200\",\n\t\"primary-300\": \"bg-primary-300\",\n\t\"primary-400\": \"bg-primary-400\",\n\t\"primary-500\": \"bg-primary-500\",\n\t\"primary-600\": \"bg-primary-600\",\n\t\"primary-700\": \"bg-primary-700\",\n\t\"primary-800\": \"bg-primary-800\",\n\t\"primary-900\": \"bg-primary-900\",\n\t\"primary-950\": \"bg-primary-950\",\n\n\t\"secondary-50\": \"bg-secondary-50\",\n\t\"secondary-100\": \"bg-secondary-100\",\n\t\"secondary-200\": \"bg-secondary-200\",\n\t\"secondary-300\": \"bg-secondary-300\",\n\t\"secondary-400\": \"bg-secondary-400\",\n\t\"secondary-500\": \"bg-secondary-500\",\n\t\"secondary-600\": \"bg-secondary-600\",\n\t\"secondary-700\": \"bg-secondary-700\",\n\t\"secondary-800\": \"bg-secondary-800\",\n\t\"secondary-900\": \"bg-secondary-900\",\n\t\"secondary-950\": \"bg-secondary-950\",\n\n\t\"success-50\": \"bg-success-50\",\n\t\"success-100\": \"bg-success-100\",\n\t\"success-200\": \"bg-success-200\",\n\t\"success-300\": \"bg-success-300\",\n\t\"success-400\": \"bg-success-400\",\n\t\"success-500\": \"bg-success-500\",\n\t\"success-600\": \"bg-success-600\",\n\t\"success-700\": \"bg-success-700\",\n\t\"success-800\": \"bg-success-800\",\n\t\"success-900\": \"bg-success-900\",\n\t\"success-950\": \"bg-success-950\",\n\n\t\"danger-50\": \"bg-danger-50\",\n\t\"danger-100\": \"bg-danger-100\",\n\t\"danger-200\": \"bg-danger-200\",\n\t\"danger-300\": \"bg-danger-300\",\n\t\"danger-400\": \"bg-danger-400\",\n\t\"danger-500\": \"bg-danger-500\",\n\t\"danger-600\": \"bg-danger-600\",\n\t\"danger-700\": \"bg-danger-700\",\n\t\"danger-800\": \"bg-danger-800\",\n\t\"danger-900\": \"bg-danger-900\",\n\t\"danger-950\": \"bg-danger-950\",\n\n\t\"warning-50\": \"bg-warning-50\",\n\t\"warning-100\": \"bg-warning-100\",\n\t\"warning-200\": \"bg-warning-200\",\n\t\"warning-300\": \"bg-warning-300\",\n\t\"warning-400\": \"bg-warning-400\",\n\t\"warning-500\": \"bg-warning-500\",\n\t\"warning-600\": \"bg-warning-600\",\n\t\"warning-700\": \"bg-warning-700\",\n\t\"warning-800\": \"bg-warning-800\",\n\t\"warning-900\": \"bg-warning-900\",\n\t\"warning-950\": \"bg-warning-950\",\n\n\t\"gray-50\": \"bg-gray-50\",\n\t\"gray-100\": \"bg-gray-100\",\n\t\"gray-200\": \"bg-gray-200\",\n\t\"gray-300\": \"bg-gray-300\",\n\t\"gray-400\": \"bg-gray-400\",\n\t\"gray-500\": \"bg-gray-500\",\n\t\"gray-600\": \"bg-gray-600\",\n\t\"gray-700\": \"bg-gray-700\",\n\t\"gray-800\": \"bg-gray-800\",\n\t\"gray-900\": \"bg-gray-900\",\n\t\"gray-950\": \"bg-gray-950\",\n\tcurrent: \"bg-current\",\n\ttransparent: \"bg-transparent\",\n\tbackground: \"bg-background\",\n\tfont: \"bg-font\",\n}\n\n/**\n * Maps shorthand color names to their Tailwind CSS `bg-` classes (uses the 500 shade).\n *\n * @type {Record<LibColorsShort, string>}\n * @example\n * genBgColorShort.primary // \"bg-primary-500\"\n */\nexport const genBgColorShort: Record<LibColorsShort, string> = {\n\tprimary: \"bg-primary-500\",\n\tsecondary: \"bg-secondary-500\",\n\tsuccess: \"bg-success-500\",\n\tdanger: \"bg-danger-500\",\n\twarning: \"bg-warning-500\",\n\tgray: \"bg-gray-500\",\n\tblack: \"bg-black\",\n\twhite: \"bg-white\",\n\tcurrent: \"bg-current\",\n\ttransparent: \"bg-transparent\",\n\tbackground: \"bg-background\",\n}\n\n/**\n * Maps shorthand color names to their lightest (50 shade) Tailwind CSS `bg-` classes.\n *\n * @type {Record<Exclude<LibColorsShort, \"black\" | \"transparent\" | \"background\" | \"current\">, string>}\n * @example\n * genBgColor50.primary // \"bg-primary-50\"\n */\nexport const genBgColor50: Record<\n\tExclude<LibColorsShort, \"black\" | \"transparent\" | \"background\" | \"current\">,\n\tstring\n> = {\n\tprimary: \"bg-primary-50\",\n\tsecondary: \"bg-secondary-50\",\n\tsuccess: \"bg-success-50\",\n\tdanger: \"bg-danger-50\",\n\twarning: \"bg-warning-50\",\n\tgray: \"bg-gray-50\",\n\twhite: \"bg-white\",\n}\n\n/**\n * Maps hover color names to Tailwind CSS `bg-` classes with hover and active states.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genBgColorHover.primary // \"bg-primary-500 hover:bg-primary-300 active:bg-primary-600\"\n */\nexport const genBgColorHover: Record<LibColorsHover, string> = {\n\tprimary: \"bg-primary-500 hover:bg-primary-300 active:bg-primary-600\",\n\tsecondary:\n\t\t\"bg-secondary-500 hover:bg-secondary-300 active:bg-secondary-600\",\n\tsuccess: \"bg-success-500 hover:bg-success-300 active:bg-success-600\",\n\tdanger: \"bg-danger-500 hover:bg-danger-300 active:bg-danger-600\",\n\twarning: \"bg-warning-500 hover:bg-warning-300 active:bg-warning-600\",\n\tgray: \"bg-gray-500 hover:bg-gray-300 active:bg-gray-600\",\n\twhite: \"bg-white hover:bg-gray-300! active:bg-gray-100!\",\n}\n\n/**\n * Maps ghost-style hover color names to Tailwind CSS `bg-` classes with hover and active states (lighter shades).\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genBgColorGhostHover.primary // \"bg-primary-50 hover:bg-primary-300 active:bg-primary-100\"\n */\nexport const genBgColorGhostHover: Record<LibColorsHover, string> = {\n\tprimary: \"bg-primary-50 hover:bg-primary-300 active:bg-primary-100\",\n\tsecondary: \"bg-secondary-50 hover:bg-secondary-300 active:bg-secondary-100\",\n\tsuccess: \"bg-success-50 hover:bg-success-300 active:bg-success-100\",\n\tdanger: \"bg-danger-50 hover:bg-danger-300 active:bg-danger-100\",\n\twarning: \"bg-warning-50 hover:bg-warning-300 active:bg-warning-100\",\n\tgray: \"bg-gray-50 hover:bg-gray-300 active:bg-gray-100\",\n\twhite: \"bg-white hover:bg-gray-300! active:bg-gray-100!\",\n}\n\n/**\n * Maps overlay tokens to their Tailwind CSS `bg-overlay-` classes.\n *\n * @type {Record<LibOverlays, string>}\n * @example\n * genBgOverlay[\"black-50\"] // \"bg-overlay-black-50\"\n */\nexport const genBgOverlay: Record<LibOverlays, string> = {\n\t\"black-50\": \"bg-overlay-black-50\",\n\t\"black-80\": \"bg-overlay-black-80\",\n\t\"white-50\": \"bg-overlay-white-50\",\n\t\"white-80\": \"bg-overlay-white-80\",\n\t\"gradient-black\": \"bg-overlay-gradient-black\",\n\t\"gradient-white\": \"bg-overlay-gradient-white\",\n}\n\n/**\n * Combined map of all color tokens (full and shorthand) to their Tailwind CSS `bg-` classes.\n *\n * @type {Record<LibAllColors, string>}\n * @example\n * genBgAllColors.primary // \"bg-primary-500\"\n * genBgAllColors[\"primary-100\"] // \"bg-primary-100\"\n */\nexport const genBgAllColors: Record<LibAllColors, string> = {\n\t...genBgColor,\n\t...genBgColorShort,\n}\n\n/**\n * Combined map of all color and overlay tokens to their Tailwind CSS `bg-` classes.\n *\n * @type {Record<LibAllColorsAndOverlays, string>}\n * @example\n * genBgAllColorsAndOverlays.primary // \"bg-primary-500\"\n * genBgAllColorsAndOverlays[\"black-50\"] // \"bg-overlay-black-50\"\n */\nexport const genBgAllColorsAndOverlays: Record<\n\tLibAllColorsAndOverlays,\n\tstring\n> = {\n\t...genBgAllColors,\n\t...genBgOverlay,\n}\n","import type {\n\tLibAllColors,\n\tLibColors,\n\tLibColorsHover,\n\tLibColorsShort,\n} from \"../types\"\n\n/**\n * Maps all library color tokens to their corresponding Tailwind CSS `border-` classes.\n *\n * @type {Record<LibColors, string>}\n * @example\n * genBorderColor[\"primary-500\"] // \"border-primary-500\"\n */\nexport const genBorderColor: Record<LibColors, string> = {\n\tblack: \"border-black\",\n\twhite: \"border-white\",\n\t\"primary-50\": \"border-primary-50\",\n\t\"primary-100\": \"border-primary-100\",\n\t\"primary-200\": \"border-primary-200\",\n\t\"primary-300\": \"border-primary-300\",\n\t\"primary-400\": \"border-primary-400\",\n\t\"primary-500\": \"border-primary-500\",\n\t\"primary-600\": \"border-primary-600\",\n\t\"primary-700\": \"border-primary-700\",\n\t\"primary-800\": \"border-primary-800\",\n\t\"primary-900\": \"border-primary-900\",\n\t\"primary-950\": \"border-primary-950\",\n\t\"secondary-50\": \"border-secondary-50\",\n\t\"secondary-100\": \"border-secondary-100\",\n\t\"secondary-200\": \"border-secondary-200\",\n\t\"secondary-300\": \"border-secondary-300\",\n\t\"secondary-400\": \"border-secondary-400\",\n\t\"secondary-500\": \"border-secondary-500\",\n\t\"secondary-600\": \"border-secondary-600\",\n\t\"secondary-700\": \"border-secondary-700\",\n\t\"secondary-800\": \"border-secondary-800\",\n\t\"secondary-900\": \"border-secondary-900\",\n\t\"secondary-950\": \"border-secondary-950\",\n\t\"success-50\": \"border-success-50\",\n\t\"success-100\": \"border-success-100\",\n\t\"success-200\": \"border-success-200\",\n\t\"success-300\": \"border-success-300\",\n\t\"success-400\": \"border-success-400\",\n\t\"success-500\": \"border-success-500\",\n\t\"success-600\": \"border-success-600\",\n\t\"success-700\": \"border-success-700\",\n\t\"success-800\": \"border-success-800\",\n\t\"success-900\": \"border-success-900\",\n\t\"success-950\": \"border-success-950\",\n\t\"danger-50\": \"border-danger-50\",\n\t\"danger-100\": \"border-danger-100\",\n\t\"danger-200\": \"border-danger-200\",\n\t\"danger-300\": \"border-danger-300\",\n\t\"danger-400\": \"border-danger-400\",\n\t\"danger-500\": \"border-danger-500\",\n\t\"danger-600\": \"border-danger-600\",\n\t\"danger-700\": \"border-danger-700\",\n\t\"danger-800\": \"border-danger-800\",\n\t\"danger-900\": \"border-danger-900\",\n\t\"danger-950\": \"border-danger-950\",\n\t\"warning-50\": \"border-warning-50\",\n\t\"warning-100\": \"border-warning-100\",\n\t\"warning-200\": \"border-warning-200\",\n\t\"warning-300\": \"border-warning-300\",\n\t\"warning-400\": \"border-warning-400\",\n\t\"warning-500\": \"border-warning-500\",\n\t\"warning-600\": \"border-warning-600\",\n\t\"warning-700\": \"border-warning-700\",\n\t\"warning-800\": \"border-warning-800\",\n\t\"warning-900\": \"border-warning-900\",\n\t\"warning-950\": \"border-warning-950\",\n\t\"gray-50\": \"border-gray-50\",\n\t\"gray-100\": \"border-gray-100\",\n\t\"gray-200\": \"border-gray-200\",\n\t\"gray-300\": \"border-gray-300\",\n\t\"gray-400\": \"border-gray-400\",\n\t\"gray-500\": \"border-gray-500\",\n\t\"gray-600\": \"border-gray-600\",\n\t\"gray-700\": \"border-gray-700\",\n\t\"gray-800\": \"border-gray-800\",\n\t\"gray-900\": \"border-gray-900\",\n\t\"gray-950\": \"border-gray-950\",\n\tcurrent: \"border-current\",\n\ttransparent: \"border-transparent\",\n\tbackground: \"border-background\",\n\tfont: \"border-font\",\n}\n\n/**\n * Maps shorthand color names to their Tailwind CSS `border-` classes (uses the 500 shade).\n *\n * @type {Record<LibColorsShort, string>}\n * @example\n * genBorderColorShort.primary // \"border-primary-500\"\n */\nexport const genBorderColorShort: Record<LibColorsShort, string> = {\n\tprimary: \"border-primary-500\",\n\tsecondary: \"border-secondary-500\",\n\tsuccess: \"border-success-500\",\n\tdanger: \"border-danger-500\",\n\twarning: \"border-warning-500\",\n\tgray: \"border-gray-500\",\n\tblack: \"border-black\",\n\twhite: \"border-white\",\n\tcurrent: \"border-current\",\n\ttransparent: \"border-transparent\",\n\tbackground: \"border-background\",\n}\n\n/**\n * Maps hover color names to Tailwind CSS `border-` classes with hover and active states.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genBorderColorHover.primary // \"border-primary-500 hover:border-primary-300 active:border-primary-600\"\n */\nexport const genBorderColorHover: Record<LibColorsHover, string> = {\n\tprimary:\n\t\t\"border-primary-500 hover:border-primary-300 active:border-primary-600\",\n\tsecondary:\n\t\t\"border-secondary-500 hover:border-secondary-300 active:border-secondary-600\",\n\tsuccess:\n\t\t\"border-success-500 hover:border-success-300 active:border-success-600\",\n\tdanger: \"border-danger-500 hover:border-danger-300 active:border-danger-600\",\n\twarning:\n\t\t\"border-warning-500 hover:border-warning-300 active:border-warning-600\",\n\tgray: \"border-gray-500 hover:border-gray-300 active:border-gray-600\",\n\twhite: \"border-white hover:border-gray-300 active:border-gray-100\",\n}\n\n/**\n * Combined map of all color tokens (full and shorthand) to their Tailwind CSS `border-` classes.\n *\n * @type {Record<LibAllColors, string>}\n * @example\n * genBorderAllColors.primary // \"border-primary-500\"\n * genBorderAllColors[\"primary-100\"] // \"border-primary-100\"\n */\nexport const genBorderAllColors: Record<LibAllColors, string> = {\n\t...genBorderColor,\n\t...genBorderColorShort,\n}\n","import type { LibSpacers } from \"../types\"\n\n/**\n * Maps spacing tokens to their corresponding Tailwind CSS gap utility classes.\n *\n * @type {Record<LibSpacers, string>}\n * @example\n * genGap.lg // \"gap-6\"\n */\nexport const genGap: Record<LibSpacers, string> = {\n\t\"2xl\": \"gap-12\",\n\txl: \"gap-8\",\n\tlg: \"gap-6\",\n\tmd: \"gap-4\",\n\tsm: \"gap-3\",\n\txs: \"gap-2\",\n\t\"2xs\": \"gap-1\",\n\t\"0px\": \"0px\",\n}\n\n/**\n * Maps spacing tokens to their corresponding Tailwind CSS row gap utility classes.\n *\n * @type {Record<LibSpacers, string>}\n * @example\n * genRowGap.md // \"gap-y-4\"\n */\nexport const genRowGap: Record<LibSpacers, string> = {\n\t\"2xl\": \"gap-y-12\",\n\txl: \"gap-y-8\",\n\tlg: \"gap-y-6\",\n\tmd: \"gap-y-4\",\n\tsm: \"gap-y-3\",\n\txs: \"gap-y-2\",\n\t\"2xs\": \"gap-y-1\",\n\t\"0px\": \"0px\",\n}\n\n/**\n * Maps spacing tokens to their corresponding Tailwind CSS column gap utility classes.\n *\n * @type {Record<LibSpacers, string>}\n * @example\n * genColGap.sm // \"gap-x-3\"\n */\nexport const genColGap: Record<LibSpacers, string> = {\n\t\"2xl\": \"gap-x-12\",\n\txl: \"gap-x-8\",\n\tlg: \"gap-x-6\",\n\tmd: \"gap-x-4\",\n\tsm: \"gap-x-3\",\n\txs: \"gap-x-2\",\n\t\"2xs\": \"gap-x-1\",\n\t\"0px\": \"0px\",\n}\n","import classNameX from \"clsx\"\nimport type { ClassNameValue } from \"tailwind-merge\"\nimport { tw } from \"./tools\"\n\n/**\n * Merges and deduplicates Tailwind CSS class names using `tailwind-merge` and `clsx`.\n * @param classes - Class name values to merge.\n * @returns A single merged class name string.\n */\nexport const clsx = (...classes: Array<ClassNameValue>) =>\n\tclassNameX(tw.def(classes))\n","import { createTools, type CreateTailwindest } from \"tailwindest\"\nimport { twMerge } from \"tailwind-merge\"\nimport type { Tailwind, TailwindNestGroups } from \"../types\"\n\n/**\n * Tailwindest type configuration for the library's Tailwind utility types and groups.\n *\n * @typedef {CreateTailwindest<{ tailwind: Tailwind, tailwindNestGroups: TailwindNestGroups, groupPrefix: \"$\", useArbitrary: true }>} Tailwindest\n */\ntype Tailwindest = CreateTailwindest<{\n\ttailwind: Tailwind\n\ttailwindNestGroups: TailwindNestGroups\n\tgroupPrefix: \"$\" // prefix for nest groups, [optional]\n\tuseArbitrary: true // use arbitrary values, [optional]\n}>\n\n/**\n * Tailwind utility function with custom merger and type configuration for the library.\n *\n * @type {ReturnType<typeof createTools<Tailwindest>>}\n * @example\n * tw(\"bg-primary-500 text-white\")\n */\n// @ts-ignore\nexport const tw = createTools<Tailwindest>({\n\tmerger: twMerge, // set tailwind-merge as merger, [optional]\n})\n","import type { CssAlignContent, CssAlignItems } from \"../types\"\n\n/**\n * Maps CSS `align-content` values to their corresponding Tailwind CSS utility classes.\n *\n * @type {Record<CssAlignContent, string>}\n * @example\n * genAlignContent.center // \"content-center\"\n */\nexport const genAlignContent: Record<CssAlignContent, string> = {\n\tnormal: \"content-normal\",\n\tcenter: \"content-center\",\n\tstart: \"content-start\",\n\tend: \"content-end\",\n\t\"space-between\": \"content-between\",\n\t\"space-around\": \"content-around\",\n\t\"space-evenly\": \"content-evenly\",\n\tbaseline: \"content-baseline\",\n\tstretch: \"content-stretch\",\n}\n\n/**\n * Maps CSS `align-items` values to their corresponding Tailwind CSS utility classes.\n *\n * @type {Record<CssAlignItems, string>}\n * @example\n * genAlignItems.center // \"items-center\"\n */\nexport const genAlignItems: Record<CssAlignItems, string> = {\n\tstart: \"items-start\",\n\tend: \"items-end\",\n\t\"end-safe\": \"items-end-safe\",\n\tcenter: \"items-center\",\n\t\"center-safe\": \"items-center-safe\",\n\tbaseline: \"items-baseline\",\n\t\"baseline-start\": \"items-baseline-last\",\n\tstretch: \"items-stretch\",\n}\n","import type { CssJustifyContent, CssJustifyItems } from \"../types\"\n\n/**\n * Maps CSS `justify-content` values to their corresponding Tailwind CSS utility classes.\n *\n * @type {Record<CssJustifyContent, string>}\n * @example\n * genJustifyContent.center // \"justify-center\"\n */\nexport const genJustifyContent: Record<CssJustifyContent, string> = {\n\tstart: \"justify-start\",\n\tend: \"justify-end\",\n\t\"end-safe\": \"justify-end-safe\",\n\tcenter: \"justify-center\",\n\t\"center-safe\": \"justify-center-safe\",\n\t\"space-between\": \"justify-between\",\n\t\"space-around\": \"justify-around\",\n\t\"space-evenly\": \"justify-evenly\",\n\tstretch: \"justify-stretch\",\n\tbaseline: \"justify-baseline\",\n\tnormal: \"justify-normal\",\n}\n\n/**\n * Maps CSS `justify-items` values to their corresponding Tailwind CSS utility classes.\n *\n * @type {Record<CssJustifyItems, string>}\n * @example\n * genJustifyItems.end // \"justify-items-end\"\n */\nexport const genJustifyItems: Record<CssJustifyItems, string> = {\n\tstart: \"justify-items-start\",\n\tend: \"justify-items-end\",\n\t\"end-safe\": \"justify-items-end-safe\",\n\tcenter: \"justify-items-center\",\n\t\"center-safe\": \"justify-items-center-safe\",\n\tstretch: \"justify-items-stretch\",\n\tnormal: \"justify-items-normal\",\n}\n","import type { LibMaxWidth } from \"../types\"\n\n/**\n * Maps max-width tokens to their corresponding Tailwind CSS max-width utility classes.\n *\n * @type {Record<LibMaxWidth, string>}\n * @example\n * genMaxWidth.lg // \"max-w-lg\"\n */\nexport const genMaxWidth: Record<LibMaxWidth, string> = {\n\t\"3xs\": \"max-w-3xs\",\n\t\"2xs\": \"max-w-2xs\",\n\txs: \"max-w-xs\",\n\tsm: \"max-w-sm\",\n\tmd: \"max-w-md\",\n\tlg: \"max-w-lg\",\n\txl: \"max-w-xl\",\n\t\"2xl\": \"max-w-2xl\",\n\t\"3xl\": \"max-w-3xl\",\n\t\"4xl\": \"max-w-4xl\",\n\t\"5xl\": \"max-w-5xl\",\n\t\"6xl\": \"max-w-6xl\",\n\t\"7xl\": \"max-w-7xl\",\n\tnone: \"max-w-none\",\n\tpx: \"max-w-px\",\n\tfull: \"max-w-full\",\n\tdvw: \"max-w-dvw\",\n\tdvh: \"max-w-dvh\",\n\tlvw: \"max-w-lvw\",\n\tlvh: \"max-w-lvh\",\n\tsvw: \"max-w-svw\",\n\tsvh: \"max-w-svh\",\n\tscreen: \"max-w-screen\",\n\tmin: \"max-w-min\",\n\tmax: \"max-w-max\",\n\tfit: \"max-w-fit\",\n}\n","import type { LibRadiuses } from \"../types\"\n\n/**\n * Maps each LibRadiuses key to its corresponding Tailwind CSS border-radius class.\n *\n * @type {Record<LibRadiuses, string>}\n * @example\n * genBorderRadius.sm // \"rounded-sm\"\n */\nexport const genBorderRadius: Record<LibRadiuses, string> = {\n\txs: \"rounded-xs\",\n\tsm: \"rounded-sm\",\n\tmd: \"rounded-md\",\n\tlg: \"rounded-lg\",\n\txl: \"rounded-xl\",\n\t\"2xl\": \"rounded-2xl\",\n\t\"3xl\": \"rounded-3xl\",\n\t\"4xl\": \"rounded-4xl\",\n\tfull: \"rounded-full\",\n}\n","import type { CssObjectFit } from \"../types\"\n\n/**\n * Maps CSS `object-fit` values to their corresponding Tailwind CSS object-fit utility classes.\n *\n * @type {Record<CssObjectFit, string>}\n * @example\n * genObjectFit.cover // \"object-cover\"\n */\nexport const genObjectFit: Record<CssObjectFit, string> = {\n\tcontain: \"object-contain\",\n\tcover: \"object-cover\",\n\tfill: \"object-fill\",\n\tnone: \"object-none\",\n\t\"scale-down\": \"object-scale-down\",\n}\n","import type { LibButtonVariantExtended } from \"../types\"\n\n/**\n * Maps button variant names to their corresponding Tailwind CSS classes for the disabled state.\n *\n * @type {Record<LibButtonVariantExtended, string>}\n * @example\n * genButtonDisabled.plain // \"disabled:bg-gray-200 disabled:hover:bg-gray-200 disabled:text-gray-500!\"\n */\nexport const genButtonDisabled: Record<LibButtonVariantExtended, string> = {\n\tplain: \"disabled:bg-gray-200 disabled:hover:bg-gray-200 disabled:text-gray-500!\",\n\tghost: \"disabled:bg-gray-200 disabled:hover:bg-gray-200 disabled:text-gray-500\",\n\toutline:\n\t\t\"disabled:border-gray-500 disabled:text-gray-500 disabled:hover:border-gray-500 disabled:hover:text-gray-500\",\n\ttransparent: \"disabled:text-gray-500 disabled:hover:text-gray-500\",\n}\n","import type { LibShadows } from \"../types\"\n\n/**\n * Maps each LibShadows key to its corresponding Tailwind CSS box-shadow utility class.\n *\n * @type {Record<LibShadows, string>}\n * @example\n * genBoxShadow.md // \"shadow-md\"\n */\nexport const genBoxShadow: Record<LibShadows, string> = {\n\t\"2xs\": \"shadow-2xs\",\n\txs: \"shadow-xs\",\n\tsm: \"shadow-sm\",\n\tmd: \"shadow-md\",\n\tlg: \"shadow-lg\",\n\txl: \"shadow-xl\",\n\t\"2xl\": \"shadow-2xl\",\n\tnone: \"shadow-none\",\n}\n","import type { CssVerticalAlign } from \"../types\"\n\n/**\n * Maps CSS `vertical-align` values to their corresponding Tailwind CSS vertical alignment utility classes.\n *\n * @type {Record<CssVerticalAlign, string>}\n * @example\n * genVAlign[\"align-middle\"] // \"align-middle\"\n */\nexport const genVAlign: Record<CssVerticalAlign, string> = {\n\t\"align-baseline\": \"align-baseline\",\n\t\"align-top\": \"align-top\",\n\t\"align-middle\": \"align-middle\",\n\t\"align-bottom\": \"align-bottom\",\n\t\"align-text-top\": \"align-text-top\",\n\t\"align-text-bottom\": \"align-text-bottom\",\n\t\"align-sub\": \"align-sub\",\n\t\"align-super\": \"align-super\",\n}\n","import { type FC } from \"react\"\nimport { H1 } from \"./templates/H1\"\nimport { H2 } from \"./templates/H2\"\nimport { H3 } from \"./templates/H3\"\nimport { H4 } from \"./templates/H4\"\nimport { H5 } from \"./templates/H5\"\nimport { H6 } from \"./templates/H6\"\nimport { P } from \"./templates/P\"\nimport { Small } from \"./templates/Small\"\nimport { Strong } from \"./templates/Strong\"\nimport { Em } from \"./templates/Em\"\nimport { Blockquote } from \"./templates/Blockquote\"\nimport { Ul } from \"./templates/Ul\"\nimport { Ol } from \"./templates/Ol\"\nimport { Dl } from \"./templates/Dl\"\nimport { clsx } from \"../../utils\"\nimport type { ILibText } from \"./types\"\n\nexport const TEXT_BASE_CLASSES = clsx(\n\t\"font-family-body\",\n\t\"[&_code]:font-family-code [&_code]:leading-8 [&_code]:p-1 [&_code]:text-primary-500 [&_code]:bg-gray-50 [&_code]:rounded-xs\",\n)\n\n/**\n * Text component for rendering semantic HTML text elements with consistent styles.\n *\n * Renders the appropriate semantic element based on the `tag` prop, such as headings, paragraphs, lists, blockquotes, etc.\n *\n * @component\n * @example\n * <Text tag=\"h2\">Section title</Text>\n * <Text tag=\"p\">Paragraph content</Text>\n * <Text tag=\"ul\">\n * <li>Item 1</li>\n * <li>Item 2</li>\n * </Text>\n *\n * @extends HTMLHeadingElement & HTMLParagraphElement & HTMLQuoteElement & HTMLDListElement & HTMLOListElement & HTMLUListElement\n *\n * @prop {object} props - Component props.\n * @prop {ElementType} [props.element=\"p\"] - The HTML element or React component to render.\n * @prop {\"h1\"|\"h2\"|\"h3\"|\"h4\"|\"h5\"|\"h6\"|\"p\"|\"small\"|\"strong\"|\"em\"|\"blockquote\"|\"ul\"|\"ol\"|\"dl\"} [props.tag=\"p\"] - The semantic HTML tag to render.\n * @prop {string} [props.color=\"currentColor\"] - Any color from the library.\n * @prop {\"red\"|\"orange\"|\"amber\"|\"yellow\"|\"lime\"|\"green\"|\"emerald\"|\"teal\"|\"cyan\"|\"sky\"|\"blue\"|\"indigo\"|\"violet\"|\"purple\"|\"fuchsia\"|\"pink\"|\"rose\"|\"slate\"} [props.linkColor=\"blue\"] - Any hover color.\n * @prop {\"text-left\"|\"text-center\"|\"text-right\"|\"text-justify\"|\"text-start\"|\"text-end\"} [props.textAlign=\"left\"] - Text alignment.\n * @prop {boolean} [props.display=false] - Whether to use display text, available only for titles from h1 to h5.\n * @prop {string} [props.className] - Additional class names to apply.\n * @prop {\"thin\"|\"light\"|\"normal\"|\"bold\"|\"black\"} [props.fontWeight] - Font weight of the text. Accepts: thin (100), light (300), normal (400), bold (700), black (900).\n * @prop {\"xs\"|\"sm\"|\"base\"|\"lg\"|\"xl\"|\"2xl\"|\"3xl\"|\"4xl\"|\"5xl\"|\"6xl\"|\"7xl\"|\"8xl\"|\"9xl\"|\"display-h1\"|\"display-h2\"|\"display-h3\"|\"display-h4\"|\"display-h5\"|\"h1\"|\"h2\"|\"h3\"|\"h4\"|\"h5\"|\"h6\"|\"body\"|\"small\"} [props.fontSize] - Font size of the text. Accepts Tailwind and theme sizes: xs, sm, base, lg, xl, 2xl, 3xl, 4xl, 5xl, 6xl, 7xl, 8xl, 9xl, display-h1, display-h2, display-h3, display-h4, display-h5, h1, h2, h3, h4, h5, h6, body, small.\n * @prop {RefObject<any>} [props.ref] - Ref for the rendered element.\n * @prop {ReactNode} props.children - Text content.\n * @prop {object} [props.rest] - Additional props spread to the rendered element.\n *\n * @returns {JSX.Element} The rendered text element.\n *\n * @see https://julseb-lib.vercel.app/components/styles/text\n */\nexport const Text: FC<ILibText> = ({ tag = \"p\", ...rest }) => {\n\tswitch (tag) {\n\t\tcase \"h1\":\n\t\t\treturn <H1 {...rest} />\n\t\tcase \"h2\":\n\t\t\treturn <H2 {...rest} />\n\t\tcase \"h3\":\n\t\t\treturn <H3 {...rest} />\n\t\tcase \"h4\":\n\t\t\treturn <H4 {...rest} />\n\t\tcase \"h5\":\n\t\t\treturn <H5 {...rest} />\n\t\tcase \"h6\":\n\t\t\treturn <H6 {...rest} />\n\t\tcase \"small\":\n\t\t\treturn <Small {...rest} />\n\t\tcase \"strong\":\n\t\t\treturn <Strong {...rest} />\n\t\tcase \"em\":\n\t\t\treturn <Em {...rest} />\n\t\tcase \"blockquote\":\n\t\t\treturn <Blockquote {...rest} />\n\t\tcase \"ul\":\n\t\t\treturn <Ul {...rest} />\n\t\tcase \"ol\":\n\t\t\treturn <Ol {...rest} />\n\t\tcase \"dl\":\n\t\t\treturn <Dl {...rest} />\n\t\tcase \"p\":\n\t\tdefault:\n\t\t\treturn <P {...rest} />\n\t}\n}\n","import { type FC } from \"react\"\nimport { uuid } from \"@julseb-lib/utils\"\nimport {\n\tclsx,\n\tlinkifyText,\n\tgenLinkColor,\n\tgenButtonColor,\n\tgenTextAlign,\n\tgenVAlign,\n} from \"../../utils\"\nimport { Text, TEXT_BASE_CLASSES } from \"../Text/Text\"\nimport { Flexbox } from \"../Flexbox\"\nimport type { ILibTable } from \"./types\"\n\n/**\n * Table component for creating structured data tables with customizable styling, variants, and automatic link detection.\n *\n * @component\n *\n * @example\n * <Table\n * variant=\"bordered\"\n * headers={[\"Name\", \"Email\", \"Role\"]}\n * data={[\n * [\"John Doe\", \"john@example.com\", \"Admin\"],\n * [\"Jane Smith\", \"jane@example.com\", \"User\"]\n * ]}\n * footers={[\"Total: 2 users\", \"\", \"\"]}\n * linkify\n * />\n *\n * @extends HTMLTableElement\n *\n * @prop {string} [props.className] - Additional CSS classes to apply to the table.\n * @prop {React.Ref<HTMLTableElement>} [props.ref] - Ref to the table element.\n * @prop {React.ReactNode} [props.children] - Table content when not using data prop.\n * @prop {\"bordered\" | \"stripped\" | \"border-bottom\"} [props.variant=\"bordered\"] - Visual variant for table styling.\n * @prop {\"align-baseline\" | \"align-top\" | \"align-middle\" | \"align-bottom\" | \"align-text-top\" | \"align-text-bottom\" | \"align-sub\" | \"align-super\"} [props.vAlign=\"align-top\"] - Vertical alignment for table cells.\n * @prop {\"left\" | \"center\" | \"right\" | \"justify\"} [props.textAlign=\"left\"] - Text alignment for table content.\n * @prop {boolean} [props.linkify] - Whether to automatically convert URLs in text to clickable links.\n * @prop {boolean} [props.blank] - Whether links should open in new tab when linkify is enabled.\n * @prop {Array<React.ReactNode>} [props.headers] - Array of header content for table columns.\n * @prop {Array<React.ReactNode>} [props.footers] - Array of footer content for table columns.\n * @prop {Array<Array<React.ReactNode>>} [props.data] - 2D array of table data for automatic table generation.\n *\n * @returns {JSX.Element} The rendered Table component.\n *\n * @see https://julseb-lib.vercel.app/components/table\n */\nexport const Table: FC<ILibTable> = ({\n\tclassName,\n\tref,\n\tchildren,\n\tvariant = \"bordered\",\n\tvAlign = \"align-top\",\n\ttextAlign = \"left\",\n\tlinkify,\n\tblank,\n\theaders,\n\tfooters,\n\tdata,\n\t...rest\n}) => {\n\treturn (\n\t\t<>\n\t\t\t<table\n\t\t\t\tref={ref}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t\"bg-background w-full h-px border-collapse border-spacing-0 table-fixed\",\n\t\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\t\tdata ? \"hidden! md:table!\" : \"table\",\n\t\t\t\t\t\"text-(length:--font-size-small)\",\n\t\t\t\t\tgenLinkColor[\"primary\"],\n\t\t\t\t\tgenButtonColor[\"primary\"],\n\t\t\t\t\t\"[&_thead]:bg-primary-500 [&_thead]:text-white [&_thead]:font-bold\",\n\t\t\t\t\t\"[&_td]:overflow-x-scroll [&_td]:px-2 [&_td]:py-1 [&_th]:overflow-x-scroll [&_th]:px-2 [&_th]:py-1\",\n\t\t\t\t\t\"md:[&_td]:table-cell md:[&_th]:table-cell [&_td]:block [&_th]:block\",\n\t\t\t\t\tvariant === \"bordered\" && [\n\t\t\t\t\t\t\"border border-gray-200\",\n\t\t\t\t\t\t\"[&_thead_th:not(:last-child)]:border-r [&_thead_th:not(:last-child)]:border-background [&_td]:border [&_td]:border-gray-200\",\n\t\t\t\t\t],\n\t\t\t\t\tvariant === \"stripped\" && [\n\t\t\t\t\t\t\"[&_tbody_tr:nth-child(even)]:bg-gray-100\",\n\t\t\t\t\t],\n\t\t\t\t\tvariant === \"border-bottom\" && [\n\t\t\t\t\t\t\"[&_tbody_tr]:border-b [&_tbody_tr]:border-b-gray-200\",\n\t\t\t\t\t],\n\t\t\t\t\tgenVAlign[vAlign],\n\t\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\t\t\"table\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...rest}\n\t\t\t>\n\t\t\t\t{headers && (\n\t\t\t\t\t<thead className={clsx(genVAlign[vAlign])}>\n\t\t\t\t\t\t<tr className={clsx(genVAlign[vAlign])}>\n\t\t\t\t\t\t\t{headers.map(header => (\n\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\tgenVAlign[vAlign],\n\t\t\t\t\t\t\t\t\t\t\"no-scrollbar\",\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tkey={uuid()}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{linkify && typeof header === \"string\"\n\t\t\t\t\t\t\t\t\t\t? linkifyText(header, blank)\n\t\t\t\t\t\t\t\t\t\t: header}\n\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</thead>\n\t\t\t\t)}\n\n\t\t\t\t{data ? (\n\t\t\t\t\t<tbody className={clsx(genVAlign[vAlign])}>\n\t\t\t\t\t\t{data.map(row => (\n\t\t\t\t\t\t\t<tr key={uuid()}>\n\t\t\t\t\t\t\t\t{row.map(col => (\n\t\t\t\t\t\t\t\t\t<td className=\"no-scrollbar\" key={uuid()}>\n\t\t\t\t\t\t\t\t\t\t{linkify && typeof col === \"string\"\n\t\t\t\t\t\t\t\t\t\t\t? linkifyText(col, blank)\n\t\t\t\t\t\t\t\t\t\t\t: col}\n\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t))}\n\t\t\t\t\t</tbody>\n\t\t\t\t) : (\n\t\t\t\t\t<tbody>{children}</tbody>\n\t\t\t\t)}\n\n\t\t\t\t{footers && (\n\t\t\t\t\t<tfoot>\n\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t{footers.map(footer => (\n\t\t\t\t\t\t\t\t<td className=\"no-scrollbar\" key={uuid()}>\n\t\t\t\t\t\t\t\t\t{linkify && typeof footer === \"string\"\n\t\t\t\t\t\t\t\t\t\t? linkifyText(footer, blank)\n\t\t\t\t\t\t\t\t\t\t: footer}\n\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</tr>\n\t\t\t\t\t</tfoot>\n\t\t\t\t)}\n\t\t\t</table>\n\n\t\t\t{data && (\n\t\t\t\t<Flexbox className=\"md:hidden\" flexDirection=\"col\" gap=\"md\">\n\t\t\t\t\t{data.map((row, i) => (\n\t\t\t\t\t\t<Flexbox\n\t\t\t\t\t\t\tflexDirection=\"col\"\n\t\t\t\t\t\t\tgap=\"xs\"\n\t\t\t\t\t\t\tkey={i}\n\t\t\t\t\t\t\tclassName={clsx(\"border border-gray-200\")}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\ttag=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"bg-primary-500 w-full font-bold text-white\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{row[0]}\n\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t{headers.slice(1).map((header, j) => (\n\t\t\t\t\t\t\t\t<Flexbox\n\t\t\t\t\t\t\t\t\tkey={j}\n\t\t\t\t\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\t\t\t\t\"flex gap-6 overflow-x-scroll\",\n\t\t\t\t\t\t\t\t\t\t(variant === \"bordered\" ||\n\t\t\t\t\t\t\t\t\t\t\tvariant === \"border-bottom\") && [\n\t\t\t\t\t\t\t\t\t\t\t\"not-last:border-b not-last:border-b-gray-200\",\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t\tvariant === \"stripped\" && [\n\t\t\t\t\t\t\t\t\t\t\tj % 2 === 0 && \"bg-gray-100\",\n\t\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t\t\t\tgap=\"sm\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Text tag=\"small\">\n\t\t\t\t\t\t\t\t\t\t<Text tag=\"strong\">{header}</Text>\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t<Text tag=\"small\">\n\t\t\t\t\t\t\t\t\t\t{typeof row[j + 1] === \"string\"\n\t\t\t\t\t\t\t\t\t\t\t? linkifyText(row[j + 1] as any)\n\t\t\t\t\t\t\t\t\t\t\t: (row[j + 1] as any)}\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</Flexbox>\n\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t</Flexbox>\n\t\t\t\t\t))}\n\t\t\t\t</Flexbox>\n\t\t\t)}\n\t\t</>\n\t)\n}\n","import { type FC } from \"react\"\nimport {\n\tclsx,\n\tgenJustifyContent,\n\tgenAlignItems,\n\tgenAlignContent,\n\tgenColGap,\n\tgenGap,\n\tgenJustifyItems,\n\tgenRowGap,\n} from \"../../utils\"\nimport type { ILibFlexbox } from \"./types\"\n\n/**\n * Flexbox component for flexible layouts using CSS flexbox.\n *\n * @component\n * @example\n * <Flexbox flexDirection=\"row\" gap=\"md\">\n * <div>Item 1</div>\n * <div>Item 2</div>\n * </Flexbox>\n *\n * @prop {object} props - Component props.\n * @prop {string} [props.className] - Additional class names to apply.\n * @prop {ElementType} [props.element=\"div\"] - The HTML element or React component to render as the flex container.\n * @prop {RefObject<HTMLDivElement>} [props.ref] - Ref for the flex container.\n * @prop {ReactNode} props.children - Flexbox content.\n * @prop {boolean} [props.inline] - Use inline-flex instead of flex.\n * @prop {\"row\"|\"row-reverse\"|\"col\"|\"col-reverse\"} [props.flexDirection=\"row\"] - Flex direction.\n * @prop {\"nowrap\"|\"wrap\"|\"wrap-reverse\"} [props.flexWrap=\"nowrap\"] - Flex wrap.\n * @prop {\"start\"|\"end\"|\"end-safe\"|\"center\"|\"center-sage\"|\"space-between\"|\"space-around\"|\"space-evenly\"|\"stretch\"|\"baseline\"|\"normal\"} [props.justifyContent=\"start\"] - Justify content property.\n * @prop {\"start\"|\"end\"|\"end-safe\"|\"center\"|\"center-safe\"|\"baseline\"|\"baseline-start\"|\"stretch\"} [props.alignItems=\"stretch\"] - Align items property.\n * @prop {\"start\"|\"end\"|\"end-safe\"|\"center\"|\"center-safe\"|\"stretch\"|\"normal\"} [props.justifyItems=\"stretch\"] - Justify items property.\n * @prop {\"normal\"|\"center\"|\"start\"|\"end\"|\"space-between\"|\"space-around\"|\"space-evenly\"|\"baseline\"|\"stretch\"} [props.alignContent=\"normal\"] - Align content property.\n * @prop {\"2xs\"|\"xs\"|\"sm\"|\"md\"|\"lg\"|\"xl\"|\"2xl\"|\"0px\"} [props.gap=\"0px\"] - Gap between items (can use spacer tokens).\n * @prop {\"2xs\"|\"xs\"|\"sm\"|\"md\"|\"lg\"|\"xl\"|\"2xl\"|\"0px\"} [props.colGap=\"0px\"] - Column gap (can use spacer tokens).\n * @prop {\"2xs\"|\"xs\"|\"sm\"|\"md\"|\"lg\"|\"xl\"|\"2xl\"|\"0px\"} [props.rowGap=\"0px\"] - Row gap (can use spacer tokens).\n * @prop {object} [props.rest] - Additional props spread to the container.\n *\n * @returns {JSX.Element} The rendered flexbox container.\n *\n * @see https://julseb-lib.vercel.app/components/layouts/flexbox\n */\nexport const Flexbox: FC<ILibFlexbox> = ({\n\tclassName,\n\telement = \"div\",\n\tref,\n\tchildren,\n\tinline,\n\tflexDirection = \"row\",\n\tflexWrap = \"nowrap\",\n\tjustifyContent = \"start\",\n\talignItems = \"stretch\",\n\tjustifyItems = \"stretch\",\n\talignContent = \"normal\",\n\tgap = \"0px\",\n\tcolGap = \"0px\",\n\trowGap = \"0px\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tref={ref}\n\t\t\tclassName={clsx(\n\t\t\t\tinline ? \"inline-flex\" : \"flex\",\n\t\t\t\tgenFlexWrap[flexWrap],\n\t\t\t\tgenFlexDirection[flexDirection],\n\t\t\t\tgenJustifyContent[justifyContent],\n\t\t\t\tgenAlignItems[alignItems],\n\t\t\t\tgenJustifyItems[justifyItems],\n\t\t\t\tgenAlignContent[alignContent],\n\t\t\t\tgenGap[gap],\n\t\t\t\tgenColGap[colGap],\n\t\t\t\tgenRowGap[rowGap],\n\t\t\t\t\"flexbox\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n\nconst genFlexDirection = {\n\trow: \"flex-row\",\n\t\"row-reverse\": \"flex-row-reverse\",\n\tcol: \"flex-col\",\n\t\"col-reverse\": \"flex-col-reverse\",\n}\n\nconst genFlexWrap = {\n\tnowrap: \"flex-nowrap\",\n\twrap: \"flex-wrap\",\n\t\"wrap-reverse\": \"flex-wrap-reverse\",\n}\n","import { Text } from \"../components/Text\"\nimport { Table } from \"../components/Table\"\nimport type { LibMdEditorOptions } from \"../types\"\nimport type { Components } from \"react-markdown\"\n\n/**\n * Custom React components mapping for rendering Markdown elements using the library's Text and Table components.\n *\n * @type {Components}\n * @example\n * // Usage with react-markdown\n * <ReactMarkdown components={libMarkdownComponents} />\n */\nexport const libMarkdownComponents: Components = {\n\th1: props => <Text tag=\"h1\" {...(props as any)} />,\n\th2: props => <Text tag=\"h2\" {...(props as any)} />,\n\th3: props => <Text tag=\"h3\" {...(props as any)} />,\n\th4: props => <Text tag=\"h4\" {...(props as any)} />,\n\th5: props => <Text tag=\"h5\" {...(props as any)} />,\n\th6: props => <Text tag=\"h6\" {...(props as any)} />,\n\tp: props => <Text tag=\"p\" {...(props as any)} />,\n\tsmall: props => <Text tag=\"small\" {...(props as any)} />,\n\tstrong: props => <Text tag=\"strong\" {...(props as any)} />,\n\tem: props => <Text tag=\"em\" {...(props as any)} />,\n\tblockquote: props => <Text tag=\"blockquote\" {...(props as any)} />,\n\tul: props => <Text tag=\"ul\" {...(props as any)} />,\n\tol: props => <Text tag=\"ol\" {...(props as any)} />,\n\tdl: props => <Text tag=\"dl\" {...(props as any)} />,\n\ttable: props => <Table {...(props as any)} />,\n}\n\n/**\n * Default options for the Markdown editor, enabling or disabling formatting features.\n *\n * @type {LibMdEditorOptions}\n * @example\n * libMarkdownEditorOptions.bold // true\n */\nexport const libMarkdownEditorOptions: LibMdEditorOptions = {\n\tbold: true,\n\titalic: true,\n\tstrikethrough: true,\n\tunderline: true,\n\tul: true,\n\tol: true,\n\tlink: true,\n\tquote: true,\n\thr: true,\n\tcode: true,\n\tcodeBlock: true,\n\tcomment: true,\n\timage: true,\n\tviewCode: true,\n\tviewLive: true,\n\tviewPreview: true,\n\ttitles: true,\n}\n","import type { LibColorsHover } from \"../types\"\n\n/**\n * Maps each color variant to its corresponding Tailwind CSS focus ring utility classes.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genRingColor.primary // \"focus:ring-1 focus:ring-primary-800\"\n */\nexport const genRingColor: Record<LibColorsHover, string> = {\n\tprimary: \"focus:ring-1 focus:ring-primary-800\",\n\tsecondary: \"focus:ring-1 focus:ring-secondary-800\",\n\tsuccess: \"focus:ring-1 focus:ring-success-800\",\n\tdanger: \"focus:ring-1 focus:ring-danger-800\",\n\twarning: \"focus:ring-1 focus:ring-warning-800\",\n\tgray: \"focus:ring-1 focus:ring-gray-800\",\n\twhite: \"focus:ring-1 focus:ring-gray-500\",\n}\n\n/**\n * Maps each color variant to its corresponding Tailwind CSS focus ring utility classes, applied to child elements via the `[&>*]` selector.\n *\n * @type {Record<LibColorsHover, string>}\n * @example\n * genRingColorChildren.success // \"[&>*]:focus:ring-1 [&>*]:focus:ring-success-800\"\n */\nexport const genRingColorChildren: Record<LibColorsHover, string> = {\n\tprimary: \"[&>*]:focus:ring-1 [&>*]:focus:ring-primary-800\",\n\tsecondary: \"[&>*]:focus:ring-1 [&>*]:focus:ring-secondary-800\",\n\tsuccess: \"[&>*]:focus:ring-1 [&>*]:focus:ring-success-800\",\n\tdanger: \"[&>*]:focus:ring-1 [&>*]:focus:ring-danger-800\",\n\twarning: \"[&>*]:focus:ring-1 [&>*]:focus:ring-warning-800\",\n\tgray: \"[&>*]:focus:ring-1 [&>*]:focus:ring-gray-800\",\n\twhite: \"[&>*]:focus:ring-1 [&>*]:focus:ring-gray-500\",\n}\n","/**\n * @description Detect the user's language preference from localStorage or browser navigator.\n * This function checks for stored language preferences before falling back to browser settings.\n * Note: Only works in browser environments with window and localStorage available.\n *\n * @returns {string | null} The detected language code or null if detection fails\n *\n * @example\n * // With language stored in localStorage\n * detectLanguage() // Returns \"fr\" (if stored)\n *\n * @example\n * // Fallback to navigator language\n * detectLanguage() // Returns \"en-US\" (from navigator.language)\n *\n * @example\n * // No language detected\n * detectLanguage() // Returns null (in non-browser environment)\n */\nexport function detectLanguage() {\n if (window && typeof window !== \"undefined\") {\n if (localStorage.getItem(\"language\") !== null) {\n return localStorage.getItem(\"language\")\n } else if (localStorage.getItem(\"lang\") !== null) {\n return localStorage.getItem(\"lang\")\n } else {\n if (navigator && typeof navigator !== \"undefined\") {\n return navigator.language\n }\n }\n }\n}\n","/**\n * @description Disable page scrolling by setting body overflow to hidden.\n * This function prevents users from scrolling the page, useful for modal overlays.\n * Note: Only works in browser environments with document.body available.\n *\n * @returns {void}\n *\n * @example\n * // Disable scrolling when opening a modal\n * disableScroll()\n *\n * @example\n * // Use with modal state\n * if (isModalOpen) {\n * disableScroll()\n * }\n */\nexport function disableScroll(): void {\n\tif (typeof window !== \"undefined\") {\n\t\tdocument.body.setAttribute(\n\t\t\t\"data-scroll-position\",\n\t\t\twindow.scrollY.toString(),\n\t\t)\n\t\tdocument.body.style.overflow = \"hidden\"\n\t\tdocument.body.style.height = \"100vh\"\n\t\tconst scrollPosition = window.scrollY\n\t\tdocument.body.style.top = `-${scrollPosition}px`\n\t}\n}\n","/**\n * @description Enable page scrolling by resetting body overflow and height styles.\n * This function restores normal scrolling behavior, typically used after disableScroll().\n * Note: Only works in browser environments with document.body available.\n *\n * @returns {void}\n *\n * @example\n * // Enable scrolling when closing a modal\n * enableScroll()\n *\n * @example\n * // Use with modal state\n * if (!isModalOpen) {\n * enableScroll()\n * }\n */\nexport function enableScroll(): void {\n\tif (typeof window !== \"undefined\") {\n\t\tconst scrollPosition = document.body.getAttribute(\n\t\t\t\"data-scroll-position\",\n\t\t)\n\n\t\tdocument.body.style.overflow = \"\"\n\t\tdocument.body.style.height = \"\"\n\t\tdocument.body.style.top = \"\"\n\t\tdocument.body.removeAttribute(\"data-scroll-position\")\n\n\t\tif (scrollPosition) {\n\t\t\twindow.scrollTo(0, parseInt(scrollPosition))\n\t\t}\n\t}\n}\n","/**\n * @description Scroll to the top of the page smoothly.\n * This function scrolls the window to the top position (0, 0).\n * Note: Only works in browser environments where window is available.\n *\n * @returns {void}\n *\n * @example\n * // Scroll to top when button is clicked\n * scrollToTop()\n *\n * @example\n * // Use in event handler\n * button.addEventListener('click', scrollToTop)\n *\n * @example\n * // Conditional scroll to top\n * if (shouldScrollToTop) {\n * scrollToTop()\n * }\n */\nexport function scrollToTop(): void {\n if (typeof window !== \"undefined\") {\n return window.scrollTo(0, 0)\n }\n}\n","import type { LibFontSizes } from \"../types\"\n\n/**\n * Maps font size tokens to their corresponding Tailwind CSS text-size utility classes or custom property-based classes.\n *\n * @type {Record<LibFontSizes, string>}\n * @example\n * genFontSize.xl // \"text-xl\"\n * genFontSize[\"display-h1\"] // \"text-(length:--text-display-h1)\"\n */\nexport const genFontSize: Record<LibFontSizes, string> = {\n\txs: \"text-xs\",\n\tsm: \"text-sm\",\n\tbase: \"text-base\",\n\tlg: \"text-lg\",\n\txl: \"text-xl\",\n\t\"2xl\": \"text-2xl\",\n\t\"3xl\": \"text-3xl\",\n\t\"4xl\": \"text-4xl\",\n\t\"5xl\": \"text-5xl\",\n\t\"6xl\": \"text-6xl\",\n\t\"7xl\": \"text-7xl\",\n\t\"8xl\": \"text-8xl\",\n\t\"9xl\": \"text-9xl\",\n\t\"display-h1\": \"text-(length:--text-display-h1)\",\n\t\"display-h2\": \"text-(length:--text-display-h2)\",\n\t\"display-h3\": \"text-(length:--text-display-h3)\",\n\t\"display-h4\": \"text-(length:--text-display-h4)\",\n\t\"display-h5\": \"text-(length:--text-display-h5)\",\n\th1: \"text-(length:--text-h1)\",\n\th2: \"text-(length:--text-h2)\",\n\th3: \"text-(length:--text-h3)\",\n\th4: \"text-(length:--text-h4)\",\n\th5: \"text-(length:--text-h5)\",\n\th6: \"text-(length:--text-h6)\",\n\tbody: \"text-(length:--text-body)\",\n\tsmall: \"text-(length:--text-small)\",\n}\n","import type { LibFontWeights } from \"../types\"\n\n/**\n * Maps font weight tokens to their corresponding Tailwind CSS font-weight utility classes.\n *\n * @type {Record<LibFontWeights, string>}\n * @example\n * genFontWeight.bold // \"font-bold\"\n */\nexport const genFontWeight: Record<LibFontWeights, string> = {\n\tthin: \"font-thin\",\n\tlight: \"font-light\",\n\tnormal: \"font-normal\",\n\tbold: \"font-bold\",\n\tblack: \"font-black\",\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const H1: FC<ILibText> = ({\n\telement = \"h1\",\n\tclassName,\n\tchildren,\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tdisplay,\n\tfontSize = display ? \"display-h1\" : \"h1\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"h1\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const H2: FC<ILibText> = ({\n\telement = \"h2\",\n\tclassName,\n\tchildren,\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tdisplay,\n\tfontSize = display ? \"display-h2\" : \"h2\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"h2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const H3: FC<ILibText> = ({\n\telement = \"h3\",\n\tclassName,\n\tchildren,\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tdisplay,\n\tfontSize = display ? \"display-h3\" : \"h3\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"h3\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const H4: FC<ILibText> = ({\n\telement = \"h4\",\n\tclassName,\n\tchildren,\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tdisplay,\n\tfontSize = display ? \"display-h4\" : \"h4\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"h4\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const H5: FC<ILibText> = ({\n\telement = \"h5\",\n\tclassName,\n\tchildren,\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tdisplay,\n\tfontSize = display ? \"display-h5\" : \"h5\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"h5\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const H6: FC<ILibText> = ({\n\telement = \"h6\",\n\tclassName,\n\tchildren,\n\tfontSize = \"h6\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"h6\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const P: FC<ILibText> = ({\n\telement = \"p\",\n\tclassName,\n\tchildren,\n\tfontSize = \"body\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\t\"p\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const Small: FC<ILibText> = ({\n\telement = \"small\",\n\tclassName,\n\tchildren,\n\tfontSize = \"small\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\t\"small\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const Strong: FC<ILibText> = ({\n\telement = \"strong\",\n\tclassName,\n\tchildren,\n\tfontSize = \"body\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"black\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"strong\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const Em: FC<ILibText> = ({\n\telement = \"em\",\n\tclassName,\n\tchildren,\n\tfontSize = \"body\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\t\"italic\",\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"em\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenButtonColor,\n\tgenTextAllColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const Blockquote: FC<ILibText> = ({\n\telement = \"blockquote\",\n\tclassName,\n\tchildren,\n\tfontSize = \"h6\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\t\"italic ps-4\",\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"blockquote\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const Ul: FC<ILibText> = ({\n\telement = \"ul\",\n\tclassName,\n\tchildren,\n\tfontSize = \"body\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\t\"list-disc ps-8\",\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"ul\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n\tgenFontWeight,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\n\nexport const Ol: FC<ILibText> = ({\n\telement = \"ol\",\n\tclassName,\n\tchildren,\n\tfontSize = \"body\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenFontWeight[fontWeight],\n\t\t\t\t\"list-decimal ps-8\",\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"ol\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n","import type { FC } from \"react\"\nimport { TEXT_BASE_CLASSES } from \"../Text\"\nimport {\n\tclsx,\n\tgenLinkColor,\n\tgenTextAlign,\n\tgenTextAllColor,\n\tgenButtonColor,\n\tgenFontSize,\n} from \"../../../utils\"\nimport type { ILibText } from \"../types\"\nimport type { LibFontWeights } from \"../../../types\"\n\nexport const Dl: FC<ILibText> = ({\n\telement = \"dl\",\n\tclassName,\n\tchildren,\n\tfontSize = \"body\",\n\tcolor = \"current\",\n\tlinkColor = \"primary\",\n\ttextAlign = \"left\",\n\tfontWeight = \"normal\",\n\tdtFontWeight = \"bold\",\n\t...rest\n}) => {\n\tconst Element = element\n\n\treturn (\n\t\t<Element\n\t\t\tclassName={clsx(\n\t\t\t\tTEXT_BASE_CLASSES,\n\t\t\t\tgenFontSize[fontSize],\n\t\t\t\tgenerateFontWeightDt[dtFontWeight],\n\t\t\t\tgenerateFontWeightDd[fontWeight],\n\t\t\t\t\"[&_dd]:ps-4\",\n\t\t\t\tgenTextAlign[textAlign],\n\t\t\t\tgenTextAllColor[color],\n\t\t\t\tgenLinkColor[linkColor],\n\t\t\t\tgenButtonColor[linkColor],\n\t\t\t\t\"dl\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...rest}\n\t\t>\n\t\t\t{children}\n\t\t</Element>\n\t)\n}\n\nconst generateFontWeightDt: Record<LibFontWeights, string> = {\n\tthin: \"[&_dt]:font-thin\",\n\tlight: \"[&_dt]:font-light\",\n\tnormal: \"[&_dt]:font-normal\",\n\tbold: \"[&_dt]:font-bold\",\n\tblack: \"[&_dt]:font-black\",\n}\n\nconst generateFontWeightDd: Record<LibFontWeights, string> = {\n\tthin: \"[&_dd]:font-thin\",\n\tlight: \"[&_dd]:font-light\",\n\tnormal: \"[&_dd]:font-normal\",\n\tbold: \"[&_dd]:font-bold\",\n\tblack: \"[&_dd]:font-black\",\n}\n","import { type FC } from \"react\"\nimport {\n\tclsx,\n\tgenBorderRadius,\n\tgenBgAllColorsAndOverlays,\n\tgenTextAllColor,\n\tgenObjectFit,\n} from \"../../utils\"\nimport type { ILibImage } from \"./types\"\n\n/**\n * Image component for displaying images with optional styling, captions, and accessibility features.\n *\n * @component\n *\n * @example\n * <Image src=\"https://example.com/image.jpg\" alt=\"Example image\" borderRadius=\"lg\" fit=\"cover\" caption=\"Example caption\" />\n *\n * @extends HTMLImageElement\n *\n * @prop {string} [className] - Additional class names to apply to the image or figure element.\n * @prop {React.RefObject<HTMLImageElement | HTMLFigureElement>} [ref] - Ref for the image or figure element.\n * @prop {string | { text: string, backgroundColor?: LibAllColorsAndOverlays, textColor?: LibAllColors, imgClasses?: string, captionClasses?: string }} [caption] - Caption for the image. Can be a string or an object with text and optional styling.\n * @prop {LibRadiuses} [borderRadius] - Border radius for the image or figure.\n * @prop {\"contain\" | \"cover\" | \"fill\" | \"none\" | \"scale-down\"} [fit] - How the image should fit within its container.\n *\n * @returns {JSX.Element} The rendered Image component.\n *\n * @see https://julseb-lib.vercel.app/components/layouts/image\n */\nexport const Image: FC<ILibImage> = ({\n\tclassName,\n\tref,\n\tcaption,\n\tborderRadius,\n\tfit,\n\talt,\n\t...rest\n}) => {\n\tconst Element = caption ? \"figure\" : \"img\"\n\n\tif (caption) {\n\t\treturn (\n\t\t\t<Element\n\t\t\t\tref={ref}\n\t\t\t\tclassName={clsx(\n\t\t\t\t\t\"relative overflow-hidden image-container\",\n\t\t\t\t\tborderRadius && genBorderRadius[borderRadius],\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<img\n\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\"z-0 relative\",\n\t\t\t\t\t\tfit && genObjectFit[fit],\n\t\t\t\t\t\ttypeof caption === \"object\" && caption.imgClasses,\n\t\t\t\t\t\t\"image\",\n\t\t\t\t\t)}\n\t\t\t\t\talt={alt}\n\t\t\t\t\t{...rest}\n\t\t\t\t/>\n\n\t\t\t\t<figcaption\n\t\t\t\t\tclassName={clsx(\n\t\t\t\t\t\t\"bottom-0 left-0 z-10 absolute bg-overlay-black-80 px-4 py-2 w-full text-white\",\n\t\t\t\t\t\ttypeof caption === \"object\" &&\n\t\t\t\t\t\t\tcaption.backgroundColor &&\n\t\t\t\t\t\t\tgenBgAllColorsAndOverlays[caption.backgroundColor],\n\t\t\t\t\t\ttypeof caption === \"object\" &&\n\t\t\t\t\t\t\tcaption.textColor &&\n\t\t\t\t\t\t\tgenTextAllColor[caption.textColor],\n\t\t\t\t\t\ttypeof caption === \"object\" && caption.captionClasses,\n\t\t\t\t\t\t\"figcaption\",\n\t\t\t\t\t)}\n\t\t\t\t>\n\t\t\t\t\t{typeof caption === \"object\" ? caption.text : caption}\n\t\t\t\t</figcaption>\n\t\t\t</Element>\n\t\t)\n\t}\n\n\treturn (\n\t\t<Element\n\t\t\tref={ref}\n\t\t\tclassName={clsx(\n\t\t\t\tborderRadius && genBorderRadius[borderRadius],\n\t\t\t\tfit && genObjectFit[fit],\n\t\t\t\tclassName,\n\t\t\t\t\"image\",\n\t\t\t)}\n\t\t\t{...rest}\n\t\t/>\n\t)\n}\n"],"mappings":"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IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,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","names":["uuid","jsx","Fragment","jsx","jsxs","uuid","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsx","jsxs"]}