@aminnausin/cedar-ui 0.0.2 → 0.0.4

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 +1 @@
1
- (function(c,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],e):(c=typeof globalThis<"u"?globalThis:c||self,e(c.CedarUI={},c.Vue))})(this,function(c,e){"use strict";var Pe=Object.defineProperty;var Ae=(c,e,A)=>e in c?Pe(c,e,{enumerable:!0,configurable:!0,writable:!0,value:A}):c[e]=A;var B=(c,e,A)=>Ae(c,typeof e!="symbol"?e+"":e,A);function A({options:o,defaultItems:s},n){const t=e.reactive({selectOpen:!1,selectedItems:s,selectableItems:o,selectableItemActive:null,selectId:"select-12",selectKeydownValue:"",selectKeydownTimeout:1e3,selectKeydownClearTimeout:null,selectDropdownPosition:"bottom",selectableItemsList:n.selectableItemsList,selectButton:n.selectButton,toggleSelect(l){l!==void 0?this.selectOpen=l===!0:this.selectOpen=!this.selectOpen},updateRefs(l){this.selectButton=l.selectButton,this.selectableItemsList=l.selectableItemsList,this.selectPositionUpdate()},selectableItemIsActive(){return!1},async selectScrollToActiveItem(l,a=!0){let r=document.getElementById(l+"-"+this.selectId);r&&(r.scrollIntoView({behavior:"smooth",block:"center"}),a&&r.focus({preventScroll:!1}))},selectKeydown(l){if(l.keyCode<65||l.keyCode>90)return;this.selectKeydownValue+=l.key;let a=this.selectItemsFindBestMatch();a&&this.selectOpen&&(this.selectableItemActive=a),this.selectKeydownValue!==""&&(clearTimeout(this.selectKeydownClearTimeout),this.selectKeydownClearTimeout=window.setTimeout(()=>{this.selectKeydownValue=""},this.selectKeydownTimeout))},selectItemsFindBestMatch(){let l=this.selectKeydownValue.toLowerCase(),a=null,r=-1;for(const f of this.selectableItems){let T=f.name.toLowerCase().indexOf(l);T>-1&&(r==-1||T<r)&&!f.disabled&&(a=f,r=T)}return a},selectPositionUpdate(){var a;if(!this.selectButton||!this.selectableItemsList)return;let l=((a=this.selectButton)==null?void 0:a.getBoundingClientRect().top)+this.selectButton.offsetHeight+parseInt(window.getComputedStyle(this.selectableItemsList).maxHeight);this.selectDropdownPosition=window.innerHeight<l?"top":"bottom"},setOptions(l){Array.isArray(l)&&(this.selectableItems=l)}}),i=()=>{t.selectOpen&&t.selectPositionUpdate()};return e.watch(()=>t.selectOpen,function(l){if(t.selectedItems?t.selectableItemActive=t.selectedItem:t.selectableItemActive=t.selectableItems[0],!l){window.removeEventListener("resize",i);return}i(),window.addEventListener("resize",i)},{immediate:!1}),t}function le(o,s,n){var ie;const t=e.ref(!1),i=e.ref(((ie=o.model)==null?void 0:ie.value)??o.defaultDate??""),l=e.ref("F d, Y"),a=e.ref(0),r=e.ref(0),f=e.ref(0),p=e.ref([]),T=e.ref([]),h=e.ref("bottom"),I=["January","February","March","April","May","June","July","August","September","October","November","December"],S=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],C=e.ref("D"),d=e.computed(()=>{let m=Math.max(a.value,0);return m>=I.length&&(m=0),I[m]}),w=e.computed(()=>{const m=Math.floor(r.value/10)*10;return Array.from({length:10},(M,x)=>m+x)});function v(m){t.value=m??!t.value,C.value="D"}function g(m="D"){C.value=m}function b(m){const M=S[m.getDay()],x=("0"+m.getDate()).slice(-2),P=I[m.getMonth()],z=P.substring(0,3),K=("0"+(m.getMonth()+1)).slice(-2),k=m.getFullYear();switch(l.value){case"F d, Y":return`${P} ${x}, ${k}`;case"d M, Y":return`${x} ${z}, ${k}`;case"Y M d":return`${k} ${z} ${x}`;case"MM-DD-YYYY":return`${K}-${x}-${k}`;case"DD-MM-YYYY":return`${x}-${K}-${k}`;case"YYYY-MM-DD":return`${k}-${K}-${x}`;case"D d M, Y":return`${M} ${x} ${z} ${k}`;default:return`${P} ${x}, ${k}`}}function D(m){switch(C.value){case"Y":r.value=m,C.value="M";break;case"M":a.value=m,C.value="D",V();break;default:f.value=m,i.value=b(new Date(r.value,a.value,m)),t.value=!1,o.model&&(o.model.value=i.value);break}}function y(){switch(C.value){case"Y":r.value-=10;break;case"M":r.value-=1;break;default:a.value===0?(r.value--,a.value=11):a.value--,V();break}}function u(){switch(C.value){case"Y":r.value+=10;break;case"M":r.value+=1;break;default:a.value===11?(a.value=0,r.value++):a.value++,V();break}}function E(m){const M=new Date(r.value,a.value,m);return i.value===b(M)}function ke(m){const M=new Date,x=new Date(r.value,a.value,m);return M.toDateString()===x.toDateString()}function V(){const m=new Date(r.value,a.value+1,0).getDate(),M=new Date(r.value,a.value).getDay();T.value=Array.from({length:M},(x,P)=>P+1),p.value=Array.from({length:m},(x,P)=>P+1)}function R(){if(!s.value||!n.value||!t.value)return;const m=s.value.getBoundingClientRect(),M=n.value.offsetHeight,x=m.top+m.height+M;h.value=x>window.innerHeight?"top":"bottom"}function se(m,M=!0){a.value=m.getMonth(),r.value=m.getFullYear(),f.value=m.getDate(),M&&(i.value=b(m)),V()}function ne(){if(i.value)return se(new Date(Date.parse(i.value)));se(new Date,o.useDefaultDate)}return e.onMounted(()=>{ne()}),e.watch(t,async m=>{if(!m){window.removeEventListener("resize",R);return}await e.nextTick(),ne(),R(),window.addEventListener("resize",R)}),{datePickerInput:s,datePickerCalendar:n,datePickerOpen:t,datePickerValue:i,datePickerPanel:C,datePickerFormat:l,datePickerMonth:a,datePickerMonthVerbose:d,datePickerYear:r,datePickerDecade:w,datePickerDay:f,datePickerDaysInMonth:p,datePickerBlankDaysInMonth:T,datePickerMonthNames:I,datePickerDays:S,datePickerPosition:h,toggleDatePicker:v,datePickerValueClicked:D,datePickerPrevious:y,datePickerNext:u,datePickerIsSelectedDate:E,datePickerIsToday:ke,showDatePickerPanel:g}}function j(o="pv_id_"){return o+Math.random().toString(16).slice(2)}class oe{constructor(){B(this,"subscribers");B(this,"toasts");B(this,"subscribe",s=>(this.subscribers.push(s),()=>{const n=this.subscribers.indexOf(s);this.subscribers.splice(n,1)}));B(this,"publish",s=>{this.subscribers.forEach(n=>n(s))});B(this,"addToast",s=>{this.publish(s),this.toasts=[...this.toasts,s]});B(this,"create",(s,n)=>{const t=n.id??j("toast_");return this.toasts.find(l=>l.id===t)?this.toasts=this.toasts.map(l=>l.id===t?(this.publish({...l,...n,id:t,title:s}),{...l,...n,id:t,title:s}):l):this.addToast({title:s,id:t,scale:1,zIndex:200,offsetY:0,...n}),t});B(this,"dismiss",s=>{s?(this.publish({id:s,dismiss:!0}),this.toasts=this.toasts.filter(n=>n.id!==s)):(this.toasts.forEach(n=>{this.publish({id:n.id,dismiss:!0})}),this.toasts=[])});B(this,"add",(s,n)=>this.create(s,{...n}));B(this,"success",(s,n)=>this.create(s,{type:"success",...n}));B(this,"error",(s,n)=>this.create(s,{type:"danger",...n}));B(this,"info",(s,n)=>this.create(s,{type:"info",...n}));B(this,"warning",(s,n)=>this.create(s,{type:"warning",...n}));this.subscribers=[],this.toasts=[]}}const O=new oe;function ae(o,s){const n=j("toast_");return O.create(o,{...s,id:n}),n}const U=Object.assign(ae,{add:O.add,success:O.success,error:O.error,info:O.info,warning:O.warning,dismiss:O.dismiss});function re(o){const s=e.ref(!1);return{copyNotification:s,copyToClipboard:async()=>{try{await navigator.clipboard.writeText(o.value),s.value=!0,setTimeout(()=>{s.value=!1},3e3)}catch(t){console.error(t),U.error("Error",{description:"Unable to copy. Network is not secure."})}}}}function ce(o,s){const n=e.reactive({selectOpen:!1,selectedItem:"",selectableItems:o,selectableItemActive:null,selectId:"select-12",selectKeydownValue:"",selectKeydownTimeout:1e3,selectKeydownClearTimeout:null,selectDropdownPosition:"bottom",selectableItemsList:s.selectableItemsList,selectButton:s.selectButton,toggleSelect(i){i!==void 0?this.selectOpen=i===!0:this.selectOpen=!this.selectOpen},updateRefs(i){this.selectButton=i.selectButton,this.selectableItemsList=i.selectableItemsList},selectableItemIsActive(i){return this.selectableItemActive&&this.selectableItemActive.value==i.value},selectableItemActiveNext(){let i=this.selectableItems.indexOf(this.selectableItemActive);i<this.selectableItems.length-1&&(this.selectableItemActive=this.selectableItems[i+1],this.selectScrollToActiveItem())},selectableItemActivePrevious(){let i=this.selectableItems.indexOf(this.selectableItemActive);i>0&&(this.selectableItemActive=this.selectableItems[i-1],this.selectScrollToActiveItem())},selectScrollToActiveItem(){if(!this.selectableItemActive)return;let i=document.getElementById(this.selectableItemActive.value+"-"+this.selectId);i&&i.focus()},selectKeydown(i){if(i.keyCode>=65&&i.keyCode<=90){this.selectKeydownValue+=i.key;let l=this.selectItemsFindBestMatch();l&&(this.selectOpen?(this.selectableItemActive=l,this.selectScrollToActiveItem()):this.selectedItem=this.selectableItemActive===l),this.selectKeydownValue!=""&&(clearTimeout(this.selectKeydownClearTimeout),this.selectKeydownClearTimeout=window.setTimeout(()=>{this.selectKeydownValue=""},this.selectKeydownTimeout))}},selectItemsFindBestMatch(){let i=this.selectKeydownValue.toLowerCase(),l=null,a=-1;for(const r of this.selectableItems){let p=r.title.toLowerCase().indexOf(i);p>-1&&(a==-1||p<a)&&!r.disabled&&(l=r,a=p)}return l},selectPositionUpdate(){var l;if(!this.selectableItemsList||!this.selectButton)return;let i=((l=this.selectButton)==null?void 0:l.getBoundingClientRect().top)+this.selectButton.offsetHeight+parseInt(window.getComputedStyle(this.selectableItemsList).maxHeight);window.innerHeight<i?this.selectDropdownPosition="top":this.selectDropdownPosition="bottom"}}),t=()=>{n.selectOpen&&n.selectPositionUpdate()};return e.watch(()=>n.selectOpen,function(i){if(n.selectedItem?n.selectableItemActive=n.selectedItem:n.selectableItemActive=n.selectableItems[0],!i){window.removeEventListener("resize",t);return}window.setTimeout(function(){n.selectScrollToActiveItem()},10),t(),window.addEventListener("resize",t)},{immediate:!1}),n}function ue(o){const s=e.ref(null);return e.reactive({title:"",...o,modalOpen:!1,isAnimating:!1,animationTime:o.animationTime??300,toggleModal(n=null){this.isAnimating||(s.value&&clearTimeout(s.value),n!=null?this.modalOpen=n:this.modalOpen=!this.modalOpen,this.isAnimating=!0,s.value=window.setTimeout(()=>{this.isAnimating=!1},this.animationTime))},setTitle(n){this.title=n}})}function fe(o){const s=e.ref(1),n=e.ref(o.itemsPerPage??10),t=e.ref(o.searchQuery??""),i=e.reactive({filteredPage:e.computed(()=>{const l=n.value*(s.value-1),a=Math.min(n.value*s.value,o.data.length);return o.data.slice(l,a)}),props:o,fields:{currentPage:s,itemsPerPage:n,searchQuery:t},handlePageChange(l){s.value=l},handlePageReset(){s.value=1}});return e.watch(()=>o.data,(l,a)=>{var r,f;((l==null?void 0:l.length)!==(a==null?void 0:a.length)||l[0]&&a[0]&&((r=l[0])==null?void 0:r.id)!==((f=a[0])==null?void 0:f.id))&&i.handlePageReset()},{immediate:!0}),i}function de(o){return o&&o.__esModule&&Object.prototype.hasOwnProperty.call(o,"default")?o.default:o}var $,Z;function me(){return Z||(Z=1,$=function o(s,n){if(s===n)return!0;if(s&&n&&typeof s=="object"&&typeof n=="object"){if(s.constructor!==n.constructor)return!1;var t,i,l;if(Array.isArray(s)){if(t=s.length,t!=n.length)return!1;for(i=t;i--!==0;)if(!o(s[i],n[i]))return!1;return!0}if(s.constructor===RegExp)return s.source===n.source&&s.flags===n.flags;if(s.valueOf!==Object.prototype.valueOf)return s.valueOf()===n.valueOf();if(s.toString!==Object.prototype.toString)return s.toString()===n.toString();if(l=Object.keys(s),t=l.length,t!==Object.keys(n).length)return!1;for(i=t;i--!==0;)if(!Object.prototype.hasOwnProperty.call(n,l[i]))return!1;for(i=t;i--!==0;){var a=l[i];if(!o(s[a],n[a]))return!1}return!0}return s!==s&&n!==n}),$}var pe=me();const he=de(pe);function ge(o){let s=o,n;const t=e.reactive({fields:structuredClone(o),errors:{},dirty:!1,hasErrors:!1,processing:!1,wasSuccessful:!1,recentlySuccessful:!1,async submit(i,l={}){if(this.processing)return;const a={onBefore:async()=>{this.processing=!0,this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(n),l.onBefore&&await l.onBefore()},onSuccess:async r=>{this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,n=window.setTimeout(()=>{this.recentlySuccessful=!1},2e3),l.onSuccess&&await l.onSuccess(r),s=structuredClone(this.fields)},onError:async r=>{var f,p,T,h,I;this.hasErrors=!0,(((f=r==null?void 0:r.response)==null?void 0:f.status)===422||((p=r==null?void 0:r.response)==null?void 0:p.status)===401)&&(this.clearErrors(),this.setErrors({message:(T=r==null?void 0:r.response)==null?void 0:T.data.message,...(I=(h=r==null?void 0:r.response)==null?void 0:h.data)==null?void 0:I.errors})),l.onError&&await l.onError(r)},onFinish:async()=>{this.processing=!1,l.onFinish&&await l.onFinish()}};await a.onBefore();try{const r=await i(this.fields);await a.onSuccess(r)}catch(r){await a.onError(r)}finally{await a.onFinish()}},reset(...i){const l=structuredClone(s);i.length===0?this.fields=l:i.forEach(a=>{l[a]!==void 0&&(this.fields[a]=l[a])})},clearErrors(...i){i.length===0?this.errors={}:i.forEach(l=>delete this.errors[l]),this.hasErrors=Object.keys(this.errors).length>0},setErrors(i){this.errors={...this.errors,...i},this.hasErrors=Object.keys(this.errors).length>0}});return e.watch(()=>t.fields,()=>{t.dirty=!he(t.fields,s)},{immediate:!0,deep:!0}),t}function W({directions:o,threshold:s,onSwipeOut:n}){const t=e.ref(!1),i=e.ref({x:0,y:0}),l=e.ref(),a=e.ref({x:0,y:0}),r=h=>1/(1.5+Math.abs(h)/20);function f(h){l.value=Date.now(),h.target.setPointerCapture(h.pointerId),!h.target.closest("button, a, input, textarea, select")&&(a.value={x:h.clientX,y:h.clientY},t.value=!0)}function p(h){if(!t.value)return;const I={x:0,y:0},S=h.clientX-a.value.x,C=h.clientY-a.value.y;if(o.value.includes("left")&&S<0||o.value.includes("right")&&S>0)I.x=S;else{const d=S*r(S);I.x=Math.abs(d)<Math.abs(S)?d:S}if(o.value.includes("top")&&C<0||o.value.includes("bottom")&&C>0)I.y=C;else{const d=C*r(C);I.y=Math.abs(d)<Math.abs(C)?d:C}i.value=I}function T(){if(!t.value)return;const h=Date.now()-(l.value??0),I=i.value.x,S=Math.abs(I)/h;if(Math.abs(I)>=s||S>.11){n();return}t.value=!1,i.value={x:0,y:0}}return{offset:i,isSwiping:t,onPointerDown:f,onPointerMove:p,onPointerUp:T}}function q({duration:o,isPaused:s,onTimeout:n,immediate:t=!0}){const i=e.ref(),l=e.ref(0),a=e.ref(o);function r(){a.value===1/0||s()||(l.value=Date.now(),i.value=window.setTimeout(()=>{n()},a.value))}function f(){p();const T=Date.now()-l.value;a.value-=T}function p(){i.value&&(clearTimeout(i.value),i.value=null)}return e.watch(s,T=>{if(T){f();return}r()},{immediate:t}),e.onBeforeUnmount(()=>{p()}),{cancel:p}}function we(){const o=e.ref(!1),s=e.ref(!1),n=e.ref(300),t=e.ref(null),i=e.reactive({}),l=e.shallowRef(null);function a(f,p={}){t.value&&clearTimeout(t.value),l.value=f,Object.assign(i,p),s.value=!0,o.value=!0,t.value=window.setTimeout(()=>{o.value=!1},n.value)}function r(){t.value&&clearTimeout(t.value),s.value=!1,o.value=!0,t.value=window.setTimeout(()=>{o.value=!1},n.value)}return{isOpen:s,isAnimating:o,animationTime:n,props:i,component:l,open:a,close:r}}function ye(o,s){if(!o)return!1;let n=["INPUT","TEXTAREA","SELECT"];return(s===" "||s==="Enter")&&(n=[...n,"BUTTON"]),n.includes(o.tagName)}const F=3,J="24px",X="16px",N=0,_=3e3,G=16,Q=45,Y=10,H=.06,L=16,ve=["id","data-isSwiping"],be={class:"w-[18px] h-[18px] mr-1.5 -ml-1",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Te={class:"w-[18px] h-[18px] mr-1.5 -ml-1",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ie={class:"w-[18px] h-[18px] mr-1.5 -ml-1",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ce={class:"w-[18px] h-[18px] mr-1.5 -ml-1",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Ee=["title"],Se=((o,s)=>{const n=o.__vccOpts||o;for(const[t,i]of s)n[t]=i;return n})(e.defineComponent({__name:"ToastNotification",props:{id:{},index:{},stack:{},position:{default:"bottom-center"},toastCount:{},expanded:{type:Boolean},maxVisibleToasts:{default:F},swipeDirections:{default:()=>[]},style:{default:""},title:{default:"Title"},description:{},type:{default:"default"},life:{default:_},html:{default:""},component:{},scale:{},zIndex:{},offsetY:{},positionY:{}},emits:["close"],setup(o,{emit:s}){const n=s,t=o,i=e.ref("translate-y-0"),l=e.computed(()=>{if(t.swipeDirections.length>0)return t.swipeDirections;const[y,u]=t.position.split("-"),E=[];return D(y)&&E.push(y),D(u)&&E.push(u),u==="center"&&E.push("left","right"),E}),a=e.computed(()=>t.position.includes("bottom")),r=e.ref(null),f=e.ref(null),p=e.ref(!1),T=e.ref(!1),{offset:h,isSwiping:I,onPointerDown:S,onPointerMove:C,onPointerUp:d}=W({directions:l,threshold:Q,onSwipeOut:g}),{cancel:w}=q({duration:t.life||_,isPaused:()=>t.expanded||t.type==="loading"||!t.life||t.life===1/0||p.value,onTimeout:g});function v(){return I.value?h.value.x>0?"translate-x-full":"-translate-x-full":t.toastCount===1?a.value?"translate-y-full":"-translate-y-full":"translate-y-0"}function g(){r.value||(i.value=v(),T.value=!1,w(),r.value=window.setTimeout(()=>{n("close",t.id)},350))}function b(){f.value&&(clearTimeout(f.value),f.value=null),r.value&&(clearTimeout(r.value),r.value=null)}function D(y){return["top","right","bottom","left"].includes(y)}return e.onMounted(()=>{T.value=!0,f.value&&clearTimeout(f.value),f.value=window.setTimeout(()=>{t.stack()})}),e.onBeforeUnmount(()=>{b()}),(y,u)=>(e.openBlock(),e.createElementBlock("li",{ref:"toastEl",id:t.id,class:e.normalizeClass(["toast w-full absolute duration-300 transition-all ease-out",{"toast-no-description":!y.description},{"opacity-0 pointer-events-none":y.index>=y.maxVisibleToasts},y.style]),style:e.normalizeStyle({"--offset-x":`${e.unref(h).x}px`,"--offset-y":`${y.offsetY}px`,"--scale":y.scale,"--z-index":y.zIndex,"--position-top":`${y.expanded?a.value?"auto":y.positionY:"inherit"}`,"--position-bottom":`${a.value&&y.expanded?y.positionY:"inherit"}`}),"data-isSwiping":e.unref(I),onMouseover:u[0]||(u[0]=E=>p.value=!0),onMouseout:u[1]||(u[1]=E=>p.value=!1),onDragend:u[2]||(u[2]=(...E)=>e.unref(d)&&e.unref(d)(...E)),onPointerdown:u[3]||(u[3]=(...E)=>e.unref(S)&&e.unref(S)(...E)),onPointermove:u[4]||(u[4]=(...E)=>e.unref(C)&&e.unref(C)(...E)),onPointerup:u[5]||(u[5]=(...E)=>e.unref(d)&&e.unref(d)(...E)),role:"alert"},[e.createVNode(e.Transition,{"enter-active-class":"","enter-from-class":`opacity-0 ${a.value?"translate-y-full":"-translate-y-full"}`,"enter-to-class":"opacity-100 translate-y-0","leave-active-class":"","leave-from-class":"opacity-100 translate-y-0","leave-to-class":`opacity-0 ${i.value}`},{default:e.withCtx(()=>[e.withDirectives(e.createElementVNode("span",{class:e.normalizeClass([{"p-4":!t.html,"p-0":t.html},"flex flex-col items-start backdrop-blur-lg rounded-md ","group relative select-text","transition-all duration-300 ease-out","bg-white dark:bg-primary-dark-700/70 text-gray-800 dark:text-neutral-100 shadow-[0_5px_15px_-3px_rgb(0_0_0_/_0.08)]","ring-inset ring-1 ring-gray-100 dark:ring-neutral-800/50","!outline-none focus:ring-gray-400 dark:focus:ring-purple-500 focus:ring-2"])},[t.html?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["flex items-center",{"text-green-500":t.type==="success","text-blue-500":t.type==="info","text-orange-400":t.type==="warning","text-rose-500":t.type==="danger","dark:text-neutral-100 text-gray-800":t.type==="default"}])},[e.withDirectives((e.openBlock(),e.createElementBlock("svg",be,u[6]||(u[6]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM16.7744 9.63269C17.1238 9.20501 17.0604 8.57503 16.6327 8.22559C16.2051 7.87615 15.5751 7.93957 15.2256 8.36725L10.6321 13.9892L8.65936 12.2524C8.24484 11.8874 7.61295 11.9276 7.248 12.3421C6.88304 12.7566 6.92322 13.3885 7.33774 13.7535L9.31046 15.4903C10.1612 16.2393 11.4637 16.1324 12.1808 15.2547L16.7744 9.63269Z",fill:"currentColor"},null,-1)]),512)),[[e.vShow,t.type==="success"]]),e.withDirectives((e.openBlock(),e.createElementBlock("svg",Te,u[7]||(u[7]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M12 2C6.47715 2 2 6.47715 2 12C2 17.5228 6.47715 22 12 22C17.5228 22 22 17.5228 22 12C22 6.47715 17.5228 2 12 2ZM12 9C12.5523 9 13 8.55228 13 8C13 7.44772 12.5523 7 12 7C11.4477 7 11 7.44772 11 8C11 8.55228 11.4477 9 12 9ZM13 12C13 11.4477 12.5523 11 12 11C11.4477 11 11 11.4477 11 12V16C11 16.5523 11.4477 17 12 17C12.5523 17 13 16.5523 13 16V12Z",fill:"currentColor"},null,-1)]),512)),[[e.vShow,t.type==="info"]]),e.withDirectives((e.openBlock(),e.createElementBlock("svg",Ie,u[8]||(u[8]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M9.44829 4.46472C10.5836 2.51208 13.4105 2.51168 14.5464 4.46401L21.5988 16.5855C22.7423 18.5509 21.3145 21 19.05 21L4.94967 21C2.68547 21 1.25762 18.5516 2.4004 16.5862L9.44829 4.46472ZM11.9995 8C12.5518 8 12.9995 8.44772 12.9995 9V13C12.9995 13.5523 12.5518 14 11.9995 14C11.4473 14 10.9995 13.5523 10.9995 13V9C10.9995 8.44772 11.4473 8 11.9995 8ZM12.0009 15.99C11.4486 15.9892 11.0003 16.4363 10.9995 16.9886L10.9995 16.9986C10.9987 17.5509 11.4458 17.9992 11.9981 18C12.5504 18.0008 12.9987 17.5537 12.9995 17.0014L12.9995 16.9914C13.0003 16.4391 12.5532 15.9908 12.0009 15.99Z",fill:"currentColor"},null,-1)]),512)),[[e.vShow,t.type==="warning"]]),e.withDirectives((e.openBlock(),e.createElementBlock("svg",Ce,u[9]||(u[9]=[e.createElementVNode("path",{"fill-rule":"evenodd","clip-rule":"evenodd",d:"M2 12C2 6.47715 6.47715 2 12 2C17.5228 2 22 6.47715 22 12C22 17.5228 17.5228 22 12 22C6.47715 22 2 17.5228 2 12ZM11.9996 7C12.5519 7 12.9996 7.44772 12.9996 8V12C12.9996 12.5523 12.5519 13 11.9996 13C11.4474 13 10.9996 12.5523 10.9996 12V8C10.9996 7.44772 11.4474 7 11.9996 7ZM12.001 14.99C11.4488 14.9892 11.0004 15.4363 10.9997 15.9886L10.9996 15.9986C10.9989 16.5509 11.446 16.9992 11.9982 17C12.5505 17.0008 12.9989 16.5537 12.9996 16.0014L12.9996 15.9914C13.0004 15.4391 12.5533 14.9908 12.001 14.99Z",fill:"currentColor"},null,-1)]),512)),[[e.vShow,t.type==="danger"]]),e.createElementVNode("p",{class:"text-[13px] font-medium leading-none",title:t.title},e.toDisplayString(e.unref(L)+" : "+t.title),9,Ee)],2)),e.withDirectives(e.createElementVNode("p",{class:e.normalizeClass([{"pl-5":t.type!=="default"},"mt-1.5 text-xs leading-tight opacity-70 w-full whitespace-pre-wrap break-words overflow-y-auto scrollbar-minimal max-h-32 min-h-3 pe-2"])},e.toDisplayString(y.description),3),[[e.vShow,t.description]]),t.html?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("span",{key:1,onClick:g,class:e.normalizeClass(["absolute right-0 p-1.5 mr-2.5 text-gray-400 dark:text-rose-700 duration-100 ease-in-out rounded-full opacity-0 cursor-pointer hover:bg-gray-50 dark:bg-gray-800/50 hover:text-gray-500 dark:hover:text-rose-600",{"top-1/2 -translate-y-1/2":!t.description&&!t.html,"top-0 mt-2.5":t.description||t.html,"opacity-100":p.value,"opacity-0":!p.value}])},u[10]||(u[10]=[e.createElementVNode("svg",{class:"w-3 h-3",fill:"currentColor",viewBox:"0 0 20 20",xmlns:"http://www.w3.org/2000/svg"},[e.createElementVNode("path",{"fill-rule":"evenodd",d:"M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z","clip-rule":"evenodd"})],-1)]),2))],2),[[e.vShow,T.value]])]),_:1},8,["enter-from-class","leave-to-class"])],46,ve))}}),[["__scopeId","data-v-68f0a34c"]]),xe={class:"absolute top-0 left-0 text-3xl p-4 bg-amber-400/50 text-white"},De=e.defineComponent({__name:"ToastController",props:{layout:{default:"default"},position:{default:"bottom-right"},defaultLife:{default:3e3},viewportOffset:{default:J},mobileViewportOffset:{default:X},paddingBetweenToasts:{default:G},maxVisibleToasts:{default:F},closeButton:{type:Boolean},icons:{}},setup(o){const s=o,n=e.ref(),t=e.ref([]),i=e.ref(s.position),l=e.ref(s.layout),a=e.ref(!1),r=e.ref(s.layout==="expanded"),f=e.ref(s.paddingBetweenToasts),p=e.ref(null);e.ref(null);function T(d){t.value=t.value.filter(w=>w.id!==d),O.dismiss(d),h()}function h(d){t.value.length>0&&I(),S(),p.value&&clearTimeout(p.value),r.value&&(p.value=window.setTimeout(()=>{S()},100))}function I(d){try{const w=i.value.includes("bottom"),v=[];let g=0,b=1+H,D=-L,y=200+Y;for(const u of t.value){const E=document.getElementById(u.id);if(!E)return;if(y-=Y,b-=H,D+=L,u.scale=b,u.offsetY=D,u.zIndex=y,v.push(E),r.value){g=g+(g?f.value:0),u.positionY=g+"px",u.scale=1,u.offsetY=0,g+=E.offsetHeight;continue}u.scale=b,w?u.offsetY*=-1:C(v[0],u)}}catch(w){console.log(w)}}function S(){var b,D;if(!n.value)return;if(t.value.length==0){n.value.style.height="0px";return}const d=t.value[Math.max(Math.min(t.value.length-1,s.maxVisibleToasts-1),0)],w=(b=document.getElementById(`${d==null?void 0:d.id}`))==null?void 0:b.getBoundingClientRect(),v=t.value[0],g=(D=document.getElementById(`${v==null?void 0:v.id}`))==null?void 0:D.getBoundingClientRect();if(!(!g||!w)){if(!a.value){n.value.style.height=g.height+"px";return}if(i.value.includes("bottom")){n.value.style.height=g.top+g.height-w.top+"px";return}n.value.style.height=w.top+w.height-g.top+"px"}}function C(d,w){const v=document.getElementById(w.id);if(!v)return;const g=d.offsetTop,b=d.offsetHeight,D=v.offsetHeight,y=g+(b-D);w.positionY=y+"px"}return e.onMounted(()=>{h()}),e.watch(()=>a.value,d=>{if(l.value==="default"){if(d){r.value=!0,h();return}r.value=!1,h()}}),e.watch(()=>t.value,()=>{t.value.length<=1&&(r.value=!1)}),e.watchEffect(d=>{const w=O.subscribe(v=>{v.dismiss||e.nextTick(()=>{const g=t.value.findIndex(D=>D.id===v.id);if(g!==-1){t.value=[...t.value.slice(0,g),{...t.value[g],...v},...t.value.slice(g+1)];return}const b=v;b.position&&(i.value=b.position),t.value.unshift({...b,id:b.id,type:b.type??"default",position:b.position??i.value,life:b.life??s.defaultLife,title:b.title})})});d(w)}),(d,w)=>(e.openBlock(),e.createBlock(e.Teleport,{to:"body"},[e.createElementVNode("p",xe,"toastsHovered: "+e.toDisplayString(a.value),1),e.createElementVNode("ol",{ref_key:"container",ref:n,class:e.normalizeClass([`fixed w-full group z-[500] [&>*]:px-4 [&>*]:px-[${d.mobileViewportOffset??d.viewportOffset}] [&>*]:sm:px-6 [&>*]:sm:px-[${d.viewportOffset}] my-4 sm:my-6 my-[${d.mobileViewportOffset??d.viewportOffset}] sm:my-[${d.viewportOffset}]`,`${e.unref(N)?`sm:w-[${e.unref(N)}px]`:"sm:max-w-sm"}`,`${i.value=="top-right"?"right-0 top-0":""}`,`${i.value=="top-left"?"left-0 top-0":""}`,`${i.value=="top-center"?"left-1/2 -translate-x-1/2 top-0":""}`,`${i.value=="bottom-right"?"right-0 bottom-0":""}`,`${i.value=="bottom-left"?"left-0 bottom-0":""}`,`${i.value=="bottom-center"?"left-1/2 -translate-x-1/2 bottom-0":""}`]),onMouseenter:w[0]||(w[0]=v=>a.value=!0),onMouseleave:w[1]||(w[1]=v=>a.value=!1)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(v,g)=>(e.openBlock(),e.createBlock(Se,e.mergeProps({ref_for:!0},v,{key:v.id,stack:()=>{h()},toastCount:t.value.length,position:i.value,expanded:r.value,index:g,maxVisibleToasts:d.maxVisibleToasts,onClose:T}),null,16,["stack","toastCount","position","expanded","index","maxVisibleToasts"]))),128))],34)]))}}),ee={stringInsensitive:(o,s)=>te(o).localeCompare(te(s)),date:(o,s)=>new Date(o).getTime()-new Date(s).getTime(),number:(o,s)=>parseFloat(o)-parseFloat(s)};function te(o){return String(o??"").toLowerCase().replace(/\s+/g," ").trim()}function Be(o,s=1,n=["date","date_released"]){return(t,i)=>{const l=t[o],a=i[o];if(l instanceof Date&&a instanceof Date||n.includes(String(o))){const p=new Date(String(l));return(new Date(String(a)).getTime()-p.getTime())*s}const r=parseFloat(l),f=parseFloat(a);return!isNaN(r)&&!isNaN(f)?(r-f)*s:String(l).toLowerCase().replace(/\s+/g," ").localeCompare(String(a).toLowerCase().replace(/\s+/g," "))*s}}function Me(o,s=1){return(n,t)=>{for(const{key:i,compareFn:l}of o){const a=i?n[i]??"":void 0,r=i?t[i]??"":void 0;let f;if(l?f=i?l(a,r):l(n,t):f=Oe(a,r),f!==0)return f*s}return 0}}function Oe(o,s){const n=parseFloat(o),t=parseFloat(s);if(!isNaN(n)&&!isNaN(t))return n-t;const i=new Date(o),l=new Date(s);return!isNaN(i.getTime())&&!isNaN(l.getTime())?i.getTime()-l.getTime():ee.stringInsensitive(o,s)}c.CompareStrategies=ee,c.DEFAULT_GAP=G,c.MOBILE_VIEWPORT_OFFSET=X,c.SCALE_STEP=H,c.SWIPE_THRESHOLD=Q,c.TOAST_LIFE=_,c.TOAST_WIDTH=N,c.ToastController=De,c.ToastState=O,c.VIEWPORT_OFFSET=J,c.VISIBLE_TOASTS_AMOUNT=F,c.Y_OFFSET_STEP=L,c.Z_STEP=Y,c.createModalCore=we,c.isInputLikeElement=ye,c.sortObject=Be,c.sortObjectNew=Me,c.toast=U,c.useClipboard=re,c.useDatePicker=le,c.useForm=ge,c.useModal=ue,c.useMultiSelect=A,c.useSelect=ce,c.useSwipeHandler=W,c.useTable=fe,c.useToastTimer=q,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
1
+ (function(r,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],o):(r=typeof globalThis<"u"?globalThis:r||self,o(r.CedarUI={},r.Vue))})(this,function(r,o){"use strict";var Fe=Object.defineProperty;var Ce=(r,o,E)=>o in r?Fe(r,o,{enumerable:!0,configurable:!0,writable:!0,value:E}):r[o]=E;var b=(r,o,E)=>Ce(r,typeof o!="symbol"?o+"":o,E);function E({options:i,defaultItems:e},t){const c=o.reactive({selectOpen:!1,selectedItems:e,selectableItems:i,selectableItemActive:null,selectId:"select-12",selectKeydownValue:"",selectKeydownTimeout:1e3,selectKeydownClearTimeout:null,selectDropdownPosition:"bottom",selectableItemsList:t.selectableItemsList,selectButton:t.selectButton,toggleSelect(s){s!==void 0?this.selectOpen=s===!0:this.selectOpen=!this.selectOpen},updateRefs(s){this.selectButton=s.selectButton,this.selectableItemsList=s.selectableItemsList,this.selectPositionUpdate()},selectableItemIsActive(){return!1},async selectScrollToActiveItem(s,a=!0){let l=document.getElementById(s+"-"+this.selectId);l&&(l.scrollIntoView({behavior:"smooth",block:"center"}),a&&l.focus({preventScroll:!1}))},selectKeydown(s){if(s.keyCode<65||s.keyCode>90)return;this.selectKeydownValue+=s.key;let a=this.selectItemsFindBestMatch();a&&this.selectOpen&&(this.selectableItemActive=a),this.selectKeydownValue!==""&&(clearTimeout(this.selectKeydownClearTimeout),this.selectKeydownClearTimeout=window.setTimeout(()=>{this.selectKeydownValue=""},this.selectKeydownTimeout))},selectItemsFindBestMatch(){let s=this.selectKeydownValue.toLowerCase(),a=null,l=-1;for(const f of this.selectableItems){let v=f.name.toLowerCase().indexOf(s);v>-1&&(l==-1||v<l)&&!f.disabled&&(a=f,l=v)}return a},selectPositionUpdate(){var a;if(!this.selectButton||!this.selectableItemsList)return;let s=((a=this.selectButton)==null?void 0:a.getBoundingClientRect().top)+this.selectButton.offsetHeight+parseInt(window.getComputedStyle(this.selectableItemsList).maxHeight);this.selectDropdownPosition=window.innerHeight<s?"top":"bottom"},setOptions(s){Array.isArray(s)&&(this.selectableItems=s)}}),n=()=>{c.selectOpen&&c.selectPositionUpdate()};return o.watch(()=>c.selectOpen,function(s){if(c.selectedItems?c.selectableItemActive=c.selectedItem:c.selectableItemActive=c.selectableItems[0],!s){window.removeEventListener("resize",n);return}n(),window.addEventListener("resize",n)},{immediate:!1}),c}function q(i,e,t){var x;const c=o.ref(!1),n=o.ref(((x=i.model)==null?void 0:x.value)??i.defaultDate??""),s=o.ref("F d, Y"),a=o.ref(0),l=o.ref(0),f=o.ref(0),d=o.ref([]),v=o.ref([]),m=o.ref("bottom"),h=["January","February","March","April","May","June","July","August","September","October","November","December"],I=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],w=o.ref("D"),S=o.computed(()=>{let u=Math.max(a.value,0);return u>=h.length&&(u=0),h[u]}),Se=o.computed(()=>{const u=Math.floor(l.value/10)*10;return Array.from({length:10},(T,g)=>u+g)});function De(u){c.value=u??!c.value,w.value="D"}function Ee(u="D"){w.value=u}function C(u){const T=I[u.getDay()],g=("0"+u.getDate()).slice(-2),D=h[u.getMonth()],k=D.substring(0,3),_=("0"+(u.getMonth()+1)).slice(-2),p=u.getFullYear();switch(s.value){case"F d, Y":return`${D} ${g}, ${p}`;case"d M, Y":return`${g} ${k}, ${p}`;case"Y M d":return`${p} ${k} ${g}`;case"MM-DD-YYYY":return`${_}-${g}-${p}`;case"DD-MM-YYYY":return`${g}-${_}-${p}`;case"YYYY-MM-DD":return`${p}-${_}-${g}`;case"D d M, Y":return`${T} ${g} ${k} ${p}`;default:return`${D} ${g}, ${p}`}}function Oe(u){switch(w.value){case"Y":l.value=u,w.value="M";break;case"M":a.value=u,w.value="D",A();break;default:f.value=u,n.value=C(new Date(l.value,a.value,u)),c.value=!1,i.model&&(i.model.value=n.value);break}}function Pe(){switch(w.value){case"Y":l.value-=10;break;case"M":l.value-=1;break;default:a.value===0?(l.value--,a.value=11):a.value--,A();break}}function Ae(){switch(w.value){case"Y":l.value+=10;break;case"M":l.value+=1;break;default:a.value===11?(a.value=0,l.value++):a.value++,A();break}}function Me(u){const T=new Date(l.value,a.value,u);return n.value===C(T)}function Be(u){const T=new Date,g=new Date(l.value,a.value,u);return T.toDateString()===g.toDateString()}function A(){const u=new Date(l.value,a.value+1,0).getDate(),T=new Date(l.value,a.value).getDay();v.value=Array.from({length:T},(g,D)=>D+1),d.value=Array.from({length:u},(g,D)=>D+1)}function L(){if(!e.value||!t.value||!c.value)return;const u=e.value.getBoundingClientRect(),T=t.value.offsetHeight,g=u.top+u.height+T;m.value=g>window.innerHeight?"top":"bottom"}function H(u,T=!0){a.value=u.getMonth(),l.value=u.getFullYear(),f.value=u.getDate(),T&&(n.value=C(u)),A()}function U(){if(n.value)return H(new Date(Date.parse(n.value)));H(new Date,i.useDefaultDate)}return o.onMounted(()=>{U()}),o.watch(c,async u=>{if(!u){window.removeEventListener("resize",L);return}await o.nextTick(),U(),L(),window.addEventListener("resize",L)}),{datePickerInput:e,datePickerCalendar:t,datePickerOpen:c,datePickerValue:n,datePickerPanel:w,datePickerFormat:s,datePickerMonth:a,datePickerMonthVerbose:S,datePickerYear:l,datePickerDecade:Se,datePickerDay:f,datePickerDaysInMonth:d,datePickerBlankDaysInMonth:v,datePickerMonthNames:h,datePickerDays:I,datePickerPosition:m,toggleDatePicker:De,datePickerValueClicked:Oe,datePickerPrevious:Pe,datePickerNext:Ae,datePickerIsSelectedDate:Me,datePickerIsToday:Be,showDatePickerPanel:Ee}}function Y(i="pv_id_"){return i+Math.random().toString(16).slice(2)}class W{constructor(){b(this,"subscribers");b(this,"toasts");b(this,"subscribe",e=>(this.subscribers.push(e),()=>{const t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}));b(this,"publish",e=>{this.subscribers.forEach(t=>t(e))});b(this,"addToast",e=>{this.publish(e),this.toasts=[...this.toasts,e]});b(this,"create",(e,t)=>{const c=t.id??Y("toast_");return this.toasts.find(s=>s.id===c)?this.toasts=this.toasts.map(s=>s.id===c?(this.publish({...s,...t,id:c,title:e}),{...s,...t,id:c,title:e}):s):this.addToast({title:e,id:c,scale:1,zIndex:200,offsetY:0,...t}),c});b(this,"dismiss",e=>{e?(this.publish({id:e,dismiss:!0}),this.toasts=this.toasts.filter(t=>t.id!==e)):(this.toasts.forEach(t=>{this.publish({id:t.id,dismiss:!0})}),this.toasts=[])});b(this,"add",(e,t)=>this.create(e,{...t}));b(this,"success",(e,t)=>this.create(e,{type:"success",...t}));b(this,"error",(e,t)=>this.create(e,{type:"danger",...t}));b(this,"info",(e,t)=>this.create(e,{type:"info",...t}));b(this,"warning",(e,t)=>this.create(e,{type:"warning",...t}));this.subscribers=[],this.toasts=[]}}const y=new W;function z(i,e){const t=Y("toast_");return y.create(i,{...e,id:t}),t}const N=Object.assign(z,{add:y.add,success:y.success,error:y.error,info:y.info,warning:y.warning,dismiss:y.dismiss});function J(i){const e=o.ref(!1);return{copyNotification:e,copyToClipboard:async()=>{try{await navigator.clipboard.writeText(i.value),e.value=!0,setTimeout(()=>{e.value=!1},3e3)}catch(c){console.error(c),N.error("Error",{description:"Unable to copy. Network is not secure."})}}}}function X(i,e){const t=o.reactive({selectOpen:!1,selectedItem:"",selectableItems:i,selectableItemActive:null,selectId:"select-12",selectKeydownValue:"",selectKeydownTimeout:1e3,selectKeydownClearTimeout:null,selectDropdownPosition:"bottom",selectableItemsList:e.selectableItemsList,selectButton:e.selectButton,toggleSelect(n){n!==void 0?this.selectOpen=n===!0:this.selectOpen=!this.selectOpen},updateRefs(n){this.selectButton=n.selectButton,this.selectableItemsList=n.selectableItemsList},selectableItemIsActive(n){return this.selectableItemActive&&this.selectableItemActive.value==n.value},selectableItemActiveNext(){let n=this.selectableItems.indexOf(this.selectableItemActive);n<this.selectableItems.length-1&&(this.selectableItemActive=this.selectableItems[n+1],this.selectScrollToActiveItem())},selectableItemActivePrevious(){let n=this.selectableItems.indexOf(this.selectableItemActive);n>0&&(this.selectableItemActive=this.selectableItems[n-1],this.selectScrollToActiveItem())},selectScrollToActiveItem(){if(!this.selectableItemActive)return;let n=document.getElementById(this.selectableItemActive.value+"-"+this.selectId);n&&n.focus()},selectKeydown(n){if(n.keyCode>=65&&n.keyCode<=90){this.selectKeydownValue+=n.key;let s=this.selectItemsFindBestMatch();s&&(this.selectOpen?(this.selectableItemActive=s,this.selectScrollToActiveItem()):this.selectedItem=this.selectableItemActive===s),this.selectKeydownValue!=""&&(clearTimeout(this.selectKeydownClearTimeout),this.selectKeydownClearTimeout=window.setTimeout(()=>{this.selectKeydownValue=""},this.selectKeydownTimeout))}},selectItemsFindBestMatch(){let n=this.selectKeydownValue.toLowerCase(),s=null,a=-1;for(const l of this.selectableItems){let d=l.title.toLowerCase().indexOf(n);d>-1&&(a==-1||d<a)&&!l.disabled&&(s=l,a=d)}return s},selectPositionUpdate(){var s;if(!this.selectableItemsList||!this.selectButton)return;let n=((s=this.selectButton)==null?void 0:s.getBoundingClientRect().top)+this.selectButton.offsetHeight+parseInt(window.getComputedStyle(this.selectableItemsList).maxHeight);window.innerHeight<n?this.selectDropdownPosition="top":this.selectDropdownPosition="bottom"}}),c=()=>{t.selectOpen&&t.selectPositionUpdate()};return o.watch(()=>t.selectOpen,function(n){if(t.selectedItem?t.selectableItemActive=t.selectedItem:t.selectableItemActive=t.selectableItems[0],!n){window.removeEventListener("resize",c);return}window.setTimeout(function(){t.selectScrollToActiveItem()},10),c(),window.addEventListener("resize",c)},{immediate:!1}),t}function G(i){const e=o.ref(null);return o.reactive({title:"",...i,modalOpen:!1,isAnimating:!1,animationTime:i.animationTime??300,toggleModal(t=null){this.isAnimating||(e.value&&clearTimeout(e.value),t!=null?this.modalOpen=t:this.modalOpen=!this.modalOpen,this.isAnimating=!0,e.value=window.setTimeout(()=>{this.isAnimating=!1},this.animationTime))},setTitle(t){this.title=t}})}function Q(i){const e=o.ref(1),t=o.ref(i.itemsPerPage??10),c=o.ref(i.searchQuery??""),n=o.reactive({filteredPage:o.computed(()=>{const s=t.value*(e.value-1),a=Math.min(t.value*e.value,i.data.length);return i.data.slice(s,a)}),props:i,fields:{currentPage:e,itemsPerPage:t,searchQuery:c},handlePageChange(s){e.value=s},handlePageReset(){e.value=1}});return o.watch(()=>i.data,(s,a)=>{var l,f;((s==null?void 0:s.length)!==(a==null?void 0:a.length)||s[0]&&a[0]&&((l=s[0])==null?void 0:l.id)!==((f=a[0])==null?void 0:f.id))&&n.handlePageReset()},{immediate:!0}),n}function Z(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var M,$;function ee(){return $||($=1,M=function i(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var c,n,s;if(Array.isArray(e)){if(c=e.length,c!=t.length)return!1;for(n=c;n--!==0;)if(!i(e[n],t[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(s=Object.keys(e),c=s.length,c!==Object.keys(t).length)return!1;for(n=c;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[n]))return!1;for(n=c;n--!==0;){var a=s[n];if(!i(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}),M}var te=ee();const se=Z(te);function ne(i){let e=i,t;const c=o.reactive({fields:structuredClone(i),errors:{},dirty:!1,hasErrors:!1,processing:!1,wasSuccessful:!1,recentlySuccessful:!1,async submit(n,s={}){if(this.processing)return;const a={onBefore:async()=>{this.processing=!0,this.wasSuccessful=!1,this.recentlySuccessful=!1,clearTimeout(t),s.onBefore&&await s.onBefore()},onSuccess:async l=>{this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,t=window.setTimeout(()=>{this.recentlySuccessful=!1},2e3),s.onSuccess&&await s.onSuccess(l),e=structuredClone(this.fields)},onError:async l=>{var f,d,v,m,h;this.hasErrors=!0,(((f=l==null?void 0:l.response)==null?void 0:f.status)===422||((d=l==null?void 0:l.response)==null?void 0:d.status)===401)&&(this.clearErrors(),this.setErrors({message:(v=l==null?void 0:l.response)==null?void 0:v.data.message,...(h=(m=l==null?void 0:l.response)==null?void 0:m.data)==null?void 0:h.errors})),s.onError&&await s.onError(l)},onFinish:async()=>{this.processing=!1,s.onFinish&&await s.onFinish()}};await a.onBefore();try{const l=await n(this.fields);await a.onSuccess(l)}catch(l){await a.onError(l)}finally{await a.onFinish()}},reset(...n){const s=structuredClone(e);n.length===0?this.fields=s:n.forEach(a=>{s[a]!==void 0&&(this.fields[a]=s[a])})},clearErrors(...n){n.length===0?this.errors={}:n.forEach(s=>delete this.errors[s]),this.hasErrors=Object.keys(this.errors).length>0},setErrors(n){this.errors={...this.errors,...n},this.hasErrors=Object.keys(this.errors).length>0}});return o.watch(()=>c.fields,()=>{c.dirty=!se(c.fields,e)},{immediate:!0,deep:!0}),c}function ie({directions:i,threshold:e,onSwipeOut:t}){const c=o.ref(!1),n=o.ref({x:0,y:0}),s=o.ref(),a=o.ref({x:0,y:0}),l=m=>1/(1.5+Math.abs(m)/20);function f(m){s.value=Date.now(),m.target.setPointerCapture(m.pointerId),!m.target.closest("button, a, input, textarea, select")&&(a.value={x:m.clientX,y:m.clientY},c.value=!0)}function d(m){if(!c.value)return;const h={x:0,y:0},I=m.clientX-a.value.x,w=m.clientY-a.value.y;if(i.value.includes("left")&&I<0||i.value.includes("right")&&I>0)h.x=I;else{const S=I*l(I);h.x=Math.abs(S)<Math.abs(I)?S:I}if(i.value.includes("top")&&w<0||i.value.includes("bottom")&&w>0)h.y=w;else{const S=w*l(w);h.y=Math.abs(S)<Math.abs(w)?S:w}n.value=h}function v(){if(!c.value)return;const m=Date.now()-(s.value??0),h=n.value.x,I=Math.abs(h)/m;if(Math.abs(h)>=e||I>.11){t();return}c.value=!1,n.value={x:0,y:0}}return{offset:n,isSwiping:c,onPointerDown:f,onPointerMove:d,onPointerUp:v}}function ae({duration:i,isPaused:e,onTimeout:t,immediate:c=!0}){const n=o.ref(),s=o.ref(0),a=o.ref(i);function l(){a.value===1/0||e()||(s.value=Date.now(),n.value=window.setTimeout(()=>{t()},a.value))}function f(){d();const v=Date.now()-s.value;a.value-=v}function d(){n.value&&(clearTimeout(n.value),n.value=null)}return o.watch(e,v=>{if(v){f();return}l()},{immediate:c}),o.onBeforeUnmount(()=>{d()}),{cancel:d}}const P=o.ref(!1),B=o.ref(!1),F=o.ref(300),O=o.ref(null),V=o.reactive({}),K=o.shallowRef(null);function le(i,e={}){O.value&&clearTimeout(O.value),K.value=i,Object.assign(V,e),B.value=!0,P.value=!0,O.value=window.setTimeout(()=>{P.value=!1},F.value)}function ce(){O.value&&clearTimeout(O.value),B.value=!1,P.value=!0,O.value=window.setTimeout(()=>{P.value=!1},F.value)}function oe(){return{isOpen:B,isAnimating:P,animationTime:F,props:V,component:K,open:le,close:ce}}function re(i,e){if(!i)return!1;let t=["INPUT","TEXTAREA","SELECT"];return(e===" "||e==="Enter")&&(t=[...t,"BUTTON"]),t.includes(i.tagName)}const ue=3,fe="24px",de="16px",me=0,he=3e3,ve=16,we=45,ge=10,be=.06,Ie=16,j={stringInsensitive:(i,e)=>R(i).localeCompare(R(e)),date:(i,e)=>new Date(i).getTime()-new Date(e).getTime(),number:(i,e)=>parseFloat(i)-parseFloat(e)};function R(i){return String(i??"").toLowerCase().replace(/\s+/g," ").trim()}function Te(i,e=1,t=["date","date_released"]){return(c,n)=>{const s=c[i],a=n[i];if(s instanceof Date&&a instanceof Date||t.includes(String(i))){const d=new Date(String(s));return(new Date(String(a)).getTime()-d.getTime())*e}const l=parseFloat(s),f=parseFloat(a);return!isNaN(l)&&!isNaN(f)?(l-f)*e:String(s).toLowerCase().replace(/\s+/g," ").localeCompare(String(a).toLowerCase().replace(/\s+/g," "))*e}}function ye(i,e=1){return(t,c)=>{for(const{key:n,compareFn:s}of i){const a=n?t[n]??"":void 0,l=n?c[n]??"":void 0;let f;if(s?f=n?s(a,l):s(t,c):f=pe(a,l),f!==0)return f*e}return 0}}function pe(i,e){const t=parseFloat(i),c=parseFloat(e);if(!isNaN(t)&&!isNaN(c))return t-c;const n=new Date(i),s=new Date(e);return!isNaN(n.getTime())&&!isNaN(s.getTime())?n.getTime()-s.getTime():j.stringInsensitive(i,e)}r.CompareStrategies=j,r.DEFAULT_GAP=ve,r.MOBILE_VIEWPORT_OFFSET=de,r.SCALE_STEP=be,r.SWIPE_THRESHOLD=we,r.TOAST_LIFE=he,r.TOAST_WIDTH=me,r.ToastState=y,r.VIEWPORT_OFFSET=fe,r.VISIBLE_TOASTS_AMOUNT=ue,r.Y_OFFSET_STEP=Ie,r.Z_STEP=ge,r.isInputLikeElement=re,r.sortObject=Te,r.sortObjectNew=ye,r.toast=N,r.useClipboard=J,r.useDatePicker=q,r.useForm=ne,r.useModal=G,r.useModalCore=oe,r.useMultiSelect=E,r.useSelect=X,r.useSwipeHandler=ie,r.useTable=Q,r.useToastTimer=ae,Object.defineProperty(r,Symbol.toStringTag,{value:"Module"})});
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { Component } from 'vue';
2
2
  import { ComponentOptions } from 'vue';
3
- import { ComponentOptionsMixin } from 'vue';
4
3
  import { ComponentProvideOptions } from 'vue';
5
4
  import { ComputedOptions } from 'vue';
6
5
  import { ComputedRef } from 'vue';
@@ -8,7 +7,6 @@ import { DefineComponent } from 'vue';
8
7
  import { FunctionalComponent } from 'vue';
9
8
  import { MethodOptions } from 'vue';
10
9
  import { ModelRef } from 'vue';
11
- import { PublicProps } from 'vue';
12
10
  import { Ref } from 'vue';
13
11
  import { ShallowRef } from 'vue';
14
12
  import { UnwrapRef } from 'vue';
@@ -25,6 +23,8 @@ export declare interface BreadCrumbItem {
25
23
  icon?: Component;
26
24
  }
27
25
 
26
+ declare function close_2(): void;
27
+
28
28
  export declare const CompareStrategies: {
29
29
  stringInsensitive: (a: any, b: any) => number;
30
30
  date: (a: any, b: any) => number;
@@ -53,26 +53,6 @@ export declare interface ContextMenuItem {
53
53
  icon?: Component;
54
54
  }
55
55
 
56
- export declare function createModalCore(): {
57
- isOpen: Ref<boolean, boolean>;
58
- isAnimating: Ref<boolean, boolean>;
59
- animationTime: Ref<number, number>;
60
- props: Record<string, any>;
61
- component: ShallowRef<null, null> | ShallowRef<ComponentOptions<any, any, any, ComputedOptions, MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, ComponentOptions<any, any, any, ComputedOptions, MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>> | ShallowRef<FunctionalComponent<any, {}, any, {}>, FunctionalComponent<any, {}, any, {}>> | ShallowRef<{
62
- new (...args: any[]): any;
63
- __isFragment?: never;
64
- __isTeleport?: never;
65
- __isSuspense?: never;
66
- }, {
67
- new (...args: any[]): any;
68
- __isFragment?: never;
69
- __isTeleport?: never;
70
- __isSuspense?: never;
71
- }>;
72
- open: (comp: Component, newProps?: Record<string, any>) => void;
73
- close: () => void;
74
- };
75
-
76
56
  declare interface DatePickerProps {
77
57
  model?: ModelRef<string | undefined>;
78
58
  defaultDate?: string;
@@ -192,6 +172,8 @@ declare class Observer {
192
172
  warning: (message: string, options?: ToastOptions) => string;
193
173
  }
194
174
 
175
+ declare function open_2(comp: Component, newProps?: Record<string, any>): void;
176
+
195
177
  export declare interface PopoverItem {
196
178
  text?: string;
197
179
  title?: string;
@@ -273,18 +255,6 @@ export declare const TOAST_LIFE = 3000;
273
255
 
274
256
  export declare const TOAST_WIDTH = 0;
275
257
 
276
- export declare const ToastController: DefineComponent<ToastControllerProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ToastControllerProps> & Readonly<{}>, {
277
- position: ToastPostion;
278
- maxVisibleToasts: number;
279
- layout: "default" | "expanded";
280
- defaultLife: number;
281
- viewportOffset: string | number;
282
- mobileViewportOffset: string | number;
283
- paddingBetweenToasts: number;
284
- }, {}, {}, {}, string, ComponentProvideOptions, false, {
285
- container: HTMLOListElement;
286
- }, any>;
287
-
288
258
  export declare interface ToastControllerProps {
289
259
  layout?: 'default' | 'expanded';
290
260
  position?: ToastPostion;
@@ -404,6 +374,26 @@ export declare function useModal(props: ModalProps): {
404
374
  submitText?: string | undefined;
405
375
  };
406
376
 
377
+ export declare function useModalCore(): {
378
+ isOpen: Ref<boolean, boolean>;
379
+ isAnimating: Ref<boolean, boolean>;
380
+ animationTime: Ref<number, number>;
381
+ props: Record<string, any>;
382
+ component: ShallowRef<null, null> | ShallowRef<ComponentOptions<any, any, any, ComputedOptions, MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>, ComponentOptions<any, any, any, ComputedOptions, MethodOptions, any, any, any, string, {}, {}, string, {}, {}, {}, string, ComponentProvideOptions>> | ShallowRef<FunctionalComponent<any, {}, any, {}>, FunctionalComponent<any, {}, any, {}>> | ShallowRef<{
383
+ new (...args: any[]): any;
384
+ __isFragment?: never;
385
+ __isTeleport?: never;
386
+ __isSuspense?: never;
387
+ }, {
388
+ new (...args: any[]): any;
389
+ __isFragment?: never;
390
+ __isTeleport?: never;
391
+ __isSuspense?: never;
392
+ }>;
393
+ open: typeof open_2;
394
+ close: typeof close_2;
395
+ };
396
+
407
397
  export declare function useMultiSelect({ options, defaultItems }: {
408
398
  options: any;
409
399
  defaultItems: any;
package/package.json CHANGED
@@ -1,6 +1,25 @@
1
1
  {
2
2
  "name": "@aminnausin/cedar-ui",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
+ "license": "MIT",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "https://github.com/aminnausin/cedar-ui.git",
8
+ "directory": "packages/cedar-ui"
9
+ },
10
+ "publishConfig": {
11
+ "registry": "https://registry.npmjs.org/"
12
+ },
13
+ "keywords": [
14
+ "vue",
15
+ "ui",
16
+ "components",
17
+ "shadcn",
18
+ "cedar-ui",
19
+ "tailwind",
20
+ "typescript",
21
+ "pines-ui"
22
+ ],
4
23
  "main": "./dist/cedar-ui.umd.mjs",
5
24
  "module": "./dist/cedar-ui.mjs",
6
25
  "types": "./dist/index.d.ts",
@@ -12,17 +31,10 @@
12
31
  }
13
32
  },
14
33
  "files": [
15
- "./dist"
34
+ "./dist",
35
+ "LICENSE",
36
+ "README.MD"
16
37
  ],
17
- "scripts": {
18
- "dev": "vite",
19
- "build": "npm run type-check && npm run build-only",
20
- "preview": "vite preview",
21
- "build-only": "vite build",
22
- "type-check": "vue-tsc --build",
23
- "lint": "eslint . --fix",
24
- "format": "prettier --write src/"
25
- },
26
38
  "dependencies": {
27
39
  "@tailwindcss/aspect-ratio": "^0.4.2",
28
40
  "@tailwindcss/forms": "^0.5.10",
@@ -57,5 +69,17 @@
57
69
  "vite-plugin-dts": "^4.5.4",
58
70
  "vite-plugin-vue-devtools": "^7.7.7",
59
71
  "vue-tsc": "^2.2.12"
72
+ },
73
+ "scripts": {
74
+ "dev": "vite",
75
+ "build": "npm run type-check && npm run build-only",
76
+ "preview": "vite preview",
77
+ "build-only": "vite build",
78
+ "type-check": "vue-tsc --build",
79
+ "lint": "eslint . --fix",
80
+ "format": "prettier --write src/",
81
+ "pub:beta": "pnpm build && pnpm publish --no-git-checks --access public --tag beta",
82
+ "pub:next": "pnpm build && pnpm publish --no-git-checks --access public --tag next",
83
+ "pub:release": "pnpm build && pnpm publish --no-git-checks --access public"
60
84
  }
61
- }
85
+ }