@ourtrip/ui 1.0.17 → 1.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +2 -0
- package/dist/index.modern.js.map +1 -0
- package/dist/index.modern.mjs +2 -0
- package/dist/index.modern.mjs.map +1 -0
- package/dist/index.umd.js +2 -0
- package/dist/index.umd.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react"),require("@phosphor-icons/react"),require("class-variance-authority"),require("classnames"),require("date-fns"),require("@radix-ui/react-popover"),require("react-slider"),require("@radix-ui/react-select"),require("@radix-ui/react-dialog"),require("framer-motion"),require("@radix-ui/react-tooltip")):"function"==typeof define&&define.amd?define(["exports","react","@phosphor-icons/react","class-variance-authority","classnames","date-fns","@radix-ui/react-popover","react-slider","@radix-ui/react-select","@radix-ui/react-dialog","framer-motion","@radix-ui/react-tooltip"],t):t((e||self).ui={},e.react,e.react,e.classVarianceAuthority,e.classnames,0,e.PopoverPrimitive,e.reactSlider,e.SelectPrimitive,e.SheetPrimitive,e.framerMotion,e.TooltipPrimitive)}(this,function(e,t,a,r,l,n,i,o,s,d,c,u){function m(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function f(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach(function(a){if("default"!==a){var r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:function(){return e[a]}})}}),t.default=e,t}var p=/*#__PURE__*/m(t),g=/*#__PURE__*/f(t),h=/*#__PURE__*/m(l),v=/*#__PURE__*/f(i),b=/*#__PURE__*/m(o),x=/*#__PURE__*/f(s),y=/*#__PURE__*/f(d),N=/*#__PURE__*/f(u),w={danger:p.default.createElement(a.WarningCircle,{size:24}),success:p.default.createElement(a.Check,{size:24}),info:p.default.createElement(a.Info,{size:24}),warning:p.default.createElement(a.Warning,{size:24})};function E(){return E=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var r in a)({}).hasOwnProperty.call(a,r)&&(e[r]=a[r])}return e},E.apply(null,arguments)}function C(e,t){if(null==e)return{};var a={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(-1!==t.indexOf(r))continue;a[r]=e[r]}return a}var S=function(){return[].slice.call(arguments).filter(Boolean).join(" ")},k=["className","variant","color","size","shape","fontWeight","fullWidth","fullHeight","disabled","loading","children"],j=r.cva("flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus:outline-hidden",{variants:{variant:{fill:"",outline:"bg-transparent border"},color:{primary:"",secondary:"",danger:"",gray:"",white:""},size:{small:"h-[32px] px-4 text-sm",normal:"h-[40px] px-6 text-base",large:"h-[48px] px-8 text-lg",icon:"h-[40px] w-[40px] p-0"},shape:{default:"rounded-inner",rounded:"rounded-full"},fontWeight:{normal:"font-normal",bold:"font-medium"},fullWidth:{true:"w-full",false:""},fullHeight:{true:"h-full",false:""},disabled:{true:"bg-gray-200 text-gray-900 border-none cursor-not-allowed hover:bg-gray-200 hover:text-gray-900",false:""}},compoundVariants:[{variant:"fill",color:"primary",disabled:!1,className:"bg-primary-500 text-white hover:bg-primary-400 active:bg-primary-600"},{variant:"fill",color:"secondary",disabled:!1,className:"bg-secondary-500 text-white hover:bg-secondary-400 active:bg-secondary-600"},{variant:"fill",color:"danger",disabled:!1,className:"bg-red-500 text-white hover:bg-red-400 active:bg-red-600"},{variant:"fill",color:"gray",disabled:!1,className:"bg-gray-100 text-gray-700 hover:bg-gray-200 active:bg-gray-300"},{variant:"fill",color:"white",disabled:!1,className:"bg-white text-black hover:bg-gray-200"},{variant:"outline",color:"primary",disabled:!1,className:"text-primary-500 border-primary-500 hover:text-primary-400 hover:border-primary-400"},{variant:"outline",color:"secondary",disabled:!1,className:"text-secondary-500 border-secondary-500 hover:text-secondary-400 hover:border-secondary-400"},{variant:"outline",color:"danger",disabled:!1,className:"text-red-500 border-red-500 hover:text-red-400 hover:border-red-400"},{variant:"outline",color:"gray",disabled:!1,className:"text-gray-300 border-gray-300 hover:text-gray-500 hover:border-gray-400"},{variant:"outline",color:"white",disabled:!1,className:"text-white border-white hover:text-gray-200 hover:border-gray-200"}],defaultVariants:{variant:"fill",color:"primary",size:"normal",shape:"default",fontWeight:"normal",fullWidth:!1,fullHeight:!1,disabled:!1}}),z=g.forwardRef(function(e,t){var r=e.className,l=e.variant,n=e.color,i=e.size,o=e.shape,s=e.fontWeight,d=e.fullWidth,c=e.fullHeight,u=e.disabled,m=e.loading,f=void 0!==m&&m,p=e.children,h=C(e,k);return g.createElement("button",E({className:S(j({variant:l,color:n,size:i,shape:o,fontWeight:s,fullWidth:d,fullHeight:c,disabled:u||f}),r),ref:t,disabled:u||f},h),f?g.createElement(a.CircleNotch,{className:"animate-spin",weight:"bold"}):p)});z.displayName="Button";var R=["children"],O=function(e){var t=e.rate;return p.default.createElement("div",{className:"flex items-center gap-0.5"},Array.from({length:5}).map(function(e,r){return p.default.createElement(a.Star,{key:""+t+r,weight:t>r?"fill":"light",className:"text-yellow-300 "+(t>r?"text-yellow-300":"")+" "+(r>0?"hidden md:block":""),size:12})}),p.default.createElement("p",{className:"text-sm text-primary-900 font-medium block md:hidden"},t))},P=t.memo(function(e){var r=e.value,l=e.onChange,n=e.label,i=e.trailing,o=e.textColor,s=e.type,d=t.useState(r||!1),c=d[0],u=d[1];return t.useEffect(function(){void 0!==r&&u(r)},[r]),p.default.createElement("div",{className:"w-full flex items-center justify-between cursor-pointer gap-2 select-none",onClick:function(){u(function(e){return!e}),null==l||l(!c)}},p.default.createElement("div",{className:"flex items-center gap-2"},p.default.createElement("div",{className:"w-5 h-5 flex items-center justify-center border border-primary-500 rounded-md flex-none mt-[3px] hover:bg-primary-500 "+(c?"bg-primary-500":"")},c&&p.default.createElement(a.Check,{size:12,color:"white",weight:"bold"})),n&&p.default.createElement("p",{className:"flex items-center gap-1 text-sm mt-1 "+("primary"===o?"text-primary-900":"text-gray-500")},"stars"===s?p.default.createElement(O,{rate:parseFloat(n.toString())}):n)),void 0!==i&&p.default.createElement("p",{className:"text-sm text-gray-500"},i))},function(e,t){return e.value===t.value&&e.label===t.label}),T=["orientation","fullHeight","className"],D=["id","label","placeholder","color","dense","floating","border","onChange","onFocus","onBlur","focus","error","disabled"],q=t.forwardRef(function(e,a){var r=e.id,l=e.label,n=e.placeholder,i=e.color,o=void 0===i?"white":i,s=e.onChange,d=e.onFocus,c=e.onBlur,u=e.focus,m=e.error,f=e.disabled,g=C(e,D),h=t.useRef(null);return p.default.createElement("div",{"aria-labelledby":r,onClick:function(){var e;return null==(e=h.current)?void 0:e.focus()},className:"flex flex-col w-full "+g.className},p.default.createElement("div",{onClick:function(){var e;null!=a&&a.current?null==(e=a.current)||e.focus():null==u||u()}},l&&p.default.createElement("label",{htmlFor:r,className:"mb-2 text-sm text-gray-500"},l),p.default.createElement("input",E({id:r,ref:function(e){"function"==typeof a?a(e):a&&"object"==typeof a&&(a.current=e),h.current=e},placeholder:n,autoComplete:"off"},g,{disabled:f,onChange:function(e){null==s||s(e)},onFocus:function(e){null==d||d(e)},onBlur:function(e){null==c||c(e)},className:("white"===o?"bg-white disabled:bg-white":"bg-gray-100 disabled:bg-gray-100")+" w-full rounded-inner h-[50px] px-4 disabled:cursor-not-allowed placeholder-gray-500 text-primary-900 "+g.className}))),m&&p.default.createElement("span",{className:"text-sm text-red-600"},m))}),B=r.cva("w-10 h-10 flex items-center justify-center rounded-inner text-primary-900 transition-colors cursor-pointer",{variants:{selected:{true:"bg-primary-900 text-white hover:bg-primary-900",false:""},disabled:{true:"hover:text-primary-900",false:""},prevOrNext:{true:"bg-white hover:bg-primary-500 hover:text-white",false:"hover:bg-gray-200"}},defaultVariants:{selected:!1,disabled:!1,prevOrNext:!1}}),W=["className","align","sideOffset"],F=v.Root,I=v.Trigger,V=g.forwardRef(function(e,t){var a=e.className,r=e.align,l=void 0===r?"center":r,n=e.sideOffset,i=void 0===n?4:n,o=C(e,W);return g.createElement(v.Portal,null,g.createElement(v.Content,E({ref:t,align:l,sideOffset:i,className:S("z-50 w-72 rounded-default bg-white p-4 text-popover-foreground shadow-xl outline-hidden data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",a)},o)))});V.displayName=v.Content.displayName;var L=["id","label","onChange","size"],H=t.forwardRef(function(e,t){var a=e.id,r=e.label,l=e.size,n=void 0===l?"normal":l,i=C(e,L),o={small:"w-3 h-3 text-xs",normal:"w-4 h-4 text-base",large:"w-6 h-6 text-lg"};return p.default.createElement("div",{className:"flex items-center gap-4 "+o[n]},p.default.createElement("input",E({},i,{id:a,ref:t,type:"radio",className:o[n]+" border-green-500"})),p.default.createElement("label",{htmlFor:a,className:"cursor-pointer"},r))});H.displayName="Radio";var A=t.memo(function(e){var a=e.min,r=e.max,l=e.onChange,n=e.disabled,i=void 0!==n&&n,o=e.initialValues,s=t.useState(null!=o?o:[a||0,r||1e3]),d=s[0],c=s[1];return p.default.createElement("div",{className:"w-full flex flex-col gap-[5px]"},p.default.createElement("p",{className:"text-primary-900 text-sm select-none"},d[0]+" - "+d[1]),p.default.createElement(b.default,{className:"slider",disabled:i,min:a||1,max:r||1e3,value:o,onChange:function(e){return c(e)},ariaLabel:["Lower thumb","Upper thumb"],onAfterChange:function(e){null==l||l(e)},minDistance:10,pearling:!0}))},function(e,t){return e.min===t.min&&e.max===t.max&&e.disabled===t.disabled&&e.initialValues===t.initialValues}),M=["className","children"],U=["className"],K=["className"],_=["className","children","position"],G=["className"],$=["className","children"],X=["className"],J=x.Root,Q=x.Group,Y=x.Value,Z=g.forwardRef(function(e,t){var r=e.className,l=e.children,n=C(e,M);return g.createElement(x.Trigger,E({ref:t,className:S("flex h-[50px] w-full items-center justify-between rounded-inner bg-gray-100 px-4 placeholder:text-muted-foreground focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1",r)},n),l,g.createElement(x.Icon,{asChild:!0},g.createElement(a.CaretDown,{className:"h-4 w-4 opacity-50"})))});Z.displayName=x.Trigger.displayName;var ee=g.forwardRef(function(e,t){var r=e.className,l=C(e,U);return g.createElement(x.ScrollUpButton,E({ref:t,className:S("flex cursor-default items-center justify-center py-1",r)},l),g.createElement(a.CaretUp,{className:"h-4 w-4"}))});ee.displayName=x.ScrollUpButton.displayName;var te=g.forwardRef(function(e,t){var r=e.className,l=C(e,K);return g.createElement(x.ScrollDownButton,E({ref:t,className:S("flex cursor-default items-center justify-center py-1",r)},l),g.createElement(a.CaretDown,{className:"h-4 w-4"}))});te.displayName=x.ScrollDownButton.displayName;var ae=g.forwardRef(function(e,t){var a=e.className,r=e.children,l=e.position,n=void 0===l?"popper":l,i=C(e,_);return g.createElement(x.Portal,null,g.createElement(x.Content,E({ref:t,className:S("relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-inner bg-white text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2","popper"===n?"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1":"",a),position:n},i),g.createElement(ee,null),g.createElement(x.Viewport,{className:S("p-1","popper"===n?"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]":"")},r),g.createElement(te,null)))});ae.displayName=x.Content.displayName;var re=g.forwardRef(function(e,t){var a=e.className,r=C(e,G);return g.createElement(x.Label,E({ref:t,className:S("py-1.5 pl-8 pr-2 text-sm font-semibold",a)},r))});re.displayName=x.Label.displayName;var le=g.forwardRef(function(e,t){var r=e.className,l=e.children,n=C(e,$);return g.createElement(x.Item,E({ref:t,className:S("relative flex w-full cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50",r)},n),g.createElement("span",{className:"absolute left-2 flex h-3.5 w-3.5 items-center justify-center"},g.createElement(x.ItemIndicator,null,g.createElement(a.Check,{className:"h-4 w-4"}))),g.createElement(x.ItemText,null,l))});le.displayName=x.Item.displayName;var ne=g.forwardRef(function(e,t){var a=e.className,r=C(e,X);return g.createElement(x.Separator,E({ref:t,className:S("-mx-1 my-1 h-px bg-muted",a)},r))});ne.displayName=x.Separator.displayName;var ie=["className"],oe=["side","className","children"],se=["className"],de=["className"],ce=["className"],ue=["className"],me=y.Root,fe=y.Trigger,pe=y.Close,ge=y.Portal,he=g.forwardRef(function(e,t){var a=e.className,r=C(e,ie);return g.createElement(y.Overlay,E({className:h.default("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",a)},r,{ref:t}))});he.displayName=y.Overlay.displayName;var ve=r.cva("fixed z-50 gap-4 bg-white p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500",{variants:{side:{top:"inset-x-0 top-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",bottom:"inset-x-0 bottom-0 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",left:"inset-y-0 left-0 h-full w-3/4 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm"}},defaultVariants:{side:"right"}}),be=g.forwardRef(function(e,t){var r=e.side,l=void 0===r?"right":r,n=e.className,i=e.children,o=C(e,oe);return g.createElement(ge,null,g.createElement(he,null),g.createElement(y.Content,E({ref:t,className:h.default(ve({side:l}),n),onOpenAutoFocus:function(e){return e.preventDefault()}},o),i,g.createElement(y.Close,{className:"absolute right-4 top-4 rounded-default opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-white"},g.createElement(a.X,{className:"h-4 w-4"}),g.createElement("span",{className:"sr-only"},"Close"))))});be.displayName=y.Content.displayName;var xe=function(e){var t=e.className,a=C(e,se);return g.createElement("div",E({className:h.default("flex flex-col space-y-2 text-center sm:text-left",t)},a))};xe.displayName="SheetHeader";var ye=function(e){var t=e.className,a=C(e,de);return g.createElement("div",E({className:h.default("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t)},a))};ye.displayName="SheetFooter";var Ne=g.forwardRef(function(e,t){var a=e.className,r=C(e,ce);return g.createElement(y.Title,E({ref:t,className:h.default("text-lg font-semibold text-foreground",a)},r))});Ne.displayName=y.Title.displayName;var we=g.forwardRef(function(e,t){var a=e.className,r=C(e,ue);return g.createElement(y.Description,E({ref:t,className:h.default("text-sm text-muted-foreground",a)},r))});we.displayName=y.Description.displayName;var Ee={type:"spring",stiffness:700,damping:30},Ce=["className","sideOffset"],Se=N.Provider,ke=N.Root,je=N.Trigger,ze=g.forwardRef(function(e,t){var a=e.className,r=e.sideOffset,l=void 0===r?4:r,n=C(e,Ce);return g.createElement(N.Content,E({ref:t,sideOffset:l,className:S("z-50 overflow-hidden rounded-inner bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",a)},n))});ze.displayName=N.Content.displayName,e.Accordion=function(e){var a=e.title,r=e.text,l=t.useState(!1),n=l[0],i=l[1];return p.default.createElement("div",{className:"w-full flex flex-col p-6 border border-gray-200 rounded-default cursor-pointer",onClick:function(){return i(function(e){return!e})}},p.default.createElement("div",{className:"flex items-center gap-6"},p.default.createElement("div",{className:"relative w-10 h-10 rounded-full flex justify-center items-center transition-colors duration-300 "+(n?"bg-primary-900":"bg-gray-100")},p.default.createElement("div",{className:"absolute w-4 h-0.5 rounded transition-transform duration-300 "+(n?"bg-primary-900 transform rotate-[-90deg]":"bg-primary-900 transform rotate-[-180deg]")}),p.default.createElement("div",{className:"absolute w-4 h-0.5 rounded transition-transform duration-300 "+(n?"bg-white transform rotate-0":"bg-primary-900 transform rotate-[-90deg]")})),p.default.createElement("h2",{className:"font-medium text-lg text-primary-900"},a)),p.default.createElement("div",{className:"pl-16 overflow-hidden transition-max-height duration-500 ease-in-out "+(n?"max-h-56":"max-h-0")},p.default.createElement("p",{className:"pt-2.5 text-base text-gray-500 leading-7"},r)))},e.Alert=function(e){var t=e.type;return p.default.createElement("div",{className:"rounded-default p-4 flex items-start gap-4 "+{info:{fill:"bg-info-500 text-white",outline:"border border-info-500 text-info-500"},success:{fill:"bg-success-500 text-white",outline:"border border-success-500 text-success-500"},danger:{fill:"bg-danger-500 text-white",outline:"border border-danger-500 text-danger-500"},warning:{fill:"bg-warning-500 text-white",outline:"border border-warning-500 text-warning-500"}}[t][e.variant]},w[t],p.default.createElement("div",null,e.children))},e.Badge=function(e){var t=e.children,a=e.icon,r=e.size,l=void 0===r?"normal":r,n="flex items-center rounded-inner "+(e.mobile?"lg:hidden md:flex":"")+" "+(e.className||""),i="",o={small:"px-2 py-1 gap-0",normal:"py-2 px-3 gap-2",large:"py-3 px-4 gap-3"}[l],s={small:"text-xs font-normal",normal:"text-sm font-semibold",large:"text-base font-semibold"}[l];switch(e.type){case"success":i="bg-success-100 text-success-600";break;case"warning":i="bg-warning-100 text-warning-600";break;case"danger":i="bg-danger-100 text-danger-600";break;case"info":i="bg-info-100 text-info-900";break;case"white":i="bg-white text-gray-900";break;case"primary":i="bg-primary-500 text-white";break;case"secondary":i="bg-gray-100 text-primary-500";break;default:i=""}var d="font-semibold whitespace-nowrap "+s;return p.default.createElement("div",{className:n+" "+i+" "+o},a&&p.default.createElement("span",{className:"mr-2"},a),p.default.createElement("p",{className:d},t))},e.Breadcrumbs=function(e){var t=e.items;return p.default.createElement("div",{className:"flex items-center gap-2.5"},null==t?void 0:t.map(function(e,r){var l=r!==t.length-1;return p.default.createElement("div",{key:e.id,className:"flex items-center gap-2.5"},p.default.createElement("a",{onClick:function(){l&&window.open(e.href,"_blank")},className:"no-underline text-blue-900 text-sm "+(l?"hover:text-blue-500 hover:cursor-pointer":"cursor-text")},e.text),l&&p.default.createElement(a.CaretRight,null))}))},e.Button=z,e.Card=function(e){var t=e.children,a=C(e,R);return p.default.createElement("div",E({className:"p-4 rounded-default border bg-white border-gray-200"},a),t)},e.Checkbox=P,e.Collapse=function(e){var r=e.title,l=e.content,n=e.showPreview,i=void 0!==n&&n,o=e.togglePosition,s=void 0===o?"right":o,d=e.toggleText,c=t.useState(!1),u=c[0],m=c[1];return p.default.createElement("div",{className:"relative flex items-start "+("right"===s?"flex-row":"flex-col")+" gap-3",onClick:function(){return m(function(e){return!e})}},p.default.createElement("div",{className:"mt-1"},p.default.createElement("h3",{className:"text-sm text-primary-900"},r),p.default.createElement("div",{className:"overflow-hidden transition-max-height duration-300 ease-in-out "+(u?"max-h-[1000px]":i?"max-h-12":"max-h-0")},p.default.createElement("p",{className:"mt-1 text-gray-500"},l))),p.default.createElement("div",{className:"flex items-center gap-2"},d&&p.default.createElement("span",null,u?d.close:d.open),p.default.createElement("div",{className:"w-7 h-7 rounded-full bg-gray-100 flex items-center justify-center"},p.default.createElement(u?a.CaretUp:a.CaretDown,{size:18}))))},e.Divider=function(e){var t,a=e.orientation,r=void 0===a?"vertical":a,l=e.fullHeight,n=e.className,i=C(e,T),o=h.default(((t={"w-px h-10 bg-gray-200":"vertical"===r&&!l,"w-full h-px bg-gray-200":"horizontal"===r,"w-px h-full bg-gray-200":"vertical"===r&&l})[n]=n,t));return p.default.createElement("div",E({},i,{className:o}))},e.Input=q,e.Modal=function(e){var t=e.children,a=e.onClose,r=e.showCloseButton;return e.isOpen?p.default.createElement("div",{className:"fixed top-0 left-0 w-full h-full bg-black/50 flex justify-center items-center"},p.default.createElement("div",{className:"bg-white rounded-default shadow-lg min-w-[350px] relative"},void 0!==r&&r?p.default.createElement("button",{type:"button",className:"absolute top-[10px] right-[10px] cursor-pointer",onClick:function(){return null==a?void 0:a()}},"Fechar"):null,p.default.createElement("div",{className:"modal-content"},t))):null},e.Pagination=function(e){var r=e.page,l=e.total,n=e.loading,i=void 0!==n&&n,o=e.onChange,s=t.useState([]),d=s[0],c=s[1];return t.useEffect(function(){if(r&&l){c([1]);var e=r-2>1?r-2:1,t=r+1<l?r+1:l-1;1!==e&&c(function(e){return[].concat(e,[0])});for(var a=function(e){c(function(t){return[].concat(t,[e+1])})},n=e;n<t;n++)a(n);t+1!==l&&c(function(e){return[].concat(e,[0])}),c(function(e){return[].concat(e,[l])})}},[r,l]),p.default.createElement("div",{className:"w-full flex items-center justify-between"},p.default.createElement("div",{className:S(B({disabled:i||1===r,prevOrNext:!0})),onClick:function(){return!i&&1!==r&&(null==o?void 0:o(r-1))}},p.default.createElement(a.CaretLeft,{weight:"bold"})),p.default.createElement("div",{className:"flex items-center justify-between gap-2.5"},d.map(function(e,t){return p.default.createElement("div",{key:t,className:S(B({selected:e===r,disabled:i||!e,prevOrNext:!1})),onClick:function(){return!i&&e&&(null==o?void 0:o(e))}},e||"...")})),p.default.createElement("div",{className:S(B({disabled:i||r===l,prevOrNext:!0})),onClick:function(){return!i&&r!==l&&(null==o?void 0:o(r+1))}},p.default.createElement(a.CaretRight,{weight:"bold"})))},e.PhoneInput=function(e){var t,a,r,l,n,i,o=e.DDI,s=e.phoneAreaCodeKey,d=e.phoneNumberKey,c=e.registerWithMask,u=e.setFocus,m=e.errors,f=e.areaCodeClassName,g=e.phoneClassName,h=e.requiredMessage,v=e.areaCodeLabel,b=e.numberLabel,x="undefined"!=typeof window?window.location.host:"";return p.default.createElement("div",{className:"w-full flex flex-col gap-1"},p.default.createElement("div",{className:"flex flex-col md:flex-row gap-0.5"},p.default.createElement(q,E({className:"flex-2 rounded-b-none md:rounded-r-none md:rounded-l-inner "+e.ddiClassName,placeholder:e.ddiLabel},c(e.phoneDDIKey,["+9","+99","+999"],{value:o,required:h}),{defaultValue:null!=x&&x.includes(".br")?"+55":"",color:"gray"})),p.default.createElement(q,E({className:"flex-2 rounded-none "+f,placeholder:v},c(s,"+55"===o?"(99)":"",{required:h,validate:function(e){return"+55"!==o||(t=e,[11,12,13,14,15,16,17,18,19,21,22,24,27,28,31,32,33,34,35,37,38,41,42,43,44,45,46,47,48,49,51,53,54,55,61,62,64,63,65,66,67,68,69,71,73,74,75,77,79,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,97,98,99].includes(parseFloat(null==t?void 0:t.replace(/\D/g,""))));var t},oncomplete:function(){"+55"===o&&u(d)}}),{color:"gray"})),p.default.createElement(q,E({className:"flex-5 rounded-t-none md:rounded-l-none md:rounded-r-inner "+g,placeholder:b},c(d,"+55"===o?"99999-9999":"",{required:h,validate:function(e){return"+55"!==o||(t=e.replace("-",""),/^\d{8}$/.test(t)||/^\d{9}$/.test(t));var t}}),{color:"gray"}))),((null==m||null==(t=m.phone)||null==(t=t.ddi)?void 0:t.message)||(null==m||null==(a=m.phone)||null==(a=a.areaCode)?void 0:a.message)||(null==m||null==(r=m.phone)||null==(r=r.number)?void 0:r.message))&&p.default.createElement("span",{className:"text-red-600 text-sm"},(null==m||null==(l=m.phone)||null==(l=l.ddi)?void 0:l.message)||(null==m||null==(n=m.phone)||null==(n=n.areaCode)?void 0:n.message)||(null==m||null==(i=m.phone)||null==(i=i.number)?void 0:i.message)))},e.Popover=F,e.PopoverContent=V,e.PopoverTrigger=I,e.Radio=H,e.Range=A,e.Select=J,e.SelectContent=ae,e.SelectGroup=Q,e.SelectItem=le,e.SelectLabel=re,e.SelectScrollDownButton=te,e.SelectScrollUpButton=ee,e.SelectSeparator=ne,e.SelectTrigger=Z,e.SelectValue=Y,e.Sheet=me,e.SheetClose=pe,e.SheetContent=be,e.SheetDescription=we,e.SheetFooter=ye,e.SheetHeader=xe,e.SheetOverlay=he,e.SheetPortal=ge,e.SheetTitle=Ne,e.SheetTrigger=fe,e.Stars=O,e.StepMarker=function(e){var t=e.step,r=e.title,l=e.subtitle,n=e.checked,i=e.onClick,o=h.default("w-full md:w-12 h-12 flex-none rounded-default flex justify-center items-center font-medium",{"bg-green-500 text-white":n,"bg-white text-gray-500":!n,"border-2 bg-gray-100 border-primary-500":e.active});return p.default.createElement("div",{className:"w-full flex flex-col items-center text-center gap-3 md:flex-row md:items-center md:text-left",onClick:i},p.default.createElement("div",{className:o},n?p.default.createElement(a.Check,{size:22}):t),p.default.createElement("div",null,p.default.createElement("h3",{className:"text-sm md:text-base whitespace-nowrap"},r),l&&p.default.createElement("p",{className:"text-sm text-gray-500 whitespace-nowrap"},l)))},e.Switch=function(e){var t=e.on,a=e.onChange;return p.default.createElement("button",{className:"flex flex-row items-center cursor-pointer select-none border-none bg-transparent",disabled:e.disabled,onClick:function(){return null==a?void 0:a(!t)},"aria-label":e.label},p.default.createElement("div",{className:"w-[35px] h-[20px] flex flex-row items-center p-[5px] rounded-[50px] transition-colors duration-200 "+(t?"bg-primary-500 justify-end":"bg-gray-200 justify-start")},p.default.createElement(c.motion.div,{className:"w-[10px] h-[10px] rounded-full "+(t?"bg-white":"bg-gray-500"),transition:Ee})))},e.Tag=function(e){var t=e.children,a=e.onClick,r=e.iconLeft,l=e.iconRight;return p.default.createElement("button",{onClick:function(){return null==a?void 0:a()},className:"rounded-inner px-4 py-2 flex items-center justify-between border-0 cursor-pointer transition-all duration-300 ease-in-out font-medium "+{primary:"text-primary-900 bg-white hover:bg-gray-200",secondary:"text-secondary-800 bg-secondary-100 hover:text-white hover:bg-secondary-800",white:"text-primary-900 bg-white hover:bg-gray-200"}[e.color]},r&&p.default.createElement("span",{className:"flex items-center justify-center mr-2"},r),t,l&&p.default.createElement("span",{className:"flex items-center justify-center ml-2"},l))},e.Tooltip=ke,e.TooltipContent=ze,e.TooltipProvider=Se,e.TooltipTrigger=je});
|
|
2
|
+
//# sourceMappingURL=index.umd.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.umd.js","sources":["../src/components/alert.tsx","../src/utils/classes.ts","../src/components/button.tsx","../src/components/card.tsx","../src/components/stars.tsx","../src/components/checkbox.tsx","../src/components/divider.tsx","../src/components/input.tsx","../src/components/pagination.tsx","../src/components/popover.tsx","../src/components/radio.tsx","../src/components/range.tsx","../src/components/select.tsx","../src/components/sheet.tsx","../src/components/step-marker.tsx","../src/components/switch.tsx","../src/components/tooltip.tsx","../src/components/accordion.tsx","../src/components/badge.tsx","../src/components/breadcrumbs.tsx","../src/components/collapse.tsx","../src/components/modal.tsx","../src/components/phone.tsx","../src/utils/validation.ts","../src/components/tag.tsx"],"sourcesContent":["'use client';\n\nimport React, { FC, ReactNode } from 'react';\nimport { Check, Info, Warning, WarningCircle } from '@phosphor-icons/react';\n\ntype TAlertType = 'info' | 'success' | 'danger' | 'warning';\ntype TAlertVariant = 'fill' | 'outline';\n\ninterface IAlertProps {\n type: TAlertType;\n variant: TAlertVariant;\n children: ReactNode;\n}\n\nconst iconByAlertType: Record<TAlertType, ReactNode> = {\n danger: <WarningCircle size={24} />,\n success: <Check size={24} />,\n info: <Info size={24} />,\n warning: <Warning size={24} />\n};\n\nconst Alert: FC<IAlertProps> = ({ type, variant, children }) => {\n const baseClasses = 'rounded-default p-4 flex items-start gap-4';\n const typeVariantClasses: Record<\n TAlertType,\n Record<TAlertVariant, string>\n > = {\n info: {\n fill: 'bg-info-500 text-white',\n outline: 'border border-info-500 text-info-500'\n },\n success: {\n fill: 'bg-success-500 text-white',\n outline: 'border border-success-500 text-success-500'\n },\n danger: {\n fill: 'bg-danger-500 text-white',\n outline: 'border border-danger-500 text-danger-500'\n },\n warning: {\n fill: 'bg-warning-500 text-white',\n outline: 'border border-warning-500 text-warning-500'\n }\n };\n\n const className = `${baseClasses} ${typeVariantClasses[type][variant]}`;\n\n return (\n <div className={className}>\n {iconByAlertType[type]}\n <div>{children}</div>\n </div>\n );\n};\n\nexport default Alert;\n","export const cn = (...args: (string | undefined)[]): string =>\n args.filter(Boolean).join(' ');\n","'use client';\n\nimport * as React from 'react';\nimport { CircleNotch } from '@phosphor-icons/react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../utils/classes';\n\nconst buttonVariants = cva(\n 'flex items-center justify-center gap-2 whitespace-nowrap transition-colors focus:outline-hidden',\n {\n variants: {\n variant: {\n fill: '',\n outline: 'bg-transparent border'\n },\n color: {\n primary: '',\n secondary: '',\n danger: '',\n gray: '',\n white: ''\n },\n size: {\n small: 'h-[32px] px-4 text-sm',\n normal: 'h-[40px] px-6 text-base',\n large: 'h-[48px] px-8 text-lg',\n icon: 'h-[40px] w-[40px] p-0'\n },\n shape: {\n default: 'rounded-inner',\n rounded: 'rounded-full'\n },\n fontWeight: {\n normal: 'font-normal',\n bold: 'font-medium'\n },\n fullWidth: {\n true: 'w-full',\n false: ''\n },\n fullHeight: {\n true: 'h-full',\n false: ''\n },\n disabled: {\n true: 'bg-gray-200 text-gray-900 border-none cursor-not-allowed hover:bg-gray-200 hover:text-gray-900',\n false: ''\n }\n },\n compoundVariants: [\n {\n variant: 'fill',\n color: 'primary',\n disabled: false,\n className: 'bg-primary-500 text-white hover:bg-primary-400 active:bg-primary-600'\n },\n {\n variant: 'fill',\n color: 'secondary',\n disabled: false,\n className: 'bg-secondary-500 text-white hover:bg-secondary-400 active:bg-secondary-600'\n },\n {\n variant: 'fill',\n color: 'danger',\n disabled: false,\n className: 'bg-red-500 text-white hover:bg-red-400 active:bg-red-600'\n },\n {\n variant: 'fill',\n color: 'gray',\n disabled: false,\n className: 'bg-gray-100 text-gray-700 hover:bg-gray-200 active:bg-gray-300'\n },\n {\n variant: 'fill',\n color: 'white',\n disabled: false,\n className: 'bg-white text-black hover:bg-gray-200'\n },\n {\n variant: 'outline',\n color: 'primary',\n disabled: false,\n className:\n 'text-primary-500 border-primary-500 hover:text-primary-400 hover:border-primary-400'\n },\n {\n variant: 'outline',\n color: 'secondary',\n disabled: false,\n className:\n 'text-secondary-500 border-secondary-500 hover:text-secondary-400 hover:border-secondary-400'\n },\n {\n variant: 'outline',\n color: 'danger',\n disabled: false,\n className:\n 'text-red-500 border-red-500 hover:text-red-400 hover:border-red-400'\n },\n {\n variant: 'outline',\n color: 'gray',\n disabled: false,\n className:\n 'text-gray-300 border-gray-300 hover:text-gray-500 hover:border-gray-400'\n },\n {\n variant: 'outline',\n color: 'white',\n disabled: false,\n className:\n 'text-white border-white hover:text-gray-200 hover:border-gray-200'\n }\n ],\n defaultVariants: {\n variant: 'fill',\n color: 'primary',\n size: 'normal',\n shape: 'default',\n fontWeight: 'normal',\n fullWidth: false,\n fullHeight: false,\n disabled: false\n }\n }\n);\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n loading?: boolean;\n color?: 'primary' | 'secondary' | 'danger' | 'gray' | 'white';\n disabled?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n color,\n size,\n shape,\n fontWeight,\n fullWidth,\n fullHeight,\n disabled,\n loading = false,\n children,\n ...props\n },\n ref\n ) => {\n return (\n <button\n className={cn(\n buttonVariants({\n variant,\n color,\n size,\n shape,\n fontWeight,\n fullWidth,\n fullHeight,\n disabled: disabled || loading\n }),\n className\n )}\n ref={ref}\n disabled={disabled || loading}\n {...props}\n >\n {loading ? (\n <CircleNotch className='animate-spin' weight='bold' />\n ) : (\n children\n )}\n </button>\n );\n }\n);\n\nButton.displayName = 'Button';\n\nexport default Button;\n","'use client';\n\nimport React, { FC, HTMLAttributes, ReactNode } from 'react';\n\ninterface ICardProps {\n children: ReactNode;\n}\n\nconst Card: FC<ICardProps & HTMLAttributes<HTMLDivElement>> = ({\n children,\n ...props\n}) => {\n return (\n <div\n className='p-4 rounded-default border bg-white border-gray-200'\n {...props}\n >\n {children}\n </div>\n );\n};\n\nexport default Card;\n","'use client';\n\nimport React, { FC } from 'react';\nimport { Star } from '@phosphor-icons/react';\n\ninterface IStars {\n rate: number;\n}\n\nconst Stars: FC<IStars> = ({ rate }: IStars) => {\n return (\n <div className='flex items-center gap-0.5'>\n {Array.from({ length: 5 }).map((_, index) => (\n <Star\n key={`${rate}${index}`}\n weight={rate > index ? 'fill' : 'light'}\n className={`text-yellow-300 ${\n rate > index ? 'text-yellow-300' : ''\n } ${index > 0 ? 'hidden md:block' : ''}`}\n size={12}\n />\n ))}\n <p className='text-sm text-primary-900 font-medium block md:hidden'>\n {rate}\n </p>\n </div>\n );\n};\n\nexport default Stars;\n","'use client';\n\nimport React, { ReactNode, memo, useEffect, useState } from 'react';\nimport { Check } from '@phosphor-icons/react';\nimport Stars from './stars';\n\ninterface ICheckbox {\n value?: boolean;\n // eslint-disable-next-line no-unused-vars\n onChange?: (checked: boolean) => void;\n label?: ReactNode;\n trailing?: string | number;\n textColor?: 'primary';\n type?: string;\n}\n\nconst Checkbox = ({\n value,\n onChange,\n label,\n trailing,\n textColor,\n type\n}: ICheckbox) => {\n const [checked, setChecked] = useState<boolean>(value || false);\n useEffect(() => {\n if (value !== undefined) setChecked(value);\n }, [value]);\n\n return (\n <div\n className='w-full flex items-center justify-between cursor-pointer gap-2 select-none'\n onClick={() => {\n setChecked(prev => !prev);\n onChange?.(!checked);\n }}\n >\n <div className='flex items-center gap-2'>\n <div\n className={`w-5 h-5 flex items-center justify-center border border-primary-500 rounded-md flex-none mt-[3px] hover:bg-primary-500 ${\n checked ? 'bg-primary-500' : ''\n }`}\n >\n {checked && <Check size={12} color='white' weight='bold' />}\n </div>\n {label && (\n <p\n className={`flex items-center gap-1 text-sm mt-1 ${\n textColor === 'primary' ? 'text-primary-900' : 'text-gray-500'\n }`}\n >\n {type === 'stars' ? (\n <Stars rate={parseFloat(label.toString())} />\n ) : (\n label\n )}\n </p>\n )}\n </div>\n {trailing !== undefined && (\n <p className='text-sm text-gray-500'>{trailing}</p>\n )}\n </div>\n );\n};\n\nconst propsAreEqual = (prevProps: ICheckbox, nextProps: ICheckbox) =>\n prevProps.value === nextProps.value && prevProps.label === nextProps.label;\n\nexport default memo(Checkbox, propsAreEqual);\n","'use client';\n\nimport React, { HTMLAttributes } from 'react';\nimport classNames from 'classnames';\n\ninterface IDivider extends HTMLAttributes<HTMLDivElement> {\n orientation?: 'horizontal' | 'vertical';\n fullHeight?: boolean;\n className?: string;\n}\n\nconst Divider = ({\n orientation = 'vertical',\n fullHeight,\n className,\n ...props\n}: IDivider) => {\n const dividerClass = classNames({\n 'w-px h-10 bg-gray-200': orientation === 'vertical' && !fullHeight,\n 'w-full h-px bg-gray-200': orientation === 'horizontal',\n 'w-px h-full bg-gray-200': orientation === 'vertical' && fullHeight,\n [className as string]: className\n });\n\n return <div {...props} className={dividerClass} />;\n};\n\nexport default Divider;\n","'use client';\n\n/* eslint-disable no-param-reassign */\n/* eslint-disable react-hooks/rules-of-hooks */\nimport React, {\n DetailedHTMLProps,\n InputHTMLAttributes,\n forwardRef,\n useRef\n} from 'react';\n\ninterface IInput\n extends DetailedHTMLProps<\n InputHTMLAttributes<HTMLInputElement>,\n HTMLInputElement\n > {\n label?: string;\n dense?: boolean;\n floating?: boolean;\n border?: boolean;\n color?: 'white' | 'gray';\n error?: string;\n focus?: Function;\n mask?: Function;\n hasInitialValue?: boolean;\n}\n\nconst Input = forwardRef(\n (\n {\n id,\n label,\n placeholder,\n color = 'white',\n dense,\n floating,\n border,\n onChange,\n onFocus,\n onBlur,\n focus,\n error,\n disabled,\n ...props\n }: IInput,\n ref: any\n ) => {\n const inputRef = useRef<HTMLInputElement | null>(null);\n\n return (\n <div\n aria-labelledby={id}\n onClick={() => inputRef.current?.focus()}\n className={`flex flex-col w-full ${props.className}`}\n >\n <div\n onClick={() => {\n if (ref?.current) {\n ref.current?.focus();\n } else {\n focus?.();\n }\n }}\n >\n {label && (\n <label htmlFor={id} className='mb-2 text-sm text-gray-500'>\n {label}\n </label>\n )}\n <input\n id={id}\n ref={e => {\n if (typeof ref === 'function') ref(e);\n else if (ref && typeof ref === 'object') ref.current = e;\n inputRef.current = e;\n }}\n placeholder={placeholder}\n autoComplete='off'\n {...props}\n disabled={disabled}\n onChange={event => {\n onChange?.(event);\n }}\n onFocus={event => {\n onFocus?.(event);\n }}\n onBlur={e => {\n onBlur?.(e);\n }}\n className={`${\n color === 'white'\n ? 'bg-white disabled:bg-white'\n : 'bg-gray-100 disabled:bg-gray-100'\n } w-full rounded-inner h-[50px] px-4 disabled:cursor-not-allowed placeholder-gray-500 text-primary-900 ${\n props.className\n }`}\n />\n </div>\n {error && <span className='text-sm text-red-600'>{error}</span>}\n </div>\n );\n }\n);\n\nexport default Input;\n","'use client';\n\nimport React, { useEffect, useState } from 'react';\nimport { CaretLeft, CaretRight } from '@phosphor-icons/react';\nimport { cva } from 'class-variance-authority';\nimport { cn } from '../utils/classes';\n\nconst paginationItemVariants = cva(\n 'w-10 h-10 flex items-center justify-center rounded-inner text-primary-900 transition-colors cursor-pointer',\n {\n variants: {\n selected: {\n true: 'bg-primary-900 text-white hover:bg-primary-900',\n false: ''\n },\n disabled: {\n true: 'hover:text-primary-900',\n false: ''\n },\n prevOrNext: {\n true: 'bg-white hover:bg-primary-500 hover:text-white',\n false: 'hover:bg-gray-200'\n }\n },\n defaultVariants: {\n selected: false,\n disabled: false,\n prevOrNext: false\n }\n }\n);\n\ninterface IPagination {\n page: number;\n total: number;\n loading?: boolean;\n onChange?: (value: number) => void;\n}\n\nconst Pagination = ({\n page,\n total,\n loading = false,\n onChange\n}: IPagination) => {\n const [items, setItems] = useState<number[]>([]);\n\n useEffect(() => {\n if (page && total) {\n setItems([1]);\n\n const firstItem = page - 2 > 1 ? page - 2 : 1;\n const lastItem = page + 1 < total ? page + 1 : total - 1;\n\n if (firstItem !== 1) setItems(prev => [...prev, 0]);\n for (let index = firstItem; index < lastItem; index++) {\n setItems(prev => [...prev, index + 1]);\n }\n if (lastItem + 1 !== total) setItems(prev => [...prev, 0]);\n\n setItems(prev => [...prev, total]);\n }\n }, [page, total]);\n\n return (\n <div className='w-full flex items-center justify-between'>\n <div\n className={cn(\n paginationItemVariants({\n disabled: loading || page === 1,\n prevOrNext: true\n })\n )}\n onClick={() => !loading && page !== 1 && onChange?.(page - 1)}\n >\n <CaretLeft weight='bold' />\n </div>\n <div className='flex items-center justify-between gap-2.5'>\n {items.map((value, index) => (\n <div\n key={index}\n className={cn(\n paginationItemVariants({\n selected: value === page,\n disabled: loading || !value,\n prevOrNext: false\n })\n )}\n onClick={() => !loading && value && onChange?.(value)}\n >\n {value || '...'}\n </div>\n ))}\n </div>\n <div\n className={cn(\n paginationItemVariants({\n disabled: loading || page === total,\n prevOrNext: true\n })\n )}\n onClick={() => !loading && page !== total && onChange?.(page + 1)}\n >\n <CaretRight weight='bold' />\n </div>\n </div>\n );\n};\n\nexport default Pagination;\n","'use client';\n\nimport * as React from 'react';\nimport * as PopoverPrimitive from '@radix-ui/react-popover';\n\nimport { cn } from '../utils/classes';\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-72 rounded-default bg-white p-4 text-popover-foreground shadow-xl outline-hidden data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","'use client';\n\nimport React, { InputHTMLAttributes, forwardRef } from 'react';\n\ntype RadioSize = 'small' | 'normal' | 'large';\n\ninterface IRadioProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {\n label: string;\n size?: RadioSize;\n}\n\nconst Radio = forwardRef(\n (\n { id, label, onChange, size = 'normal', ...props }: IRadioProps,\n ref: any\n ) => {\n const sizeClasses = {\n small: 'w-3 h-3 text-xs',\n normal: 'w-4 h-4 text-base',\n large: 'w-6 h-6 text-lg'\n };\n\n const inputSizeClass = sizeClasses[size];\n\n return (\n <div className={`flex items-center gap-4 ${sizeClasses[size]}`}>\n <input\n {...props}\n id={id}\n ref={ref}\n type='radio'\n className={`${inputSizeClass} border-green-500`}\n />\n <label htmlFor={id} className='cursor-pointer'>\n {label}\n </label>\n </div>\n );\n }\n);\nRadio.displayName = 'Radio';\n\nexport default Radio;\n","'use client';\n\nimport React, { memo, useState } from 'react';\nimport ReactSlider from 'react-slider';\n\ninterface IRange {\n initialValues?: number[];\n min?: number;\n max?: number;\n onChange?: (value: number[]) => void;\n disabled?: boolean;\n}\n\nconst Range = ({\n min,\n max,\n onChange,\n disabled = false,\n initialValues\n}: IRange) => {\n const [rangeValue, setRangeValue] = useState<number[]>(\n initialValues ?? [min || 0, max || 1000]\n );\n\n return (\n <div className='w-full flex flex-col gap-[5px]'>\n <p className='text-primary-900 text-sm select-none'>\n {`${rangeValue[0]} - ${rangeValue[1]}`}\n </p>\n <ReactSlider\n className='slider'\n disabled={disabled}\n min={min || 1}\n max={max || 1000}\n value={initialValues}\n onChange={value => setRangeValue(value)}\n ariaLabel={['Lower thumb', 'Upper thumb']}\n onAfterChange={value => {\n onChange?.(value);\n }}\n minDistance={10}\n pearling\n />\n </div>\n );\n};\n\nconst propsAreEqual = (prevProps: IRange, nextProps: IRange) =>\n prevProps.min === nextProps.min &&\n prevProps.max === nextProps.max &&\n prevProps.disabled === nextProps.disabled &&\n prevProps.initialValues === nextProps.initialValues;\n\nexport default memo(Range, propsAreEqual);\n","'use client';\n\nimport * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { Check, CaretDown, CaretUp } from '@phosphor-icons/react';\n\nimport { cn } from '../utils/classes';\n\nconst Select = SelectPrimitive.Root;\nconst SelectGroup = SelectPrimitive.Group;\nconst SelectValue = SelectPrimitive.Value;\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n 'flex h-[50px] w-full items-center justify-between rounded-inner bg-gray-100 px-4 placeholder:text-muted-foreground focus:outline-hidden disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1',\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <CaretDown className='h-4 w-4 opacity-50' />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n));\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className\n )}\n {...props}\n >\n <CaretUp className='h-4 w-4' />\n </SelectPrimitive.ScrollUpButton>\n));\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n 'flex cursor-default items-center justify-center py-1',\n className\n )}\n {...props}\n >\n <CaretDown className='h-4 w-4' />\n </SelectPrimitive.ScrollDownButton>\n));\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName;\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = 'popper', ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n 'relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-inner bg-white text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n position === 'popper'\n ? 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1'\n : '',\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper'\n ? 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'\n : ''\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n));\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn('py-1.5 pl-8 pr-2 text-sm font-semibold', className)}\n {...props}\n />\n));\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex w-full cursor-default select-none items-center rounded-xs py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50',\n className\n )}\n {...props}\n >\n <span className='absolute left-2 flex h-3.5 w-3.5 items-center justify-center'>\n <SelectPrimitive.ItemIndicator>\n <Check className='h-4 w-4' />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 my-1 h-px bg-muted', className)}\n {...props}\n />\n));\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton\n};\n","'use client';\n\nimport * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { X } from '@phosphor-icons/react';\n\nimport cn from 'classnames';\n\nconst Sheet = SheetPrimitive.Root;\n\nconst SheetTrigger = SheetPrimitive.Trigger;\n\nconst SheetClose = SheetPrimitive.Close;\n\nconst SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\n className={cn(\n 'fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n ref={ref}\n />\n));\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName;\n\nconst sheetVariants = cva(\n 'fixed z-50 gap-4 bg-white p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n {\n variants: {\n side: {\n top: 'inset-x-0 top-0 data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',\n bottom:\n 'inset-x-0 bottom-0 data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',\n left: 'inset-y-0 left-0 h-full w-3/4 data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',\n right:\n 'inset-y-0 right-0 h-full w-3/4 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm',\n },\n },\n defaultVariants: {\n side: 'right',\n },\n }\n);\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = 'right', className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n onOpenAutoFocus={(e) => e.preventDefault()}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className='absolute right-4 top-4 rounded-default opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-white'>\n <X className='h-4 w-4' />\n <span className='sr-only'>Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n));\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col space-y-2 text-center sm:text-left',\n className\n )}\n {...props}\n />\n);\nSheetHeader.displayName = 'SheetHeader';\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n 'flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2',\n className\n )}\n {...props}\n />\n);\nSheetFooter.displayName = 'SheetFooter';\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold text-foreground', className)}\n {...props}\n />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription\n};\n","'use client';\n\nimport React, { FC } from 'react';\nimport { Check } from '@phosphor-icons/react';\nimport classNames from 'classnames';\n\ntype StepMarkerProps = {\n step: number;\n title: string;\n subtitle?: string;\n checked: boolean;\n active: boolean;\n onClick?: () => void;\n};\n\nconst StepMarker: FC<StepMarkerProps> = ({\n step,\n title,\n subtitle,\n checked,\n active,\n onClick\n}) => {\n const classes = classNames(\n 'w-full md:w-12 h-12 flex-none rounded-default flex justify-center items-center font-medium',\n {\n 'bg-green-500 text-white': checked,\n 'bg-white text-gray-500': !checked,\n 'border-2 bg-gray-100 border-primary-500': active\n }\n );\n\n return (\n <div\n className='w-full flex flex-col items-center text-center gap-3 md:flex-row md:items-center md:text-left'\n onClick={onClick}\n >\n <div className={classes}>{checked ? <Check size={22} /> : step}</div>\n <div>\n <h3 className='text-sm md:text-base whitespace-nowrap'>{title}</h3>\n {subtitle && (\n <p className='text-sm text-gray-500 whitespace-nowrap'>{subtitle}</p>\n )}\n </div>\n </div>\n );\n};\n\nexport default StepMarker;\n","'use client';\n\nimport React, { FC } from 'react';\nimport { motion } from 'framer-motion';\n\ninterface ISwitch {\n onChange?: (on: boolean) => void;\n on: boolean;\n disabled?: boolean;\n label: string;\n}\n\nconst spring = {\n type: 'spring',\n stiffness: 700,\n damping: 30\n};\nconst Switch: FC<ISwitch> = ({ on, onChange, disabled, label }: ISwitch) => {\n return (\n <button\n className='flex flex-row items-center cursor-pointer select-none border-none bg-transparent'\n disabled={disabled}\n onClick={() => onChange?.(!on)}\n aria-label={label}\n >\n <div\n className={`w-[35px] h-[20px] flex flex-row items-center p-[5px] rounded-[50px] transition-colors duration-200 ${\n on ? 'bg-primary-500 justify-end' : 'bg-gray-200 justify-start'\n }`}\n >\n <motion.div\n className={`w-[10px] h-[10px] rounded-full ${\n on ? 'bg-white' : 'bg-gray-500'\n }`}\n transition={spring}\n />\n </div>\n </button>\n );\n};\n\nexport default Switch;\n","'use client'\n\nimport * as React from 'react'\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\n\nimport { cn } from '../utils/classes'\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 overflow-hidden rounded-inner bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]',\n className\n )}\n {...props}\n />\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","'use client';\n\nimport React, { useState } from 'react';\n\ninterface IAccordionProps {\n title: string;\n text: string;\n}\n\nconst Accordion = ({ title, text }: IAccordionProps) => {\n const [open, setOpen] = useState<boolean>(false);\n\n return (\n <div\n className='w-full flex flex-col p-6 border border-gray-200 rounded-default cursor-pointer'\n onClick={() => setOpen(prev => !prev)}\n >\n <div className='flex items-center gap-6'>\n <div\n className={`relative w-10 h-10 rounded-full flex justify-center items-center transition-colors duration-300 ${\n open ? 'bg-primary-900' : 'bg-gray-100'\n }`}\n >\n <div\n className={`absolute w-4 h-0.5 rounded transition-transform duration-300 ${\n open\n ? 'bg-primary-900 transform rotate-[-90deg]'\n : 'bg-primary-900 transform rotate-[-180deg]'\n }`}\n />\n <div\n className={`absolute w-4 h-0.5 rounded transition-transform duration-300 ${\n open\n ? 'bg-white transform rotate-0'\n : 'bg-primary-900 transform rotate-[-90deg]'\n }`}\n />\n </div>\n <h2 className='font-medium text-lg text-primary-900'>{title}</h2>\n </div>\n <div\n className={`pl-16 overflow-hidden transition-max-height duration-500 ease-in-out ${\n open ? 'max-h-56' : 'max-h-0'\n }`}\n >\n <p className='pt-2.5 text-base text-gray-500 leading-7'>{text}</p>\n </div>\n </div>\n );\n};\n\nexport default Accordion;\n","'use client';\n\nimport React, { FC, ReactNode } from 'react';\n\ntype BadgeSize = 'small' | 'normal' | 'large';\n\ninterface IBadgeProps {\n icon?: ReactNode;\n children: ReactNode;\n type:\n | 'success'\n | 'warning'\n | 'danger'\n | 'info'\n | 'white'\n | 'primary'\n | 'secondary';\n size?: BadgeSize;\n mobile?: boolean;\n className?: string;\n}\n\nconst Badge: FC<IBadgeProps> = ({\n children,\n icon,\n type,\n size = 'normal',\n mobile,\n className\n}) => {\n const baseClasses = `flex items-center rounded-inner ${\n mobile ? 'lg:hidden md:flex' : ''\n } ${className || ''}`;\n let typeClasses = '';\n\n const sizeClasses = {\n small: 'px-2 py-1 gap-0',\n normal: 'py-2 px-3 gap-2',\n large: 'py-3 px-4 gap-3'\n }[size];\n\n const textSizesClasses = {\n small: 'text-xs font-normal',\n normal: 'text-sm font-semibold',\n large: 'text-base font-semibold'\n }[size];\n\n switch (type) {\n case 'success':\n typeClasses = 'bg-success-100 text-success-600';\n break;\n case 'warning':\n typeClasses = 'bg-warning-100 text-warning-600';\n break;\n case 'danger':\n typeClasses = 'bg-danger-100 text-danger-600';\n break;\n case 'info':\n typeClasses = 'bg-info-100 text-info-900';\n break;\n case 'white':\n typeClasses = 'bg-white text-gray-900';\n break;\n case 'primary':\n typeClasses = 'bg-primary-500 text-white';\n break;\n case 'secondary':\n typeClasses = 'bg-gray-100 text-primary-500';\n break;\n default:\n typeClasses = '';\n }\n\n const textClasses = `font-semibold whitespace-nowrap ${textSizesClasses}`;\n\n return (\n <div className={`${baseClasses} ${typeClasses} ${sizeClasses}`}>\n {icon && <span className='mr-2'>{icon}</span>}\n <p className={textClasses}>{children}</p>\n </div>\n );\n};\n\nexport default Badge;\n","'use client';\n\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/anchor-is-valid */\nimport React from 'react';\nimport { CaretRight } from '@phosphor-icons/react';\n\nexport type BreadcrumbsItemType = {\n id: string;\n text: string;\n href: string;\n};\n\ninterface IBreadcrumbsProps {\n items: BreadcrumbsItemType[];\n}\n\nconst Breadcrumbs = ({ items }: IBreadcrumbsProps) => {\n return (\n <div className='flex items-center gap-2.5'>\n {items?.map((item, index) => {\n const isActive = index !== items.length - 1;\n return (\n <div key={item.id} className='flex items-center gap-2.5'>\n <a\n onClick={() => {\n if (isActive) {\n window.open(item.href, '_blank');\n }\n }}\n className={`no-underline text-blue-900 text-sm ${\n isActive\n ? 'hover:text-blue-500 hover:cursor-pointer'\n : 'cursor-text'\n }`}\n >\n {item.text}\n </a>\n {isActive && <CaretRight />}\n </div>\n );\n })}\n </div>\n );\n};\n\nexport default Breadcrumbs;\n","'use client';\n\nimport React, { FC, ReactNode, useState } from 'react';\nimport { CaretDown, CaretUp } from '@phosphor-icons/react';\n\ntype TToggleType = 'bottom' | 'right';\ntype IToggleTextType = {\n open: string;\n close: string;\n};\n\ninterface ICollapseProps {\n title: string;\n content: ReactNode;\n showPreview?: boolean;\n toggleText?: IToggleTextType;\n togglePosition?: TToggleType;\n}\n\nconst Collapse: FC<ICollapseProps> = ({\n title,\n content,\n showPreview = false,\n togglePosition = 'right',\n toggleText\n}) => {\n const [open, setOpen] = useState(false);\n\n return (\n <div\n className={`relative flex items-start ${\n togglePosition === 'right' ? 'flex-row' : 'flex-col'\n } gap-3`}\n onClick={() => setOpen(prev => !prev)}\n >\n <div className='mt-1'>\n <h3 className='text-sm text-primary-900'>{title}</h3>\n <div\n className={`overflow-hidden transition-max-height duration-300 ease-in-out ${\n open ? 'max-h-[1000px]' : showPreview ? 'max-h-12' : 'max-h-0'\n }`}\n >\n <p className='mt-1 text-gray-500'>{content}</p>\n </div>\n </div>\n <div className='flex items-center gap-2'>\n {toggleText && <span>{open ? toggleText.close : toggleText.open}</span>}\n <div className='w-7 h-7 rounded-full bg-gray-100 flex items-center justify-center'>\n {open ? <CaretUp size={18} /> : <CaretDown size={18} />}\n </div>\n </div>\n </div>\n );\n};\n\nexport default Collapse;\n","'use client';\n\nimport React, { FC, ReactNode } from 'react';\n\ninterface IModalProps {\n isOpen: boolean;\n children: ReactNode;\n showCloseButton?: boolean;\n onClose?: Function;\n closeOnClickOutside?: boolean;\n}\n\nconst Modal: FC<IModalProps> = ({\n isOpen,\n children,\n onClose,\n showCloseButton = false\n}) => {\n\n return isOpen ? (\n <div className='fixed top-0 left-0 w-full h-full bg-black/50 flex justify-center items-center'>\n <div\n className='bg-white rounded-default shadow-lg min-w-[350px] relative'\n >\n {showCloseButton ? (\n <button\n type='button'\n className='absolute top-[10px] right-[10px] cursor-pointer'\n onClick={() => onClose?.()}\n >\n Fechar\n </button>\n ) : null}\n <div className='modal-content'>{children}</div>\n </div>\n </div>\n ) : null;\n};\n\nexport default Modal;\n","'use client';\n\nimport React from 'react';\nimport Input from './input';\nimport { isValidDDD, isValidPhoneNumber } from '../utils/validation';\nimport {\n FieldErrors,\n FieldValues,\n Path,\n UseFormSetFocus\n} from 'react-hook-form';\n\ninterface IPhoneInputProps<T extends FieldValues> {\n DDI?: string;\n phoneDDIKey: Path<T>;\n phoneAreaCodeKey: Path<T>;\n phoneNumberKey: Path<T>;\n registerWithMask: any;\n setFocus: UseFormSetFocus<T>;\n errors: FieldErrors<T>;\n ddiClassName?: string;\n areaCodeClassName?: string;\n phoneClassName?: string;\n requiredMessage?: string;\n ddiLabel?: string;\n areaCodeLabel?: string;\n numberLabel?: string;\n invalidAreaCodeMessage?: string;\n invalidPhoneNumberMessage?: string;\n}\n\nconst PhoneInput = <T extends FieldValues>({\n DDI,\n phoneDDIKey,\n phoneAreaCodeKey,\n phoneNumberKey,\n registerWithMask,\n setFocus,\n errors,\n ddiClassName,\n areaCodeClassName,\n phoneClassName,\n requiredMessage,\n ddiLabel,\n areaCodeLabel,\n numberLabel,\n invalidAreaCodeMessage,\n invalidPhoneNumberMessage\n}: IPhoneInputProps<T>) => {\n const host = typeof window !== 'undefined' ? window.location.host : '';\n\n return (\n <div className='w-full flex flex-col gap-1'>\n <div className='flex flex-col md:flex-row gap-0.5'>\n <Input\n className={`flex-2 rounded-b-none md:rounded-r-none md:rounded-l-inner ${ddiClassName}`}\n placeholder={ddiLabel}\n {...registerWithMask(phoneDDIKey, ['+9', '+99', '+999'], {\n value: DDI,\n required: requiredMessage\n })}\n defaultValue={host?.includes('.br') ? '+55' : ''}\n color='gray'\n />\n <Input\n className={`flex-2 rounded-none ${areaCodeClassName}`}\n placeholder={areaCodeLabel}\n {...registerWithMask(phoneAreaCodeKey, DDI === '+55' ? '(99)' : '', {\n required: requiredMessage,\n validate: (value: any) =>\n DDI === '+55'\n ? isValidDDD(value)\n : true || invalidAreaCodeMessage,\n oncomplete: () => {\n if (DDI === '+55') {\n setFocus(phoneNumberKey);\n }\n }\n })}\n color='gray'\n />\n <Input\n className={`flex-5 rounded-t-none md:rounded-l-none md:rounded-r-inner ${phoneClassName}`}\n placeholder={numberLabel}\n {...registerWithMask(\n phoneNumberKey,\n DDI === '+55' ? '99999-9999' : '',\n {\n required: requiredMessage,\n validate: (value: any) =>\n DDI === '+55'\n ? isValidPhoneNumber(value)\n : true || invalidPhoneNumberMessage,\n }\n )}\n color='gray'\n />\n </div>\n {((errors?.phone as any)?.ddi?.message ||\n (errors?.phone as any)?.areaCode?.message ||\n (errors?.phone as any)?.number?.message) && (\n <span className='text-red-600 text-sm'>\n {(errors?.phone as any)?.ddi?.message ||\n (errors?.phone as any)?.areaCode?.message ||\n (errors?.phone as any)?.number?.message}\n </span>\n )}\n </div>\n );\n};\n\nexport default PhoneInput;\n","import { isBefore, isValid, parse, subYears } from 'date-fns';\n\nexport const isValidCpf = (formatedCpf: string): boolean => {\n const cpf = formatedCpf.replace(/\\D/g, '');\n\n if (cpf.length !== 11 || /^(\\d)\\1+$/.test(cpf)) {\n return false;\n }\n\n // Calcular el primer dígito verificador\n let soma = 0;\n\n for (let i = 0; i < 9; i++) {\n soma += parseInt(cpf.charAt(i), 10) * (10 - i);\n }\n let digito1 = 11 - (soma % 11);\n if (digito1 > 9) {\n digito1 = 0;\n }\n\n // Calcular el segundo dígito verificador\n soma = 0;\n for (let i = 0; i < 10; i++) {\n soma += parseInt(cpf.charAt(i), 10) * (11 - i);\n }\n let digito2 = 11 - (soma % 11);\n if (digito2 > 9) {\n digito2 = 0;\n }\n\n // Verificar si los dígitos verificadores son iguales a los últimos dos dígitos del CPF\n if (\n parseInt(cpf.charAt(9), 10) === digito1 &&\n parseInt(cpf.charAt(10), 10) === digito2\n ) {\n return true;\n }\n return false;\n};\n\nexport const isValidCNPJ = (formatedCnpj: string): boolean => {\n const cnpj = formatedCnpj.replace(/[^\\d]+/g, '');\n\n if (cnpj.length !== 14) {\n return false;\n }\n\n if (/^(\\d)\\1+$/.test(cnpj)) {\n return false;\n }\n\n let length = cnpj.length - 2;\n let numbers = cnpj.substring(0, length);\n const digitosVerificadores = cnpj.substring(length);\n\n let soma = 0;\n let pos = length - 7;\n\n for (let i = length; i >= 1; i--) {\n soma += parseInt(numbers.charAt(length - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n const resultado = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n\n if (resultado !== parseInt(digitosVerificadores.charAt(0), 10)) {\n return false;\n }\n\n length += 1;\n numbers = cnpj.substring(0, length);\n soma = 0;\n pos = length - 7;\n\n for (let i = length; i >= 1; i--) {\n soma += parseInt(numbers.charAt(length - i), 10) * pos--;\n if (pos < 2) {\n pos = 9;\n }\n }\n\n const segundoDigito = soma % 11 < 2 ? 0 : 11 - (soma % 11);\n\n return segundoDigito === parseInt(digitosVerificadores.charAt(1), 10);\n};\n\nexport const isCPF = (document: string) => {\n const onlyNumbers = document?.replace(/\\D/g, '');\n\n if (onlyNumbers?.length === 11 && isValidCpf(onlyNumbers)) return true;\n\n return false;\n};\n\nexport const isCNPJ = (document: string) => {\n const onlyNumbers = document?.replace(/\\D/g, '');\n\n if (onlyNumbers?.length === 14 && isValidCNPJ(onlyNumbers)) return true;\n\n return false;\n};\n\nexport const isFullName = (name: string) =>\n /^(?:[A-Za-zÀ-ÿ]{2,}(?: [A-Za-zÀ-ÿ]{2,})+)$/.test(name.trim());\n\nexport const isValidName = (name: string) =>\n /^[A-Za-zÀ-ÿ\\s.'-]+(?: [A-Za-zÀ-ÿ\\s.'-]+)*$/.test(name.trim());\n\nexport const isValidEmail = (email: string) =>\n /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$/.test(email.trim());\n\nexport const isValidPhoneNumber = (number: string) => {\n const phoneNumber = number.replace('-', '');\n return /^\\d{8}$/.test(phoneNumber) || /^\\d{9}$/.test(phoneNumber);\n};\n\nexport const isValidNumberCode = (numberCode: string) =>\n /^\\d{2}$/.test(numberCode.replace(/[()]/g, ''));\n\nexport const isValidDDD = (areaCode: string) => {\n const dddList = [\n 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22, 24, 27, 28, 31, 32, 33, 34, 35,\n 37, 38, 41, 42, 43, 44, 45, 46, 47, 48, 49, 51, 53, 54, 55, 61, 62, 64, 63,\n 65, 66, 67, 68, 69, 71, 73, 74, 75, 77, 79, 81, 82, 83, 84, 85, 86, 87, 88,\n 89, 91, 92, 93, 94, 95, 96, 97, 98, 99\n ];\n\n return dddList.includes(parseFloat(areaCode?.replace(/\\D/g, '')));\n};\n\nexport const isValidChildDate = (date?: string) => {\n if (!date) return 'Data inválida';\n\n const birthDate = parse(date, 'yyyy-MM-dd', new Date());\n\n if (!isValid(birthDate)) {\n return 'Data inválida';\n }\n\n const currentDate = new Date();\n const adultAge = subYears(currentDate, 18);\n\n if (isBefore(adultAge, birthDate) && isBefore(birthDate, currentDate)) {\n return true;\n }\n\n return 'Idade deve ser entre 1 a 17 anos';\n};\n\nexport const isValidAdult = (date?: string) => {\n if (!date) return 'Data inválida';\n\n const birthDate = parse(date, 'yyyy-MM-dd', new Date());\n\n if (!isValid(birthDate)) {\n return 'Data inválida';\n }\n\n const adultAge = subYears(new Date(), 18);\n\n return isBefore(birthDate, adultAge) || 'Adulto deve ter mais de 18 anos';\n};\n","'use client';\n\nimport React, { FC, ReactNode } from 'react';\n\nexport type TagColor = 'primary' | 'secondary' | 'white';\n\ninterface ITagProps {\n color: TagColor;\n children: ReactNode;\n onClick?: () => void;\n iconLeft?: ReactNode;\n iconRight?: ReactNode;\n}\n\nconst Tag: FC<ITagProps> = ({\n color,\n children,\n onClick,\n iconLeft,\n iconRight\n}) => {\n const baseClasses =\n 'rounded-inner px-4 py-2 flex items-center justify-between border-0 cursor-pointer transition-all duration-300 ease-in-out font-medium';\n\n const colorClasses = {\n primary: 'text-primary-900 bg-white hover:bg-gray-200',\n secondary:\n 'text-secondary-800 bg-secondary-100 hover:text-white hover:bg-secondary-800',\n white: 'text-primary-900 bg-white hover:bg-gray-200'\n };\n\n return (\n <button\n onClick={() => onClick?.()}\n className={`${baseClasses} ${colorClasses[color]}`}\n >\n {iconLeft && (\n <span className='flex items-center justify-center mr-2'>\n {iconLeft}\n </span>\n )}\n {children}\n {iconRight && (\n <span className='flex items-center justify-center ml-2'>\n {iconRight}\n </span>\n )}\n </button>\n );\n};\n\nexport default Tag;\n"],"names":["iconByAlertType","danger","React","createElement","WarningCircle","size","success","Check","info","Info","warning","Warning","cn","slice","call","arguments","filter","Boolean","join","_excluded","buttonVariants","cva","variants","variant","fill","outline","color","primary","secondary","gray","white","small","normal","large","icon","shape","default","rounded","fontWeight","bold","fullWidth","true","false","fullHeight","disabled","compoundVariants","className","defaultVariants","Button","forwardRef","_ref","ref","_ref$loading","loading","children","props","_objectWithoutPropertiesLoose","_extends","CircleNotch","weight","displayName","Stars","rate","Array","from","length","map","_","index","Star","key","memo","value","onChange","label","trailing","textColor","type","_useState","useState","checked","setChecked","useEffect","undefined","onClick","prev","parseFloat","toString","prevProps","nextProps","Input","id","placeholder","_ref$color","onFocus","onBlur","focus","error","inputRef","useRef","_inputRef$current","current","_ref$current","htmlFor","e","autoComplete","event","paginationItemVariants","selected","prevOrNext","Popover","PopoverPrimitive","Root","PopoverTrigger","Trigger","PopoverContent","_ref$align","align","_ref$sideOffset","sideOffset","Portal","Content","Radio","_ref$size","sizeClasses","range","min","max","_ref$disabled","initialValues","rangeValue","setRangeValue","ReactSlider","ariaLabel","onAfterChange","minDistance","pearling","_excluded2","_excluded3","_excluded4","_excluded5","_excluded6","_excluded7","Select","SelectPrimitive","SelectGroup","Group","SelectValue","Value","SelectTrigger","Icon","asChild","CaretDown","SelectScrollUpButton","_ref2","ScrollUpButton","CaretUp","SelectScrollDownButton","_ref3","ScrollDownButton","SelectContent","_ref4","_ref4$position","position","Viewport","SelectLabel","_ref5","Label","SelectItem","_ref6","Item","ItemIndicator","ItemText","SelectSeparator","_ref7","Separator","Sheet","SheetPrimitive","SheetTrigger","SheetClose","Close","SheetPortal","SheetOverlay","Overlay","sheetVariants","side","top","bottom","left","right","SheetContent","_ref2$side","onOpenAutoFocus","preventDefault","X","SheetHeader","SheetFooter","SheetTitle","Title","SheetDescription","Description","spring","stiffness","damping","TooltipProvider","TooltipPrimitive","Provider","Tooltip","TooltipTrigger","TooltipContent","title","text","open","setOpen","baseClasses","mobile","typeClasses","textSizesClasses","textClasses","items","item","isActive","window","href","CaretRight","content","_ref$showPreview","showPreview","_ref$togglePosition","togglePosition","toggleText","close","_classNames","_ref$orientation","orientation","dividerClass","classNames","onClose","_ref$showCloseButton","showCloseButton","isOpen","page","total","setItems","firstItem","lastItem","concat","_loop","CaretLeft","_errors$phone","_errors$phone2","_errors$phone3","_errors$phone4","_errors$phone5","_errors$phone6","DDI","phoneAreaCodeKey","phoneNumberKey","registerWithMask","setFocus","errors","areaCodeClassName","phoneClassName","requiredMessage","areaCodeLabel","numberLabel","host","location","ddiClassName","ddiLabel","phoneDDIKey","required","defaultValue","includes","validate","areaCode","replace","oncomplete","phoneNumber","test","phone","ddi","message","number","step","subtitle","classes","active","on","motion","div","transition","iconLeft","iconRight"],"mappings":"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"}
|