the-omelet-ui 1.8.0 → 1.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,10 +1,15 @@
1
1
  import React__default, { ReactNode } from 'react';
2
2
 
3
+ type ButtonVariant = 'primary' | 'danger' | 'success' | 'warning' | 'secondary' | 'ghost';
3
4
  interface ConfirmOptions {
4
5
  title?: string;
5
6
  message?: string;
6
7
  confirmText?: string;
7
8
  cancelText?: string;
9
+ confirmVariant?: ButtonVariant;
10
+ cancelVariant?: ButtonVariant;
11
+ confirmClassName?: string;
12
+ cancelClassName?: string;
8
13
  }
9
14
  interface ConfirmContextType {
10
15
  confirm: (options?: ConfirmOptions) => Promise<boolean>;
@@ -1,4 +1,4 @@
1
- import {a}from'../chunk-SDCZDRHR.js';import {createContext,useState,useCallback,useContext}from'react';import {jsxs,jsx}from'react/jsx-runtime';var l=createContext(void 0),g=({children:n})=>{let[t,i]=useState({isOpen:false,title:"\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",message:"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48",confirmText:"\u0E43\u0E0A\u0E48 \u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",cancelText:"\u0E44\u0E21\u0E48 \u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",resolve:()=>{}}),m=useCallback(e=>new Promise(x=>{i({isOpen:true,title:e?.title||"\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",message:e?.message||"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48",confirmText:e?.confirmText||"\u0E43\u0E0A\u0E48 \u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",cancelText:e?.cancelText||"\u0E44\u0E21\u0E48 \u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",resolve:x});}),[]),c=()=>{t.resolve(true),i(e=>({...e,isOpen:false}));},f=()=>{t.resolve(false),i(e=>({...e,isOpen:false}));},s=()=>{t.resolve(false),i(e=>({...e,isOpen:false}));};return jsxs(l.Provider,{value:{confirm:m},children:[n,t.isOpen&&jsxs("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-20 px-4",children:[jsx("div",{className:"fixed inset-0 bg-black/50 ",onClick:s}),jsxs("div",{className:"relative bg-white rounded-3xl shadow-2xl max-w-md w-full py-9 px-10 animate-slide-down",children:[jsx("button",{onClick:s,className:"absolute top-4 right-4 text-[#C9D7E3] hover:text-gray-600 transition-colors cursor-pointer","aria-label":"\u0E1B\u0E34\u0E14",children:jsx(a,{fontSize:14})}),jsx("h2",{className:"text-2xl font-semibold text-center text-gray-900 mb-4",children:t.title}),jsx("p",{className:"text-center text-gray-600 mb-8 leading-relaxed",children:t.message}),jsxs("div",{className:"flex gap-4",children:[jsx("button",{onClick:f,className:"flex-1 px-6 py-3.5 text-gray-700 font-medium rounded-lg transition-colors",children:t.cancelText}),jsx("button",{onClick:c,className:"flex-1 px-6 py-3.5 text-white font-medium rounded-lg bg-[#FF382D] hover:bg-red-600 transition-colors",children:t.confirmText})]})]})]}),jsx("style",{children:`
1
+ import {a}from'../chunk-SDCZDRHR.js';import {createContext,useState,useCallback,useContext}from'react';import {jsxs,jsx}from'react/jsx-runtime';var c=createContext(void 0),l={primary:"bg-blue-600 hover:bg-blue-700 text-white",danger:"bg-[#FF382D] hover:bg-red-600 text-white",success:"bg-green-600 hover:bg-green-700 text-white",warning:"bg-yellow-500 hover:bg-yellow-600 text-white",secondary:"bg-gray-600 hover:bg-gray-700 text-white",ghost:"bg-transparent hover:bg-gray-100 text-gray-700 border border-gray-300"},b=({children:r})=>{let[t,a$1]=useState({isOpen:false,title:"\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",message:"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48",confirmText:"\u0E43\u0E0A\u0E48 \u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",cancelText:"\u0E44\u0E21\u0E48 \u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",confirmVariant:"danger",cancelVariant:"ghost",resolve:()=>{}}),m=useCallback(e=>new Promise(g=>{a$1({isOpen:true,title:e?.title||"\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",message:e?.message||"\u0E04\u0E38\u0E13\u0E41\u0E19\u0E48\u0E43\u0E08\u0E27\u0E48\u0E32\u0E15\u0E49\u0E2D\u0E07\u0E01\u0E32\u0E23\u0E22\u0E37\u0E19\u0E22\u0E31\u0E19\u0E2B\u0E23\u0E37\u0E2D\u0E44\u0E21\u0E48",confirmText:e?.confirmText||"\u0E43\u0E0A\u0E48 \u0E22\u0E37\u0E19\u0E22\u0E31\u0E19",cancelText:e?.cancelText||"\u0E44\u0E21\u0E48 \u0E22\u0E01\u0E40\u0E25\u0E34\u0E01",confirmVariant:e?.confirmVariant||"danger",cancelVariant:e?.cancelVariant||"ghost",confirmClassName:e?.confirmClassName,cancelClassName:e?.cancelClassName,resolve:g});}),[]),f=()=>{t.resolve(true),a$1(e=>({...e,isOpen:false}));},d=()=>{t.resolve(false),a$1(e=>({...e,isOpen:false}));},i=()=>{t.resolve(false),a$1(e=>({...e,isOpen:false}));};return jsxs(c.Provider,{value:{confirm:m},children:[r,t.isOpen&&jsxs("div",{className:"fixed inset-0 z-50 flex items-start justify-center pt-20 px-4",children:[jsx("div",{className:"fixed inset-0 bg-black/50",onClick:i}),jsxs("div",{className:"relative bg-white rounded-3xl shadow-2xl max-w-md w-full py-9 px-10 animate-slide-down",children:[jsx("button",{onClick:i,className:"absolute top-4 right-4 text-[#C9D7E3] hover:text-gray-600 transition-colors cursor-pointer","aria-label":"\u0E1B\u0E34\u0E14",children:jsx(a,{fontSize:14})}),jsx("h2",{className:"text-2xl font-semibold text-center text-gray-900 mb-4",children:t.title}),jsx("p",{className:"text-center text-gray-600 mb-8 leading-relaxed",children:t.message}),jsxs("div",{className:"flex gap-4",children:[jsx("button",{onClick:d,className:`flex-1 px-6 py-3.5 font-medium rounded-lg transition-colors ${t.cancelClassName||l[t.cancelVariant||"ghost"]}`,children:t.cancelText}),jsx("button",{onClick:f,className:`flex-1 px-6 py-3.5 font-medium rounded-lg transition-colors ${t.confirmClassName||l[t.confirmVariant||"danger"]}`,children:t.confirmText})]})]})]}),jsx("style",{children:`
2
2
  @keyframes slide-down {
3
3
  from {
4
4
  opacity: 0;
@@ -12,4 +12,4 @@ import {a}from'../chunk-SDCZDRHR.js';import {createContext,useState,useCallback,
12
12
  .animate-slide-down {
13
13
  animation: slide-down 0.3s ease-out;
14
14
  }
15
- `})]})},v=()=>{let n=useContext(l);if(!n)throw new Error("useConfirm must be used within a ConfirmProvider");return n};export{g as ConfirmProvider,v as useConfirm};
15
+ `})]})},y=()=>{let r=useContext(c);if(!r)throw new Error("useConfirm must be used within a ConfirmProvider");return r};export{b as ConfirmProvider,y as useConfirm};
@@ -1 +1 @@
1
- import {a as a$1}from'../chunk-VOTSEDLU.js';import {a}from'../chunk-6GLPXMGB.js';import {memo,useState,useCallback}from'react';import {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var B=cva("flex items-center gap-3 h-4 px-4 text-left transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 w-full",{variants:{active:{true:"bg-blue-50 text-blue-600 border-blue-600 rounded-[5px]",false:"text-gray-700"},disabled:{true:"opacity-50 cursor-not-allowed",false:"cursor-pointer"},orientation:{vertical:"",horizontal:"flex-shrink-0"},hasSubmenu:{true:"",false:""}},compoundVariants:[{active:false,disabled:false,class:"hover:bg-gray-50"}],defaultVariants:{active:false,disabled:false,orientation:"vertical",hasSubmenu:false}}),F=cva("flex items-center gap-3 h-8 pl-12 pr-4 text-left transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2",{variants:{active:{true:"",false:"text-gray-600"},disabled:{true:"opacity-50 cursor-not-allowed",false:"cursor-pointer hover:text-gray-900"}},defaultVariants:{active:false,disabled:false}}),G=cva("flex gap-2",{variants:{orientation:{vertical:"flex-col",horizontal:"flex-row flex-wrap"}},defaultVariants:{orientation:"vertical"}}),N=memo(({items:I,activeId:u,onItemClick:d,className:S,activeClassName:w,activeSubmenuClassName:C="text-blue-600 font-medium",itemClassName:R,disabledClassName:k,renderItem:v,orientation:c="vertical",defaultExpandedIds:V=[],chevronIcon:E})=>{let[A,D]=useState(new Set(V)),g=useCallback(e=>{D(n=>{let a=new Set(n);return a.has(e)?a.delete(e):a.add(e),a});},[]),f=useCallback((e,n)=>{e.disabled||(e.submenu&&e.submenu.length>0&&(n?.preventDefault(),g(e.id)),d&&d(e));},[d,g]),z=useCallback((e,n)=>{n.disabled||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),f(n));},[f]),x=useCallback(e=>!e.submenu||e.submenu.length===0?false:e.submenu.some(n=>n.id===u?true:x(n)),[u]),K=(e,n,a$2,t)=>jsxs(Fragment,{children:[e.icon&&jsx("span",{className:"flex-shrink-0 flex items-center",children:e.icon}),jsx("span",{className:"flex-1",children:e.label}),a$2&&jsx("span",{className:a("flex-shrink-0 transition-transform duration-200",t&&"rotate-180"),children:E||jsx(a$1,{fontSize:16})})]}),h=(e,n=0)=>{let a$1=u===e.id,t=e.submenu&&e.submenu.length>0,b=A.has(e.id),r=n>0,m=x(e);return jsxs("div",{children:[jsx("button",{role:"menuitem","aria-current":a$1?"page":void 0,"aria-expanded":t?b:void 0,disabled:e.disabled,onClick:o=>f(e,o),onKeyDown:o=>z(o,e),style:{height:32,borderRadius:r?0:5},className:a(r?F({active:a$1&&!e.disabled,disabled:e.disabled}):B({active:(a$1||m)&&!e.disabled,disabled:e.disabled,orientation:c,hasSubmenu:t}),!r&&(a$1||m)&&!e.disabled&&w,!r&&!a$1&&!m&&!e.disabled&&R,r&&a$1&&!e.disabled&&C,e.disabled&&k),children:v?v(e,a$1):K(e,a$1,t||false,b)}),t&&b&&jsx("div",{className:"flex flex-col",children:e.submenu.map(o=>h(o,n+1))})]},e.id)};return jsx("nav",{className:a(G({orientation:c}),S),role:"menu","aria-orientation":c,children:I.map(e=>h(e))})});N.displayName="Menu";var H=N;export{H as default};
1
+ import {a as a$1}from'../chunk-VOTSEDLU.js';import {a}from'../chunk-6GLPXMGB.js';import {memo,useState,useCallback}from'react';import {cva}from'class-variance-authority';import {jsx,jsxs,Fragment}from'react/jsx-runtime';var B=cva("flex items-center gap-3 h-8 px-4 text-left transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 w-full",{variants:{active:{true:"bg-blue-50 text-blue-600 border-blue-600 rounded-lg font-bold",false:"text-gray-700"},disabled:{true:"opacity-50 cursor-not-allowed",false:"cursor-pointer"},orientation:{vertical:"",horizontal:"flex-shrink-0"},hasSubmenu:{true:"",false:""}},compoundVariants:[{active:false,disabled:false,class:"hover:bg-gray-50"}],defaultVariants:{active:false,disabled:false,orientation:"vertical",hasSubmenu:false}}),F=cva("flex items-center gap-3 pl-12 pr-4 text-left transition-colors duration-150 focus:outline-none focus-visible:ring-2 focus-visible:ring-blue-500 focus-visible:ring-offset-2 h-10",{variants:{active:{true:"",false:"text-gray-600"},disabled:{true:"opacity-50 cursor-not-allowed",false:"cursor-pointer"}},defaultVariants:{active:false,disabled:false}}),G=cva("flex gap-2",{variants:{orientation:{vertical:"flex-col",horizontal:"flex-row flex-wrap"}},defaultVariants:{orientation:"vertical"}}),M=memo(({items:I,activeId:u,onItemClick:d,className:S,activeClassName:w,activeSubmenuClassName:C="text-blue-600 font-medium",itemClassName:R,disabledClassName:k,renderItem:v,orientation:c="vertical",defaultExpandedIds:V=[],chevronIcon:E})=>{let[A,D]=useState(new Set(V)),g=useCallback(e=>{D(n=>{let a=new Set(n);return a.has(e)?a.delete(e):a.add(e),a});},[]),f=useCallback((e,n)=>{e.disabled||(e.submenu&&e.submenu.length>0&&(n?.preventDefault(),g(e.id)),d&&d(e));},[d,g]),z=useCallback((e,n)=>{n.disabled||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),f(n));},[f]),x=useCallback(e=>!e.submenu||e.submenu.length===0?false:e.submenu.some(n=>n.id===u?true:x(n)),[u]),K=(e,n,a$2,t)=>jsxs(Fragment,{children:[e.icon&&jsx("span",{className:"flex-shrink-0 flex items-center",children:e.icon}),jsx("span",{className:"flex-1",children:e.label}),a$2&&jsx("span",{className:a("flex-shrink-0 transition-transform duration-200",t&&"rotate-180"),children:E||jsx(a$1,{fontSize:16})})]}),h=(e,n=0)=>{let a$1=u===e.id,t=e.submenu&&e.submenu.length>0,b=A.has(e.id),r=n>0,m=x(e);return jsxs("div",{className:"space-y-2",children:[jsx("button",{role:"menuitem","aria-current":a$1?"page":void 0,"aria-expanded":t?b:void 0,disabled:e.disabled,onClick:o=>f(e,o),onKeyDown:o=>z(o,e),style:{borderRadius:r?0:5},className:a(r?F({active:a$1&&!e.disabled,disabled:e.disabled}):B({active:(a$1||m)&&!e.disabled,disabled:e.disabled,orientation:c,hasSubmenu:t}),!r&&(a$1||m)&&!e.disabled&&w,!r&&!a$1&&!m&&!e.disabled&&R,r&&a$1&&!e.disabled&&C,e.disabled&&k),children:v?v(e,a$1):K(e,a$1,t||false,b)}),t&&b&&jsx("div",{className:"flex flex-col",children:e.submenu.map(o=>h(o,n+1))})]},e.id)};return jsx("nav",{className:a(G({orientation:c}),S),role:"menu","aria-orientation":c,children:I.map(e=>h(e))})});M.displayName="Menu";var H=M;export{H as default};
@@ -15,7 +15,7 @@ import { VariantProps } from 'class-variance-authority';
15
15
  */
16
16
  declare const inputStyles: (props?: ({
17
17
  size?: "sm" | "md" | "lg" | null | undefined;
18
- tone?: "neutral" | "success" | "danger" | "warning" | "info" | null | undefined;
18
+ tone?: "neutral" | "danger" | "success" | "warning" | "info" | null | undefined;
19
19
  withStart?: boolean | null | undefined;
20
20
  withEnd?: boolean | null | undefined;
21
21
  } & class_variance_authority_types.ClassProp) | undefined) => string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "the-omelet-ui",
3
- "version": "1.8.0",
3
+ "version": "1.8.2",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",