@aminnausin/cedar-ui 0.0.2 → 0.0.3
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/LICENSE +21 -21
- package/README.md +26 -26
- package/dist/cedar-ui.css +1 -1
- package/dist/cedar-ui.mjs +389 -756
- package/dist/cedar-ui.umd.js +1 -1
- package/dist/index.d.ts +0 -14
- package/package.json +36 -12
package/dist/cedar-ui.umd.js
CHANGED
|
@@ -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 Se=Object.defineProperty;var De=(r,o,E)=>o in r?Se(r,o,{enumerable:!0,configurable:!0,writable:!0,value:E}):r[o]=E;var b=(r,o,E)=>De(r,typeof o!="symbol"?o+"":o,E);function E({options:i,defaultItems:e},t){const l=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 c=document.getElementById(s+"-"+this.selectId);c&&(c.scrollIntoView({behavior:"smooth",block:"center"}),a&&c.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,c=-1;for(const f of this.selectableItems){let v=f.name.toLowerCase().indexOf(s);v>-1&&(c==-1||v<c)&&!f.disabled&&(a=f,c=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=()=>{l.selectOpen&&l.selectPositionUpdate()};return o.watch(()=>l.selectOpen,function(s){if(l.selectedItems?l.selectableItemActive=l.selectedItem:l.selectableItemActive=l.selectableItems[0],!s){window.removeEventListener("resize",n);return}n(),window.addEventListener("resize",n)},{immediate:!1}),l}function K(i,e,t){var V;const l=o.ref(!1),n=o.ref(((V=i.model)==null?void 0:V.value)??i.defaultDate??""),s=o.ref("F d, Y"),a=o.ref(0),c=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]}),ve=o.computed(()=>{const u=Math.floor(c.value/10)*10;return Array.from({length:10},(T,g)=>u+g)});function we(u){l.value=u??!l.value,w.value="D"}function ge(u="D"){w.value=u}function A(u){const T=I[u.getDay()],g=("0"+u.getDate()).slice(-2),D=h[u.getMonth()],B=D.substring(0,3),F=("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} ${B}, ${p}`;case"Y M d":return`${p} ${B} ${g}`;case"MM-DD-YYYY":return`${F}-${g}-${p}`;case"DD-MM-YYYY":return`${g}-${F}-${p}`;case"YYYY-MM-DD":return`${p}-${F}-${g}`;case"D d M, Y":return`${T} ${g} ${B} ${p}`;default:return`${D} ${g}, ${p}`}}function be(u){switch(w.value){case"Y":c.value=u,w.value="M";break;case"M":a.value=u,w.value="D",O();break;default:f.value=u,n.value=A(new Date(c.value,a.value,u)),l.value=!1,i.model&&(i.model.value=n.value);break}}function Ie(){switch(w.value){case"Y":c.value-=10;break;case"M":c.value-=1;break;default:a.value===0?(c.value--,a.value=11):a.value--,O();break}}function Te(){switch(w.value){case"Y":c.value+=10;break;case"M":c.value+=1;break;default:a.value===11?(a.value=0,c.value++):a.value++,O();break}}function ye(u){const T=new Date(c.value,a.value,u);return n.value===A(T)}function pe(u){const T=new Date,g=new Date(c.value,a.value,u);return T.toDateString()===g.toDateString()}function O(){const u=new Date(c.value,a.value+1,0).getDate(),T=new Date(c.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 M(){if(!e.value||!t.value||!l.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 N(u,T=!0){a.value=u.getMonth(),c.value=u.getFullYear(),f.value=u.getDate(),T&&(n.value=A(u)),O()}function $(){if(n.value)return N(new Date(Date.parse(n.value)));N(new Date,i.useDefaultDate)}return o.onMounted(()=>{$()}),o.watch(l,async u=>{if(!u){window.removeEventListener("resize",M);return}await o.nextTick(),$(),M(),window.addEventListener("resize",M)}),{datePickerInput:e,datePickerCalendar:t,datePickerOpen:l,datePickerValue:n,datePickerPanel:w,datePickerFormat:s,datePickerMonth:a,datePickerMonthVerbose:S,datePickerYear:c,datePickerDecade:ve,datePickerDay:f,datePickerDaysInMonth:d,datePickerBlankDaysInMonth:v,datePickerMonthNames:h,datePickerDays:I,datePickerPosition:m,toggleDatePicker:we,datePickerValueClicked:be,datePickerPrevious:Ie,datePickerNext:Te,datePickerIsSelectedDate:ye,datePickerIsToday:pe,showDatePickerPanel:ge}}function C(i="pv_id_"){return i+Math.random().toString(16).slice(2)}class j{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 l=t.id??C("toast_");return this.toasts.find(s=>s.id===l)?this.toasts=this.toasts.map(s=>s.id===l?(this.publish({...s,...t,id:l,title:e}),{...s,...t,id:l,title:e}):s):this.addToast({title:e,id:l,scale:1,zIndex:200,offsetY:0,...t}),l});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 j;function R(i,e){const t=C("toast_");return y.create(i,{...e,id:t}),t}const L=Object.assign(R,{add:y.add,success:y.success,error:y.error,info:y.info,warning:y.warning,dismiss:y.dismiss});function H(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(l){console.error(l),L.error("Error",{description:"Unable to copy. Network is not secure."})}}}}function U(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 c of this.selectableItems){let d=c.title.toLowerCase().indexOf(n);d>-1&&(a==-1||d<a)&&!c.disabled&&(s=c,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"}}),l=()=>{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",l);return}window.setTimeout(function(){t.selectScrollToActiveItem()},10),l(),window.addEventListener("resize",l)},{immediate:!1}),t}function x(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),l=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:l},handlePageChange(s){e.value=s},handlePageReset(){e.value=1}});return o.watch(()=>i.data,(s,a)=>{var c,f;((s==null?void 0:s.length)!==(a==null?void 0:a.length)||s[0]&&a[0]&&((c=s[0])==null?void 0:c.id)!==((f=a[0])==null?void 0:f.id))&&n.handlePageReset()},{immediate:!0}),n}function W(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var P,k;function z(){return k||(k=1,P=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 l,n,s;if(Array.isArray(e)){if(l=e.length,l!=t.length)return!1;for(n=l;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),l=s.length,l!==Object.keys(t).length)return!1;for(n=l;n--!==0;)if(!Object.prototype.hasOwnProperty.call(t,s[n]))return!1;for(n=l;n--!==0;){var a=s[n];if(!i(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}),P}var J=z();const X=W(J);function G(i){let e=i,t;const l=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 c=>{this.clearErrors(),this.wasSuccessful=!0,this.recentlySuccessful=!0,t=window.setTimeout(()=>{this.recentlySuccessful=!1},2e3),s.onSuccess&&await s.onSuccess(c),e=structuredClone(this.fields)},onError:async c=>{var f,d,v,m,h;this.hasErrors=!0,(((f=c==null?void 0:c.response)==null?void 0:f.status)===422||((d=c==null?void 0:c.response)==null?void 0:d.status)===401)&&(this.clearErrors(),this.setErrors({message:(v=c==null?void 0:c.response)==null?void 0:v.data.message,...(h=(m=c==null?void 0:c.response)==null?void 0:m.data)==null?void 0:h.errors})),s.onError&&await s.onError(c)},onFinish:async()=>{this.processing=!1,s.onFinish&&await s.onFinish()}};await a.onBefore();try{const c=await n(this.fields);await a.onSuccess(c)}catch(c){await a.onError(c)}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(()=>l.fields,()=>{l.dirty=!X(l.fields,e)},{immediate:!0,deep:!0}),l}function Q({directions:i,threshold:e,onSwipeOut:t}){const l=o.ref(!1),n=o.ref({x:0,y:0}),s=o.ref(),a=o.ref({x:0,y:0}),c=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},l.value=!0)}function d(m){if(!l.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*c(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*c(w);h.y=Math.abs(S)<Math.abs(w)?S:w}n.value=h}function v(){if(!l.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}l.value=!1,n.value={x:0,y:0}}return{offset:n,isSwiping:l,onPointerDown:f,onPointerMove:d,onPointerUp:v}}function Z({duration:i,isPaused:e,onTimeout:t,immediate:l=!0}){const n=o.ref(),s=o.ref(0),a=o.ref(i);function c(){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}c()},{immediate:l}),o.onBeforeUnmount(()=>{d()}),{cancel:d}}function ee(){const i=o.ref(!1),e=o.ref(!1),t=o.ref(300),l=o.ref(null),n=o.reactive({}),s=o.shallowRef(null);function a(f,d={}){l.value&&clearTimeout(l.value),s.value=f,Object.assign(n,d),e.value=!0,i.value=!0,l.value=window.setTimeout(()=>{i.value=!1},t.value)}function c(){l.value&&clearTimeout(l.value),e.value=!1,i.value=!0,l.value=window.setTimeout(()=>{i.value=!1},t.value)}return{isOpen:e,isAnimating:i,animationTime:t,props:n,component:s,open:a,close:c}}function te(i,e){if(!i)return!1;let t=["INPUT","TEXTAREA","SELECT"];return(e===" "||e==="Enter")&&(t=[...t,"BUTTON"]),t.includes(i.tagName)}const se=3,ne="24px",ie="16px",ae=0,le=3e3,ce=16,oe=45,re=10,ue=.06,fe=16,_={stringInsensitive:(i,e)=>Y(i).localeCompare(Y(e)),date:(i,e)=>new Date(i).getTime()-new Date(e).getTime(),number:(i,e)=>parseFloat(i)-parseFloat(e)};function Y(i){return String(i??"").toLowerCase().replace(/\s+/g," ").trim()}function de(i,e=1,t=["date","date_released"]){return(l,n)=>{const s=l[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 c=parseFloat(s),f=parseFloat(a);return!isNaN(c)&&!isNaN(f)?(c-f)*e:String(s).toLowerCase().replace(/\s+/g," ").localeCompare(String(a).toLowerCase().replace(/\s+/g," "))*e}}function me(i,e=1){return(t,l)=>{for(const{key:n,compareFn:s}of i){const a=n?t[n]??"":void 0,c=n?l[n]??"":void 0;let f;if(s?f=n?s(a,c):s(t,l):f=he(a,c),f!==0)return f*e}return 0}}function he(i,e){const t=parseFloat(i),l=parseFloat(e);if(!isNaN(t)&&!isNaN(l))return t-l;const n=new Date(i),s=new Date(e);return!isNaN(n.getTime())&&!isNaN(s.getTime())?n.getTime()-s.getTime():_.stringInsensitive(i,e)}r.CompareStrategies=_,r.DEFAULT_GAP=ce,r.MOBILE_VIEWPORT_OFFSET=ie,r.SCALE_STEP=ue,r.SWIPE_THRESHOLD=oe,r.TOAST_LIFE=le,r.TOAST_WIDTH=ae,r.ToastState=y,r.VIEWPORT_OFFSET=ne,r.VISIBLE_TOASTS_AMOUNT=se,r.Y_OFFSET_STEP=fe,r.Z_STEP=re,r.createModalCore=ee,r.isInputLikeElement=te,r.sortObject=de,r.sortObjectNew=me,r.toast=L,r.useClipboard=H,r.useDatePicker=K,r.useForm=G,r.useModal=x,r.useMultiSelect=E,r.useSelect=U,r.useSwipeHandler=Q,r.useTable=q,r.useToastTimer=Z,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';
|
|
@@ -273,18 +271,6 @@ export declare const TOAST_LIFE = 3000;
|
|
|
273
271
|
|
|
274
272
|
export declare const TOAST_WIDTH = 0;
|
|
275
273
|
|
|
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
274
|
export declare interface ToastControllerProps {
|
|
289
275
|
layout?: 'default' | 'expanded';
|
|
290
276
|
position?: ToastPostion;
|
package/package.json
CHANGED
|
@@ -1,6 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aminnausin/cedar-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
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
|
+
}
|